GithubHelp home page GithubHelp logo

Comments (2)

mykmelez avatar mykmelez commented on August 19, 2024

Currently, the offfline-manager register assuming it is included inside the index.html document at the root of the site (independently of the root being / or /gh-repo-name/ as it uses.

Indeed, you might call this the "single-page app" assumption. It wasn't a conscious decision, just a consequence of the bias towards SPAs in the reference apps we built while developing the first version of Oghliner.

GitHub Pages isn't SPA-specific, and it's a reasonable host for multi-page apps (provided they don't have a server-side application layer). So I agree that Oghliner should support management of the offline worker from multiple pages of the site.

But if the user want to provide update checking from other pages not in the root of the site, the offline-manager need to reference the actual path for the worker without assumptions, the site-root option allows the manager to exactly know where the service worker is located.

Yes, site-root is a good solution to this problem!

Its only limitation is that it ties the app to a particular path, whereas sites can sometimes have multiple paths. For example, my Egg Timer app is available at both https://eggtimer.org/ and https://mykmelez.github.io/eggtimer/. And when developing it locally, I sometimes start a web server with a root directory set to the app's build directory, so its URL is http://localhost/; but other times I set the root directory above the build directory, and its URL is http://localhost/path/to/build/dir/.

Nevertheless, I don't actually want people to use https://mykmelez.github.io/eggtimer/ (and in fact I should redirect that URL to the other one). And I can work around any limitation when developing locally simply by setting the web server's root directory consistently.

Plus, Egg Timer is a poor example here, since it's an SPA that doesn't need this feature. And I don't know of a better approach than site-root anyway; anything we did to accommodate multiple possible root paths would be significantly more complicated.

So I think we should do it!

from oghliner.

delapuente avatar delapuente commented on August 19, 2024

To be working on a Jekyll static site using oghliner is enlightening to come up with these kind of issues as I was used to work in SPAs too.

from oghliner.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.