When utilizing the HTML5 ability to specify if/how files are cached (in the manifest.cache file), are specifying entire directories possible? Can I place a path to my images directory under the CACHE: section and have it apply to all files in that directory, or do I need to explicitly specify the image files to be cached?
In other words, is this possible?
CACHE MANIFEST
...
CACHE:
images/
... or maybe this?
CACHE MANIFEST
...
CACHE:
images/*
... or do I have to do this:
CACHE MANIFEST
...
CACHE:
images/logo.png
images/image01.jpg
images/image02.jpg
images/image03.jpg
... (etc)
Unfortunately, the third example is the correct one - list every file individually. The html5 doctor article was incorrect at the time the question was posted and has since been amended.
A wildcard * is allowed only in the "online white list" section:
NETWORK:
*
which allows any required files to be downloaded while you are browsing online if not already downloaded (as per normal).
There is also the Fallback section's "page path pattern":
FALLBACK:
/ /offline.html
that kinda works like a wildcard. The initial / will match the path to every page on your site, so any page that is not found in the cache will then use the /offline.html as the replacement fallback. (Note the space between the two slashes.)
I think you could achieve a 'wildcard' by building the .manifest (or .cache in your example) file with the help of a PHP file. This way you could let PHP handle the hassle of maintaining the filenames by scanning directories en echo'ing each filename. Probably best to actually let PHP put a .manifest file on your server, otherwise the offline App could think the manifest file got updated and continually refreshed the cache.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With