metalsmith-paths
v4.0.6
Published
A metalsmith plugin that adds file path values to metadata
Maintainers
Readme
Metalsmith Paths
A Metalsmith plugin that adds file path values (base, dir, ext, name, href) to metadata path property.
Install
npm install metalsmith-pathsAPI
const metalsmith = new Metalsmith(__dirname)
.use(paths({
property: "paths"
}))given the following directory structure:
src/
└── blog
└── post.htmlThe following metadata will be generated:
| metadata | value |
|--------------|-------------------|
| path.base | post.html |
| path.dir | blog |
| path.ext | .html |
| path.name | post |
| path.href | /blog/post.html |
| path.dhref | /blog/ |
CLI
You can also use the plugin with the Metalsmith CLI by adding a key to your metalsmith.json file:
{
"plugins": {
"metalsmith-paths": {
"property": "paths"
}
}
}Options
| name | description | default |
|------------------|------------------------------------|----------|
| property | property to store the path data to | path |
| directoryIndex | remove the filename if it matches | disabled |
| winToUnix | exchange \ for / on Windows | true |
directoryIndex
Removes the filename from the href attribute if it matches the value of
directoryIndex. Default: disabled. For example, the following configuration:
{
"plugins": {
"metalsmith-paths": {
"property": "path",
"directoryIndex": "index.html"
}
}
}Would produce the following filenames:
| Filename | path.href |
|----------------------------|----------------------------|
| /index.html | / |
| /portfolio/index.html | /portfolio/ |
| /portfolio/project1.html | /portfolio/project1.html |
| /portfolio/project2.html | /portfolio/project2.html |
Author: Ahmad Nassri • Twitter: @AhmadNassri
