Metalsmith Paths
A Metalsmith plugin that adds file path values (base
, dir
, ext
, name
, href
) to metadata path
property.
Install
npm install metalsmith-paths
API
const metalsmith = new Metalsmith(__dirname)
.use(paths({
property: "paths"
}))
given the following directory structure:
src/
└── blog
└── post.html
The 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