All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
This document follows the guidelines of Keep A Changelog.
- Drops support for Node < 14.18.0 (4 minor versions) to be able to use 'node:' protocol imports"
b170cf0
- Updated README.md code samples, links, and troubleshooting section
- Dependencies:
774a164
chokidar
: 3.5.3 ▶︎ 3.6.0
- Fixes ms.watch(false) unreliable behavior when the build errors.
0d8d791
- TS fixes: add generic to Metalsmith.File, bring back Metalsmith.DoneCallback, add Metalsmith.Plugin promise signature
3ae6275
- #394 Avoid leaking unhandled rejections in build/watch promises.
cac48fc
,5b48dce
- Fix a typo in CLI help message
642a176
- Documents metalsmith.watch() getter signature in TS
34239d9
- Normalizes ms.watch().paths to an array, allows access to a subset of chokidar options as advertised
a719025
- Sets chokidar watchOption awaitWriteFinish to false, and batch timer to 0 to speed up watching
5a516b2
- Fixes #389: ensure not missing watcher ready event to successfully launch build
23b0944
- Fixes formatting issue in types JSdoc comments
05265ce
- #356 Added Typescript support
58d22a3
- Added --debug and --dry-run options to metalsmith (build) command
2d84fbe
- Added --env option to metalsmith (build) command
9661ddc
- Added Metalsmith CLI support for loading a .(c)js config. Reads from metalsmith.js as second default after metalsmith.json
45a4afe
- Added support for running (C/M)JS config files from CLI
424e6ec
- Dependencies:
- Modernized Metalsmith CLI, prepared transition to imports instead of require
24fcffb
4929bc2
- Dependencies:
- Fixes a duplicate empty input check in metalsmith.match
60e173a
- Gray-matter excerpts are removed from contents instead of being duplicated to the
excerpt
property2bfe800
- Gray-matter excerpts are trimmed
acb363e
- Dependencies:
774a164
debug
: 4.3.3 ▶︎ 4.3.4
- Clarified semver policy in README.md
- Added SECURITY.md
- Fixes #373: do not crash when postinstall script fails in specific environments
Important note to metalsmith-watch users: Although 2.5.0 is a semver-minor release, it breaks compatibility with metalsmith-watch, which relies on the Metalsmith < 2.4.x private method signature using the outdated unyield package. See issue #374 for more details.
- #354 Added
Metalsmith#env
method. Supports passingDEBUG
andDEBUG_LOG
amongst others. SetsCLI: true
when run from the metalsmith CLI.b42df8c
,446c676
,33d936b
,4c483a3
- #356 Added
Metalsmith#debug
method for creating plugin debuggers - #362 Upgraded all generator-based methods (
Metalsmith#read
,Metalsmith#readFile
,Metalsmith#write
,Metalsmith#writeFile
,Metalsmith#run
andMetalsmith#process
) to dual callback-/ promise-based methods16a91c5
,faf6ab6
,6cb6229
- Added org migration notification to postinstall script to encourage users to upgrade
3a11a24
- Restructured and updated
README.md
0da0c4d
- #247 Calling
Metalsmith#metadata
no longer clones the object passed to it, overwriting the previous metadata, but merges it into existing metadata.
- #355 Proper path resolution for edge-cases using CLI, running metalsmith from outside or subfolder of
metalsmith.directory()
5d75539
- Dependencies:
774a164
micromatch
: 4.0.4 ▶︎ 4.0.5
- Updated README.md
- Fixes repeat
metalsmith.match
file cache in repeat runs without re-read, see metalsmith/layouts#183a727309
- Dependencies:
af9dec0
chalk
: 3.0.0 ▶︎ 4.1.2
- Updated README.md
Bugfix: include index.js in package.json files
2.4.0 - 2022-01-31
- #338 Added
Metalsmith#match
method. Plugins no longer need to require a matching library705c4bb
,f01c724
- #358 Added TS-style JSdocs
828b17e
- Use native
fs.rm
instead ofrimraf
when available (Node 14.4+)fcbb76e
,66e4376
- #226 Allow passing a gray-matter options object to
Metalsmith#frontmatter
a6438d2
- Modernized dev setup
ef7b781
- Added 8 new tests (match method, front-matter options, path & symbolic link handling)
- Files object file paths are now guaranteed to be sorted aphabetically.
4eb1184
- #211
Metalsmith#build
now returns a promise which you can attach athen/catch
to orawait
. The build callback model is still available.6d5a42d
-
Dependencies:
75e6878
chalk
: 1.1.3 ▶︎ 3.0.0gray-matter
: 2.0.0 ▶︎ 4.0.3stat-mode
: 0.2.0 ▶︎ 1.0.0rimraf
: 2.2.8 ▶︎ 3.0.2ware
: 1.2.0 ▶︎ 1.3.0commander
(used in CLI): 2.15.1 ▶︎ 6.2.1win-fork
(used in CLI): replaced withcross-spawn
:7.0.3
-
Updated
CHANGELOG.md
format to follow “Keep A Changelog” (#266) (@Zearin)
- #206
Metalsmith#ignore
now only matches paths relative toMetalsmith#source
(as it should). See linked issue for details4eb1184
- #226 Metalsmith will no longer 'swallow' errors on invalid front-matter, they will be passed to
Metalsmith#build
a6438d2
- Fix test error on Windows #158 (@moozzyk)
- #281 Metalsmith now properly handles symbolic links (will throw an ENOENT error or they can be
Metalsmith#ignore
'd)4eb1184
- #178
Metalsmith#ignore
now removes the matched files before they arestatted
for glob-based ignores (saving some perf & potential errors). - #295 Metalsmith now catches all FS errors and passes them to the build callback/ thenable appropriately.
- Replace all occurences of
new Buffer
withBuffer.from
- Development Dependencies:
coveralls
: 2.11.6 ▶︎ 3.0.1 (#308) (@Zearin) Fix 5 “Moderate” vulnerabilitiesmetalsmith-markdown
: 0.2.1 ▶︎ 0.2.2 (#312) (@Zearin) Fix 1 “Low” vulnerability
2.3.0 - 2016-10-28
- Add packaging metadata to build the metalsmith snap (#249)
- Update dependencies (#246)
- Remove unused dependencies
- Fix error when reading a symbolic link to a dir (#229)
- Upgrade dependency to include security fix (#258)
2.2.2 - 2016-10-28
This version is the same as 2.2.0, and was released to counteract the accidental release of 2.2.1. (See 2.2.1 for details.)
2.2.1 - 2016-10-27 [YANKED]
This release is identical to 2.3.0, but was mistakenly released as a
SemVer-patch version when it should have been released as a SemVer-minor
version. Please use versions <= 2.2.0
or >= 2.2.2
instead.
2.2.0 - 2016-08-11
- Add ability to use functions for
ignore
matchers (#179) - Add CLI option:
ignore
(#232) - Add
process
to process files and plugins without writing files (#244)
- Only remove the contents of the
destination
directory (not the directory itself) whenclean
istrue
(#221)
2.1.0 - 2015-09-24
- Add CLI option:
frontmatter
2.0.1 - 2015-07-14
- META: bump patch because
2.0.0
was mistakenly already published
2.0.0 - 2015-07-14
- CLI: Add separate
_metalsmith
bin (to allow custom transpilers)
- Drop support for Node 0.10 (native and tests)
1.7.0 - 2015-04-30
- Add
ignore
1.6.0 - 2015-04-14
- Add
concurrency
1.5.0 - 2015-03-29
- Add ability to pass in plugins to
#run
1.4.5 - 2015-03-27
- Improve plugin error handling
1.4.4 - 2015-03-27
- Workaround the absence of
isAbsolute
from Node 0.10
1.4.3 - 2015-03-27
- Fix typo in variable name
1.4.2 - 2015-03-26
- Use
gray-matter
to parse frontmatter
- Fix bug in frontmatter parser
1.4.1 - 2015-03-25
- Nicer errors for invalid frontmatter
1.4.0 - 2015-03-25
- Add ability to override the read and write directory
1.3.0 - 2015-02-06
- Add support for local (non-npm, but still node) plugins
1.2.0 - 2015-02-04
- Add stack trace to CLI output
1.1.1 - 2015-01-25
- Update
recursive-readdir
to1.2.1
to fix #110
1.1.0 - 2015-01-25
- Add type checking to getter/setters
- Add support for alternate config file path
- Add file-specific errors on writing and reading
1.0.1 - 2014-09-30
- Move
gnode
to regular dependencies
1.0.0 - 2014-09-29
- Add generator support for Node 0.11
- Add absolute path support for
source
anddirectory
- Add
#directory
getter and setter method - Add
#readFile
method to expose the core reading logic - Add
#writeFile
method to expose the core writing logic
- Change
#join
to#path
and usepath.resolve
- CLI: Fix default
clean
setting
0.11.0 - 2014-09-12
- Move
clean
logic to happen at the beginning of a build
0.10.0 - 2014-08-19
- Expose
stats
on files
0.9.0 - 2014-070-13
- Add
frontmatter
option (to disable frontmatter parsing, if desired)
0.8.1 - 2014-070-07
- Update dependencies
0.8.0 - 2014-05-06
- Add
clean
option
0.7.0 - 2014-04-29
- In
metalsmith.json
: Allowplugins
be an array
0.6.1 - 2014-04-24
- Update
ware
to0.3.0
for passing arrays
0.6.0 - 2014-04-02
mode
handling for files
0.5.0 - 2014-03-21
- Remove
destination
directory when writing - Expose
#run
to run middleware stack
- Fix jade examples
0.4.0 - 2014-03-14
- Change
#metadata
to set a clone
0.3.0 - 2014-03-08
- File contents are no longer trimmed
0.2.3 - 2014-03-07
- Add setting back to
#metadata
0.2.2 - 2014-03-07
- Fix installation error
0.2.1 - 2014-03-07
- CLI: use
chalk
instead ofcolors
0.2.0 - 2014-03-06
#metadata
is now just a getter
0.1.0 - 2014-02-05
contents
are now always aBuffer
0.0.4 - 2014-02-05
- Fix corrupted non-utf8 files
0.0.3 - 2014-02-05
- Expose
files
dictionary tobuild
callback
0.0.2 - 2014-02-05
- Do not mix in global metadata; leave it up to plugins
✨