Clean URLs Plugin for DocPad
Adds support for clean URLs to DocPad
docpad install cleanurls
In non-static environments we work by setting the document's url to it's clean url. This means that redirection occurs on the dynamic server level.
static environment (i.e. when running docpad with the
--env static flag, e.g. running
docpad generate --env static) we will set the
static plugin configuration option to
true. This will in addition to performing redirections via the built-in dynamic server within DocPad for speed, we will also write special static redirection HTML files to the output directory, that will redirect the user to the new clean location (e.g. the document
pages/welcome.html will not we outputted to
pages/welcome.html now being a special HTML redirect document to the clean location).
If you would like to always use the static mode, you can set the
static plugin configuration option to true with:
plugins: cleanurls: static: true
If you would like to disable the static mode for the static environment, you can do so with:
environments: static: plugins: cleanurls: static: false
If you would like to disable clean urls completely (not just the static mode) in the static environment, you can do so with:
environments: static: plugins: cleanurls: enabled: false
Enable this plugin configuration option to generate
'/beep/' instead of
/beep. Defaults to
You can use this plugin configuration option (defaults to
html) to tell the cleanurls plugin to use your own custom collection for which documents to apply cleanurls to.
For insstance, if you are wanting to remove all cleanurls for all documents that have
cleanurls: false in the meta data, then you could do the following in your docpad configuration file:
# Define a custom collection for cleanurls that ignores the documents we don't want collections: cleanurls: -> @getCollection('html').findAllLive(cleanurls: $ne: false) # Tell our clean urls plugin to use this collection plugins: cleanurls: collectionName: 'cleanurls'
These amazing people are maintaining this project:
No sponsors yet! Will you be the first?
These amazing people have contributed code to this project:
- Benjamin Lupton email@example.com — view contributions
- hurrymaplelad — view contributions
- misterdai — view contributions
- RobLoach — view contributions
- stongo — view contributions
- zenorocha — view contributions