This is a plugin for Metalsmith that copies files matching a
based on either a
transform function or a
of metalsmith-copy as a file converter plugin like metalsmith-markdown, but it
doesn't make any changes to the content and name changes are programmatically
specified in its options.
If using the CLI for Metalsmith, metalsmith-copy can be used like any other
plugin by including it in
metalsmith.json. For example:
Note that the
transform option cannot be used, as JSON doesn't serialize
var copy = ;__dirname;
metalsmith-copy requires a
pattern option as well as at least one of the
patternis a globbing pattern that specifies which files to copy.
extensionis an extension (starting with
.) that replaces the file's current last extension.
directoryis a directory relative to the build directory for the new file to be copied.
directoryand is a function which takes one argument (the path to the file being copied) and returns a new path for the file to be copied to.
moveis boolean value indicating files should be moved instead of copied.
forceis a boolean value that will force overwriting destination files. By default, this is false and overwrites will generate errors.
ignoreis a globbing pattern that ignores files, overriding a match with
If you're running a blog, perhaps you want to mimic John Gruber's articles,
where he provides both an HTML version of his article and a Markdown version
.text). To set this up with metalsmith-copy, provide the
following options to the plugin:
To move all files in a given folder to the root of your build directory, you could try the following options: