metalsmith-paths
v4.0.6
Published
A metalsmith plugin that adds file path values to metadata
Downloads
1,205
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-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