Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Renders HTML5 application cache manifest.
branch: master


latest commit 4dee3bce0e
@meryn authored
Failed to load latest commit information.
fixtures added test for rendering from tokens. removed unneccessary line from …
lib Tweak code. Add support for passing tokens as data.tokens, which mean…
.gitignore removed lib/ from the .gitignore file. This needs to be checked in, o…
.npmignore added test for rendering from tokens. removed unneccessary line from …
.tm_properties jumpstart commit.
.travis.yml jumpstart commit.
AUTHORS Add @mreinstein as author.
Makefile Improve development instructions.
license.txt jumpstart commit.
package.json 0.3.0

render-appcache-manifest Build Status Dependency Status

Renders HTML5 application cache manifest.

See also parse-appcache-manifest.


npm install render-appcache-manifest

Generate Manifest from Direct Object

renderManifest = require "render-appcache-manifest"

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 the CACHE section.
  • network - an array of entries (urls or url-patterns, using wildcards) you want in the NETWORK section
  • fallback - 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 the FALLBACK section.
  • settings - an array of settings. Currently the only value that appcaches understand is prefer-online or fast which refers to the caching mode enabled. See for full details.
  • unique - if set to a truthy value, will add result of Math.random() as a comment, guaranteeing uniqueness.
  • lastModified - a Date 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, but you can just as easily craft your own token list provided the format matches.

appcacheRender = require 'render-appcache-manifest'
out = appcacheRender tokens


To compile the code:

npm install # once, to get the dev dependencies
make build

To test the code:

npm test


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


render-appcache-manifest is released under the MIT License.
Copyright (c) 2013 Meryn Stol, Michael Reinstein

Something went wrong with that request. Please try again.