Awesome
render-appcache-manifest
Renders HTML5 application cache manifest.
See also parse-appcache-manifest.
Usage
npm install render-appcache-manifest
Generate Manifest from Direct Object
renderManifest = require "render-appcache-manifest"
renderManifest(contents)
renderManifest
returns the rendered manifest as a string.
contents
is an object that can have the following properties, all optional:
cache
- an array of entries (urls) you want in theCACHE
section.network
- an array of entries (urls or url-patterns, using wildcards) you want in theNETWORK
sectionfallback
- an object with key-value pairs where key is the url or url-pattern to capture, and value is the fallback url. They will appear in theFALLBACK
section.settings
- an array of settings. Currently the only value that appcaches understand isprefer-online
orfast
which refers to the caching mode enabled. See http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html#parsing-cache-manifests for full details.unique
- if set to a truthy value, will add result ofMath.random()
as a comment, guaranteeing uniqueness.lastModified
- aDate
object. Will be used to generate a "Last modified at" comment.comment
- a comment string.comments
- an array of comment strings, each comment will take up one line.
There's no way to control layout of the generated manifest. The output will be generally neat.
render-appcache-manifest will not validate the correctness of input. You are responsible for providing corrent urls or url-patterns, where appropriate. Also, adding a multi-line string as a comment will break the manifest.
Generate Manifest from Tokens
If you need fine grained control over the rendering process, you may pass in a list of ordered tokens to render a manifest. The tokens are generated by https://github.com/meryn/parse-appcache-manifest, but you can just as easily craft your own token list provided the format matches.
appcacheRender = require 'render-appcache-manifest'
out = appcacheRender tokens
Development
To compile the code:
npm install # once, to get the dev dependencies
make build
To test the code:
npm test
Credits
The initial structure of this module was generated by Jumpstart, using the Jumpstart Black Coffee template.
Tokenizing support, settings support, whatwg spec conformance, and updated documentation from https://github.com/mreinstein.
License
render-appcache-manifest is released under the MIT License.
Copyright (c) 2013 Meryn Stol, Michael Reinstein