npm 包 rehype-toc 使用教程

在前端开发中,我们常常需要快速生成文档目录,rehype-toc 是一个可以自动生成文档目录的 npm 包。它可以方便地将 HTML 页面转换为一个带有目录的静态 HTML 页面。

rehype-toc 简介

rehype-toc 是一个基于 rehypemdast 的 npm 包。rehype-toc 可以从 HTML 标题中自动生成目录。同时,它还提供了灵活的选项来控制生成的目录的深度和样式。

rehype-toc 安装

可以使用 npm 包管理器来安装 rehype-toc:

--- ------- ----------

使用 rehype-toc

使用 rehype-toc 的第一步是将 HTML 文档转换为 mdast AST。然后,我们可以使用 rehype-toc 插件将 AST 转换为带有目录的 HTML:

----- ------ - ------------------
----- --- - ----------------------

----- ---- - ------------ ----------------- ----------------- --------

----- --------- - --------
                 ------- -- ---- -- -
                   -- ---- ---- ----- ----- -
                   ------ -
                     ----- -------
                     --------- -------------
                   --
                 --
                 --------- - --------- ------ ----- ----- ---

----- ------ - ----------------------------

-----------------------------

在上述例子中,我们创建了一个 rehype 处理器,并使用了 rehype-toc 插件来生成目录。options.headings 参数指定了标题的级别。

rehype-toc 选项

rehype-toc 提供了以下选项:

  • headings: 指定标题的级别(默认为 ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'])
  • cssClasses: 为目录添加 CSS 类名(默认为空)
  • cssClass: 为整个目录添加 CSS 类名(默认为空)
  • wrapper: 用指定元素包裹目录(默认为 div)
  • maxDepth: 控制目录的最大深度(默认为 6)
  • tight: 控制目录列表项之间是否有空行(默认为 false)

rehype-toc 示例

下面是一个简单的示例,展示了如何使用 rehype-toc 通过 HTML 标题生成目录:

--------- -----
------
------
    ----------------- ----------
-------
------

-------------
-----------------

-------- ------
--------- - --------

-------- -------
--------- -- --------

-------- ------
--------- - --------

-------- -------
--------- -- --------

-------
-------

我们可以通过以下代码将上面的 HTML 文档转换为带有目录的 HTML:

----- -- - --------------
----- ------ - ------------------
----- --- - ----------------------

----- ---- - ---------------------------- --------

----- --------- - --------
                 ------- -- ---- -- -
                   ------ -
                     ----- -------
                     --------- -------------
                   --
                 --
                 --------- - --------- ------ ----- ----- ---

----- ------ - ----------------------------

-----------------------------

执行以上代码后生成的输出如下:

--------- -----
------
------
    ----------------- ----------
-------
------
---- ------------
  -----
    --- --------------------
      --- -----------------
        -- ---------------- ---------------------
        --- --------------------
          --- -----------------
            -- ---------------- ------------------- -----
            --- --------------------
              --- -----------------
                -- ---------------- -------------------- ------
              -----
            -----
          -----
          --- -----------------
            -- ---------------- ------------------- -----
            --- --------------------
              --- -----------------
                -- ---------------- -------------------- ------
              -----
            -----
          -----
        -----
      -----
    -----
  ------

--- -------------------
-----------------

--- ---------------- ------
--------- - --------

--- ----------------- -------
--------- -- --------

--- ---------------- ------
--------- - --------

--- ----------------- -------
--------- -- --------

-------
-------

可以看到,目录已经被生成并添加到了文档的开头,而且目录链结构非常清晰易于理解。

总结

rehype-toc 是一个非常方便的 npm 包,可以帮助我们快速生成文档目录。在使用过程中只需要掌握基本的 API 和选项即可。希望本篇文章对读者有所帮助。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5f0588bb403f2923b035bef2


猜你喜欢

  • npm 包 @gerhobbelt/markdown-it-footnote 使用教程

    在前端开发中,我们常常需要处理文本内容,并对其中的部分内容添加脚注。这时,我们可以使用 npm 包 @gerhobbelt/markdown-it-footnote 实现这个功能。

    4 年前
  • npm 包 @gerhobbelt/markdown-it-for-inline 使用教程

    前言 在前端开发中,我们使用 Markdown 编写文档已经不再陌生,markdown-it-for-inline 是一个基于 markdown-it 的插件,可以让我们在 Markdown 中内联嵌...

    4 年前
  • npm 包 @gerhobbelt/markdown-it-front-matter 使用教程

    前言 在前端网站开发过程中,我们经常需要编写各种文档、博客或者其他类型的文章。Markdown 是一种轻量级的标记语言,它可以帮助我们快速地创建美观的格式化文档。但是对于一些需要额外元数据的文档,Ma...

    4 年前
  • npm 包 @gerhobbelt/markdown-it-hashtag 使用教程

    介绍 @gerhobbelt/markdown-it-hashtag 是一个用于 markdown 解析的插件,它可以将类似于 #标签 这样的字符串转换成带有链接的 HTML 元素。

    4 年前
  • npm包@gerhobbelt/markdown-it-header-sections使用教程

    在前端开发中,文档是不可缺少的一部分。而markdown语言的简单易学以及适合各种文档类型的特性,让它成为了常用的文档格式之一。在markdown语言中,标题是文本结构的重要组成部分。

    4 年前
  • npm 包 @gerhobbelt/markdown-it-headinganchor 使用教程

    在前端开发中,我们经常需要在网站或者应用程序中展示各种文档或者博客,而其中的问题是如何为这些文档或者博客制定相应的锚点,以便读者可以按照自己的需要访问文档的特定部分。

    4 年前
  • npm 包 @gerhobbelt/markdown-it-highlighted 使用教程

    在前端开发中,常常需要在页面中展示代码,而展示代码最常用的方式就是高亮显示。@gerhobbelt/markdown-it-highlighted 是一款基于 markdown-it 的代码高亮插件。

    4 年前
  • npm 包 @gerhobbelt/markdown-it-highlightjs 使用教程

    简介 在前端开发中,我们经常会遇到需要高亮展示代码的情况。而 markdown-it-highlightjs 就是一款能够实现代码高亮的 npm 包,它基于 highlight.js 实现了在 Mar...

    4 年前
  • npm 包 @gerhobbelt/markdown-it-implicit-figures 使用教程

    前言 在 Web 开发中,Markdown 已经成为了一种流行的编写格式,被广泛应用于各种场景中。而 @gerhobbelt/markdown-it-implicit-figures 这个 npm 包...

    4 年前
  • npm 包 @gerhobbelt/markdown-it-ins 使用教程

    前言 在前端领域,我们经常需要使用 Markdown 语法来撰写文档和博客。而 Markdown 中,行内中的文字需要强调时,通常会使用 <em> 标签或 <strong> 标...

    4 年前
  • npm 包 @gerhobbelt/markdown-it-kbd 使用教程

    前言 在前端开发中,我们经常会需要对键盘输入的内容做一些标记。比如说在一个教程中讲解快捷键时,希望将组合键用特殊样式标记出来,以便读者更容易理解。此时,我们可以使用@gerhobbelt/markdo...

    4 年前
  • npm 包 @gerhobbelt/markdown-it-mark 使用教程

    介绍 @gerhobbelt/markdown-it-mark 是一个 markdown-it 插件,用于在 Markdown 中添加文本高亮效果。它使用类似 HTML 中的 mark 标签,将文本标...

    4 年前
  • npm 包 @gerhobbelt/markdown-it-mathjax 使用教程

    随着前端技术的不断发展,越来越多的开源工具和库被发布到 npm 上,其中 @gerhobbelt/markdown-it-mathjax 是一款能够让你在 Markdown 中使用 MathJax 渲...

    4 年前
  • npm 包 @gerhobbelt/markdown-it-modify-token 使用教程

    在前端开发过程中,我们经常使用 Markdown 这种轻量级标记语言来进行文档编写和展示,而 markdown-it 是一个强大的 Markdown 解析器。但是,有时候我们需要对解析出来的 Toke...

    4 年前
  • npm 包 @gerhobbelt/markdown-it-prism 使用教程

    前言 在编写前端技术文章时,我们通常会使用 Markdown 来进行排版,同时也会使用 Prism 进行语法高亮。而 @gerhobbelt/markdown-it-prism 是一款优秀的结合了 M...

    4 年前
  • npm 包 @gerhobbelt/markdown-it-regexp 使用教程

    随着前端技术的不断发展,现在前端项目中使用 npm 包已经成为了常见的开发方式。而在进行 markdown 解析时,@gerhobbelt/markdown-it-regexp 这个 npm 包可以帮...

    4 年前
  • npm 包 @gerhobbelt/markdown-it-responsive 使用教程

    在开发前端页面中,我们经常需要在网页中展示图片,特别是在响应式设计的时候,图片的自适应大小和样式变化成为了一个重要的需求。为了更方便地实现图片的自适应和响应式效果,我们可以使用 npm 包 @gerh...

    4 年前
  • npm 包 @gerhobbelt/markdown-it-samp 使用教程

    在前端开发中,经常需要将代码段呈现在页面上进行展示或解释。而 @gerhobbelt/markdown-it-samp 是一款能够简单易用地在 Markdown 中呈现代码样式的 npm 包,本文将详...

    4 年前
  • npm 包@gerhobbelt/markdown-it-sanitizer使用教程

    Markdown是一种轻量级的标记语言,通常用于编写技术文档和博客文章。随着网页应用程序的发展,许多前端开发人员选择使用Markdown来编写文档、注释和博客文章。

    4 年前
  • npm 包 @gerhobbelt/markdown-it-smartarrows 使用教程

    在前端开发中,我们经常需要使用 markdown 来编写文档,但是很多时候,我们需要在文档中使用箭头来表示某种关系。这时候,我们可以使用 npm 包 @gerhobbelt/markdown-it-s...

    4 年前

相关推荐

    暂无文章