github remarkjs/remark 5.0.0

latest releases: remark-cli@12.0.1, 15.0.1, 15.0.0...
9 years ago

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 and remark-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 that remark.process()
    returns a file instead of file.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.

Don't miss a new remark release

NewReleases is sending notifications on new releases.