0.0.2 • Published 10 years ago
metalsmith-collection-scoping v0.0.2
metalsmith-collection-scoping
A Metalsmith plugin that lets you apply scoping to collections.
Features
- Mark collections as private and specify at build time whether to include them
- Remove private files from their collections when running in a non-private scope
- Propagate private collections down to matching files, for use in metalsmith-scoping
Installation
$ npm install metalsmith-collection-scopingUsage
This plugin is meant to be used with two existing plugins: metalsmith-collections and metalsmith-scoping. For example:
{
"plugins": {
"metalsmith-collections": {
"articles": {
"sortBy": "date",
"reverse": true
},
"secrets": {
"metadata": {
"private": true
}
}
},
"metalsmith-collection-scoping": {
"scope": "public"
}
}
}will remove the "secrets" collection from the metalsmith metadata.
If you also want the files in the "secrets" collection to be private, you can add the "propagate" option and include metalsmith-scoping:
{
"plugins": {
"metalsmith-collections": {
"articles": {
"sortBy": "date",
"reverse": true
},
"secrets": {
"metadata": {
"private": true
}
}
},
"metalsmith-collection-scoping": {
"scope": "public",
"propagate": true
},
"metalsmith-scoping": {
"scope": "public"
}
}
}which will set the "private" property on each of the files in the "secrets" collection. Then metalsmith-scoping will detect this and hide those files.
Options
scopeis the same as the same option in metalsmith-scoping. When set toprivateit will include private collections, otherwise discard them. Default is to discard private collections.propagatedetermines whether to propagate private collection scopes to matching files. Default isfalse. This option can be used independently of thescopeoption.
See the tests for more examples.
Where do we use this? On our developer portal!