0.2.4 • Published 10 years ago

metalsmith-basename v0.2.4

Weekly downloads
-
License
MIT
Repository
-
Last release
10 years ago

metalsmith-basename

A Metalsmith plugin that adds file's basename as a metadate for the file, making it available for example for permalinks and helps to generate files based on it.

npm i -D metalsmith-basename
basename({
  pattern: ['**/*.html'],
  verbose: true
})

opts.pattern (array)

Process only selected documents. Example:

basename({ 
  pattern: ['**/*', '!test-**.md'] 
})

opts.verbose (boolean)

Log the files that gets processed and skipped. Defaults to false.

Example

Example usage of plugin with others.

Installation:

npm i -D metalsmith \
  harmonize \
  gulp-load-plugins \
  metalsmith-markdown-remarkable \
  metalsmith-permalinks \
  metalsmith-basename 

Documents:

src/
  my-document.md
  my another document.md
package.json

Building:

// Harmonize is required with metalsmith when using node <= 0.12 
require('harmonize')();
var Metalsmith = require('metalsmith');
var loadPlugins = require('gulp-load-plugins');

// Using gulp plugin loader to load metalsmith plugins
var plugins = loadPlugins({
  pattern: ['metalsmith-*', 'metalsmith.*'],
  replaceString: /^metalsmith(-|\.)/,
});

new Metalsmith(__dirname)
  .use(plugins.markdownRemarkable({
    html: true
  }))
  .use(plugins.basename({
    pattern: ['**/*.html'],
    verbose: false
  }))
  .use(plugins.permalinks({
    // Using basename as output path
    pattern: ':basename'
  }))
  .build(function(err) {
    if (err) {
      console.error(err);
    }
  });

Output:

build/
  my-document/index.html
  my-another-document/index.html
src/
  my-document.md
  my another document.md
package.json

License

MIT licensed

0.2.4

10 years ago

0.2.3

10 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago