Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

为页面添加目录 #17

Open
excing opened this issue Feb 14, 2023 · 0 comments
Open

为页面添加目录 #17

excing opened this issue Feb 14, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@excing
Copy link
Contributor

excing commented Feb 14, 2023

两种实现方式:

  • 生成器在渲染时,生成目录,由模板加载;
  • 模板内的 js 脚本自动寻找标题等元素,并为标题生成 id 及目录。

生成器渲染

引入 golang 版本的 markdown to html 引擎,可获取对应的标题列表,或手动编写查找规则获取。将获得的目录保存在模板数据里,并修改 html 文本,为标题加上对应的目录 id,再由模板加载目录数据并显示。

不过因为模板数据存在 markdown 和 html 两种数据格式,如果模板加载 markdown 数据,则此方式无效,目录的渲染将与生成器无关。

全局 js 脚本渲染

与渲染数学公式、图表的方式类似,使用全局 js 脚本,查找并保存当前页面的标题列表。

不过这种方式对模板开发不太友好,需要使用 js 渲染目录 UI,无法使用 golang 模板语法去渲染。

@excing excing added the enhancement New feature or request label Feb 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant