npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@accordproject/markdown-cli

v1.0.1

Published

A framework for transforming markdown

Downloads

3,008

Readme

Command Line

Install the @accordproject/markdown-cli npm package to get the markus command line interface (CLI). After installation you can use the markus command and its sub-commands as described below.

To install:

npm install -g @accordproject/markdown-cli

Usage

markus is a command line tool to debug and use markdown transformations.

markus <cmd> [args]

Commands:
  markus transform  transform between two formats

Options:
  --version      Show version number                                   [boolean]
  --verbose, -v                                                 [default: false]
  --help         Show help                                             [boolean]

markus transform

The markus transform command lets you transform between any two of the supported formats.

markus transform

transform between two formats

Options:
  --version      Show version number                                   [boolean]
  --verbose, -v  verbose output                       [boolean] [default: false]
  --help         Show help                                             [boolean]
  --input        path to the input                                      [string]
  --from         source format                    [string] [default: "markdown"]
  --to           target format                  [string] [default: "commonmark"]
  --via          intermediate formats                      [array] [default: []]
  --roundtrip    roundtrip transform                  [boolean] [default: false]
  --output       path to the output file                                [string]
  --model        array of concerto model files                           [array]
  --template     template grammar                                       [string]
  --contract     contract template                    [boolean] [default: false]
  --currentTime  set current time                       [string] [default: null]
  --plugin       path to a parser plugin                                [string]
  --extension    path to a transform extension                           [array]
  --sourcePos    enable source position               [boolean] [default: false]
  --offline      do not resolve external models       [boolean] [default: false]

Supported formats for --from / --to / --via:

markdown, markdown_cicero, markdown_template, commonmark_tokens, ciceromark_tokens, templatemark_tokens, commonmark, ciceromark, ciceromark_parsed, ciceromark_unquoted, templatemark, ciceroedit, html, plaintext.

Example

Run transform on a markdown file:

markus transform --input README.md

returns:

{
  "$class": "[email protected]",
  "xmlns": "http://commonmark.org/xml/1.0",
  "nodes": [
    {
      "$class": "[email protected]",
      "level": "1",
      "nodes": [
        {
          "$class": "[email protected]",
          "text": "Hello World"
        }
      ]
    },
    {
      "$class": "[email protected]",
      "nodes": [
        {
          "$class": "[email protected]",
          "text": "This is the Hello World of Accord Project Templates. Executing the clause will simply echo back the text that occurs after the string "
        },
        {
          "$class": "[email protected]",
          "text": "Hello"
        },
        {
          "$class": "[email protected]",
          "text": " prepended to text that is passed in the request."
        }
      ]
    }
  ]
}

--from and --to options

Set the source and target formats. The following converts markdown to HTML:

markus transform --from markdown --to html --input README.md

returns:

<html>
<body>
<div class="document">
<h1>Hello World</h1>
<p>This is the Hello World of Accord Project Templates. Executing the clause will simply echo back the text that occurs after the string <code>Hello</code> prepended to text that is passed in the request.</p>
</div>
</body>
</html>

--via option

When there are several paths between two formats, you can route through an intermediate format. The following transforms from markdown to html via ciceromark:

markus transform --from markdown --via ciceromark --to html --input README.md

--roundtrip option

You can roundtrip between two formats — transform from source to target then back to source. For example, markdown → ciceromark → markdown:

markus transform --from markdown --to ciceromark --input README.md --roundtrip

returns:

Hello World
====

This is the Hello World of Accord Project Templates. Executing the clause will simply echo back the text that occurs after the string `Hello` prepended to text that is passed in the request.

Roundtripping might result in small textual differences in the source markdown but should always be semantically equivalent. In the example above the ATX heading # Hello World has been transformed into the equivalent Setext heading.

--model and --contract options

When handling TemplateMark, provide a Concerto model with --model and add --contract if the template is a contract (otherwise it is treated as a clause).

For instance, the following converts a TemplateMark file to its DOM:

markus transform \
  --from markdown_template --to templatemark \
  --model model/model.cto \
  --input text/grammar.tem.md

returns:

{
  "$class": "[email protected]",
  "xmlns": "http://commonmark.org/xml/1.0",
  "nodes": [
    {
      "$class": "[email protected]",
      "name": "top",
      "elementType": "org.accordproject.helloworld.HelloWorldClause",
      "nodes": [
        {
          "$class": "[email protected]",
          "nodes": [
            {
              "$class": "[email protected]",
              "text": "Name of the person to greet: "
            },
            {
              "$class": "[email protected]",
              "name": "name",
              "elementType": "String"
            },
            {
              "$class": "[email protected]",
              "text": "."
            },
            {
              "$class": "[email protected]"
            },
            {
              "$class": "[email protected]",
              "text": "Thank you!"
            }
          ]
        }
      ]
    }
  ]
}

--extension option

Pass --extension path/to/ext.js (repeatable) to register a custom transform extension at runtime. An extension is a module that exports { format?, transforms? } where format declares a new format and transforms declares edges to/from it in the transformation graph. See the integration tests in this package for examples.

License

Accord Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file. Accord Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/.