美文网首页
vue markdown文件自动生成目录

vue markdown文件自动生成目录

作者: jeneen1129 | 来源:发表于2023-09-27 16:24 被阅读0次

markdown-it-toc-done-right

sample

import markdownItAnchor from "markdown-it-anchor";
import markdownItTocDoneRight from "markdown-it-toc-done-right";
import "./index.css";
const md = require("markdown-it")({
  html: true,
  typographer: true
})
  .use(markdownItAnchor, {
    permalink: true,
    permalinkSymbol: ""
  })
  .use(markdownItTocDoneRight, {
    level: [2],
    containerClass: "tdesign-toc_container",
    listClass: "tdesign-toc_list",
    itemClass: "tdesign-toc_list_item",
    linkClass: "tdesign-toc_list_item_a",
    listType: "ul"
    // format: (x, htmlencode) => {
    //   console.log(x, htmlencode);
    //   return `<span>${htmlencode(x)}</span>`;
    // },
    // callback: (res) => {
    //   console.log(res);
    // }
  });

var result = md.render(
  "# markdown-it rulezz!\n\n${toc}\n## 23234234 markdown-it-toc-done-right rulezz even more! \n## susdhfashfishfiashiahf\nushfasfhfhsufhasf\nuuuuuuuuuuuuuu\nsufhsuhfsfhusf\n## with markdown-it-toc-done-right rulezz even more!"
);
document.getElementById("root").innerHTML = result;
const contanier = document.getElementsByClassName("tdesign-toc_container")[0];
var a = document.querySelectorAll(".tdesign-toc_list_item_a");
a[0].classList.add("actived");
contanier.addEventListener("click", (event) => {
  if (event.target.nodeName === "A") {
    a.forEach(function (aItem) {
      aItem.classList.remove("actived");
    });
    event.target.classList.add("actived");
  }
});

示例效果

markdown-it-toc

https://wenku.csdn.net/answer/e6089c2384c64c58aedfcdb524e6fd59

webpack 打包,就如下:

强调: 每次修改配置,都要重新打包才能生效。

vue.config.js 中

chainWebpack(config) {
    config.module
      .rule('md')
      .test(/\.md$/)
      .include.add(path.resolve(__dirname, './xxx.md'))
      .add(path.resolve(__dirname, './xxx.md'))
      .end()
      .use('vue-loader')
      .loader('vue-loader')
      .end()
      .use('md-loader')
      .loader(
        path.resolve(__dirname, './md-loader-index.js')
      )

md-loader-index.js

const tocPlugin = require('markdown-it-toc')
const markdown = require('markdown-it')
......
let md = markdown().use(tocPlugin)
......

md文档中

@[toc](目录)

相关文章

  • 001自动生成目录代码(前端)

    自动生成目录代码(前端)---markdown生成的html

  • readme目录自动生成

    readme或markdown目录自动生成。 使用脚本生成,可控。

  • iOS 常用Shell

    为目录下的文件生成markdown图片链接 生成模板文件

  • MarkDown自动生成目录

    JS自动生成目录 doctoc tocmd侧边栏目录 参考 Markdown目录自动工具推荐 关于 Markdow...

  • markdownpad2

    生成目录 方式一: 把这一段代码插入到markdown生成的HTML文件的head标签中,将会自动根据markdo...

  • vue-cli搭建项目

    使用 vue-cli 搭建项目 目录结构及其对应作用 通过vue-cli搭建一个vue项目,会自动生成一系列文件,...

  • 程序自动创建word自动目录TOC

    table of content: 1 手动创建自动目录: 引用->目录->自动目录 2 自动生成文件中带自动创建...

  • nuxt-路由和视图

    安装 使用 路由 在pages目录下建立新的目录或者vue文件会生成新的路由并自动添加到 .nuxt 目录下的ro...

  • vue项目自动生成文件目录

    1.项目中写readme的时候,想详细到每个文件,但是自己写又过于麻烦,这是可以自动生成的 2.首先通过npm全局...

  • markdown生成目录

    markdown生成目录步骤 安装 gem install tocmd当前安装版本0.4.3 生成HTML文件 指...

网友评论

      本文标题:vue markdown文件自动生成目录

      本文链接:https://www.haomeiwen.com/subject/ytmkbdtx.html