/markdown-toc

Insert and maintain a table of contents in Markdown files.

Primary LanguageGoMIT LicenseMIT

markdown-toc

Insert and maintain a table of contents in Markdown files.

Features

markdown-toc generates a TOC (table of content) from Markdown files and inserts or updates it in the given file.

  • Cross-platform command line utility
    • Windows, Linux, Mac and *bsd (anything the Go compiler will handle)
  • Anchor links are compatible to GFM (Github flavoured Markdown) and GitLab. It is configured using -style command line option.
  • Automatic "intelligent" insertion of new TOC
  • Update existing TOCs without moving it
  • Configurable max. and min. header depth
  • Line endings are kept intact (LF or CRLF is detected and then used for new lines)

Installation

GO111MODULE=on go get github.com/gtrafimenkov/markdown-toc/cmd/markdown-toc@0.0.2

Usage

The output of markdown-toc -h should be self explanatory:

markdown-toc [options] FILE...

  -d	print full diff to stdout
  -e	update only existing TOC (no insert)
  -indent string
    	string used for nesting (default "\t")
  -max int
    	maximum depth (default 99)
  -min int
    	minimum depth (default 1)
  -p	print full result to stdout
  -style string
    	style of the TOC: github or gitlab (default "github")
  -v	print version

Alternatives

Changes

All notable changes to this project will be documented in the [changelog].

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

License

This project is released under the MIT license.