app.templates.offlinePage = (docs) -> """
Offline Documentation
Documentation |
Size |
Status |
Action |
#{docs}
Questions & Answers
- How does this work?
- Each page is cached as a key-value pair in IndexedDB (downloaded from a single file).
The app also uses AppCache and localStorage to cache the assets and index files.
- Can I close the tab/browser?
- #{canICloseTheTab()}
- What if I don't update a documentation?
- You'll see outdated content and some pages will be missing or broken, since the rest of the app (including data for the search and sidebar) uses a different caching mechanism and is updated automatically.
Documentation versioning is planned for the future but not yet supported, sorry.
- I found a bug, where do I report it?
- In the issue tracker. Thanks!
- How do I uninstall/reset the app?
- Click here.
- Why aren't all documentations listed above?
- You have to enable them first.
"""
canICloseTheTab = ->
if app.AppCache.isEnabled()
""" Yes! Even offline, you can open a new tab, go to devdocs.io, and everything will work as if you were online (provided you installed all the documentations you want to use beforehand).
Note that loading any page other than devdocs.io directly won't work (due to limitations in AppCache). """
else if app.mozApp
""" Yes! Even offline, you can open the app and everything will work as if you were online (provided you installed all the documentations you want to use beforehand). """
else
""" No. AppCache isn't available in your browser (or is disabled) so loading devdocs.io offline won't work.
The current tab will continue to work, though (provided you installed all the documentations you want to use beforehand). """
app.templates.offlineDoc = (doc, status) ->
outdated = doc.isOutdated(status)
html = """
#{doc.name} |
#{Math.ceil(doc.db_size / 100000) / 10} MB |
"""
html += if !status.installed
"""
- |
Install |
"""
else if outdated
"""
Outdated |
Update - Uninstall |
"""
else
"""
Up-to-date |
Uninstall |
"""
html + '
'