Insert a markdown TOC(Table Of Content) before posts be rendered.
Unlike the native toc
helper, this plugin will inject a TOC only when a placeholder(<!-- toc -->
) found in the raw markdown files. And the TOC will be injected after the placeholder.
All you need to do is placing a placeholder(<!-- toc -->
) in your post when and where needed.
Note: this plugin will not mangle your posts(markdown files), so you can use it bold.
- CHANGE README.md
- CHANGE package.json
#npm
npm install @teampimcserver/hexo-toc --save
#yarn
yarn add @teampimcserver/hexo-toc
All the options of markdown-toc,
slugify function, and heading anchor options can be specified as follow in you _config.yml
:
toc:
maxdepth: 3
class: toc
slugify: transliteration
decodeEntities: false
anchor:
position: after
symbol: '#'
style: header-anchor
maxdepth
: Use headings whose depth is at most maxdepth.class
: The CSS Class for the toc. (Default isfalse
)slugify
: Choose which slugify function you want to use. Currently support uslug (Default) and transliteration.decodeEntities
: Select whether to enable decode entities. ( Default isfalse
and please see #15).anchor
: Whether should have an anchor for each headings. (Default isfalse
)position
: Where should the anchor be,before
the title, orafter
the title. (Default isafter
);symbol
: Which symbol you want the anchor be. (Default is#
);style
: The CSS class for the anchor, (Default isheader-anchor
);
Working with hexo-renderer-markdown-it.
# Markdown-it config
## Docs: https://github.com/celsomiranda/hexo-renderer-markdown-it/wiki
markdown:
render:
html: true
- hexo-filter-fenced-code Extend syntax for the native fenced code block.
- hexo-filter-flowchart Generate flowchart diagrams for Hexo.
- hexo-filter-sequence Generate UML sequence diagrams for Hexo.
- hexo-filter-sub Generate subscript (
<sub>
) tag for Hexo. - hexo-filter-sup Generate superscript (
<sup>
) tag for Hexo. - hexo-theme-formula Hexo theme base on jade and less.
Pull requests and stars are highly welcome.
For bugs and feature requests, please create an issue.