1.0.0 • Published 12 months ago

markdown-it-ultree v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

About

A markdown tree plugin for markdown-it parser to render collapsible (foldable) trees. The tree is rendered as an unordered-list HTML element.

Installation

npm install markdown-it-ultree

Usage

// If you don't have markdown-it, install it
const markdownIt = require('markdown-it');
const ultree = require('markdown-it-ultree');
const mdit = markdownIt();
mdit.use(ultree);

/* You can use spaces or tabs (but not both simultaneously)
* to indent items
*/  
mdit.render(`\`\`\`ultree
output: foldable

.
    LICENSE
    package.json
    package-lock.json
    README.md
    src
        markdown-it-ultree.js
    test
        markdown-it-ultree.test.js

\`\`\``);

// or you can paste the output of the "tree" command as well
mdit.render(`\`\`\`ultree
output: foldable

.
├── LICENSE
├── package.json
├── package-lock.json
├── README.md
├── src
│   ├── markdown-it-ultree.js
└── test
    └── markdown-it-ultree.test.js

\`\`\``);

Output

Raw output (prettified)

<div class="ultree">
    <ul>
        <li><details open><summary>.</summary>
                <ul>
                    <li>LICENSE</li>
                    <li>package.json</li>
                    <li>package-lock.json</li>
                    <li>README.md</li>
                    <li><details open><summary>src</summary>
                            <ul>
                                <li>markdown-it-ultree.js</li>
                            </ul>
                        </details>
                    </li>
                    <li><details open><summary>test</summary>
                            <ul>
                                <li>markdown-it-ultree.test.js</li>
                            </ul>
                        </details>
                    </li>
                </ul>
            </details>
        </li>
    </ul>
</div>

HTML output with styling

foldable-tree

NOTE: The CSS for the above image can be found in style folder.

Options

Options can be specified as key: value pairs at the beginning of the body of ultree block as shown in the example above.

Here are the currently supported options,

OptionPossible valuesDescription
outputfoldable(default) Output a foldable tree
simpleOutput a non-foldable tree
opentrue(default) Keep foldable tree expanded at the start
falseKeep foldable tree collapsed at the start

Important

  • The tree can have only one root.
  • Do not mix tabs and spaces for indentation within one ultree block. Either use spaces (recommended) or tabs.
  • Keep the indentation consistent. e.g. if you indent by 4 spaces, do not indent by 2 spaces later on within the same ultree block.
1.0.0

12 months ago

0.1.1

12 months ago

0.1.0

12 months ago