0.0.17 • Published 4 years ago
@mkusaka/toc v0.0.17
@mkusaka/toc
table of contents
generate multiple markdwon document link cli.
install
yarn global add @mkusaka/toc
# or
npm install -g @mkusaka/tocusage
cd /path/to/folder
install, and run
mdoctoc "glob pattern"or
npx @mkusaka/toc "path to folder"then markdown link comes to standard streams.
example
document/sample.md
# some
# markdown
## like thisdocument/sample2.md
# some2
# markdown2
## like this2document/nested/sample3.md
# some3
# markdown3
## like this3then output like follow.
$ mdoctoc "document/**/*.md"
[document/nested/sample3](./document/nested/sample3.md)
- [some3](./document/nested/sample3.md#some3)
- [markdown3](./document/nested/sample3.md#markdown3)
- [like this3](./document/nested/sample3.md#like%20this3)
[document/sample](./document/sample.md)
- [some](./document/sample.md#some)
- [markdown](./document/sample.md#markdown)
- [like this](./document/sample.md#like%20this)
[document/sample2](./document/sample2.md)
- [some2](./document/sample2.md#some2)
- [markdown2](./document/sample2.md#markdown2)
- [like this2](./document/sample2.md#like%20this2)if above toc shown at document/readme.md, we can specify it and script returns better toc path.
$ mdoctoc "document/**/*.md" "document/README.md"
[nested/sample3](./nested/sample3.md)
- [some3](./nested/sample3.md#some3)
- [markdown3](./nested/sample3.md#markdown3)
- [like this3](./nested/sample3.md#like%20this3)
[sample](./sample.md)
- [some](./sample.md#some)
- [markdown](./sample.md#markdown)
- [like this](./sample.md#like%20this)
[sample2](./sample2.md)
- [some2](./sample2.md#some2)
- [markdown2](./sample2.md#markdown2)
- [like this2](./sample2.md#like%20this2)if you want filter depth(# → depth 1, ## → depth 2). run like follow
# (sorry, second "./" argument required if use depth option right now... it will be option using commander.js)
$ mdoctoc "document/**/*.md" "./" 1
[document/nested/sample3](./document/nested/sample3.md)
- [some3](./document/nested/sample3.md#some3)
- [markdown3](./document/nested/sample3.md#markdown3)
[document/sample](./document/sample.md)
- [some](./document/sample.md#some)
- [markdown](./document/sample.md#markdown)
[document/sample2](./document/sample2.md)
- [some2](./document/sample2.md#some2)
- [markdown2](./document/sample2.md#markdown2)TODO
- use tj/commander.js: node.js command-line interfaces made easy
- validate globed file extension (may need
.mdonly) - add sort option
- add show depth option
- deal with relative file
- ex:
document/first/sample.md(with content only# foo),document/second/README.md.node script.js "document/**/*.md" "document/second/README.md"then expected output path forsample.mdis[foo](../first/sample.md#foo).
- ex:
- add tests