Refactor project to monorepo
...and refactor the project as a whole.
- remark(1) is now
remark-cli
; - remark(3) is now
remark
, but is split into
remark-parse
andremark-stringify
.
Major changes
There’s a lot less duplicate documentation between the
different projects. Although this does require more
navigation between links, this should make things clearer
for newcomers who don’t know what’s what.
-
Externalise remark(1) into
unified-engine
(API) and
unified-args
(CLI creator), which comes with a huge
refactor, 100% coverage, and lots of bug fixes. -
Update to use unified@4.0.0, which comes with a much
simpler interface, includes a streaming interface,
better support for combining processors, and allows
transformers to provide a new syntax tree instead of
only allowing modifications.The most notable change is that
remark.process()
and
the like no longer work, switch instead to using
remark().process()
. And thatremark.process()
returns afile
instead offile.contents
Read more: https://github.com/wooorm/unified/releases/tag/4.0.0
-
The parser and compiler are now their own packages,
which, combined with unified@4.0.0 means browsers can
pack less weight if either isn’t required. Additionally,
docs for interacting with the parser and the compiler are
included. Those docs result in more of the previously
private interface to be publicised, which resulted in
some changes for the better:tokenizer.onlyAtTop
>tokenizer.notInList
;Processor#atTop
>Processor#inList
;Processor#exitTop
>Processor#enterList
;tokenizer.notInBlockquote
>tokenizer.notInBlock
;Processor#inBlockquote
>Processor#inBlock
;Processor#enterBlockquote
>Processor#enterBlock
;blockTokenizers.heading
>blockTokenizers.atxHeading
;blockTokenizers.lineHeading
>blockTokenizers.setextHeading
;blockTokenizers.code
>blockTokenizers.indentedCode
;blockTokenizers.fences
>blockTokenizers.fencedCode
;blockTokenizers.footnoteDefinition
>blockTokenizers.footnote
;inlineTokenizers.inlineText
>inlineTokenizers.text
;inlineTokenizers.tag
>inlineTokenizers.html
;inlineTokenizers.inlineCode
>inlineTokenizers.code
.
Minor changes
- Rewrite tests, using tape instead of mocha, and execa for
CLI tests. - Remove man pages.
- Update docs.
- Add Node@^6.0.0 to Travis targets.
- Refactor code style.
- Fix bug in positional information when using BOMs.
- Lower-case
Remark
>remark
in logo.