New documentation framework for doocs/leetcode | 为 doocs/leetcode 选择一款新的文档框架
yanglbme opened this issue · 7 comments
yanglbme commented
背景
目前我们项目使用 docsify 实时渲染 markdown,优势是简单直接,完全兼容 Markdown,不会污染 Markdown。
但也存在以下几个问题:
- 由于实时渲染,网站加载速度较慢,对搜索引擎不够友好。
- 不支持多个代码块组,题解中方法一、方法二等等题解代码组很难区分开。
因此,我考虑选择一个新的文档框架,新框架选择有以下几点要求:
- 一个 Markdown 文件中支持多个代码块组
- 能够将 Markdown 文件预先构建出 .html 文件,然后直接部署成网站
- 支持渲染和展示 Mathjax 公式
- 能较好地兼容 Markdown,不要在 Markdown 中添加过多的“修饰”,导致用户直接打开 Markdown 文件预览时不直观
- 支持评论(将 GitHub Discussions 嵌入)
- 支持插件系统,方便自定义开发
- 美观
新的备选项
以下是备选项,目前还在考虑中。
- Material for MkDocs - Python
- mdBook - Rust
- VuePress 2.0 - Vue/JavaScript
yanglbme commented
这是一个非常大的工程,涉及到整个项目目录结构、文件、脚本相关的变更
YangFong commented
不了解 Material for MkDocs。
对于 mdBook 我有一种刻板印象,即使有几个主题可以选择,可总体观感就是不太好。
VuePress 则是较为中肯,还有其他两个:
这里我想再提一个:Astro。比较热门,但我未曾尝试过。
scil commented
Starlight,基于 Astro 的专门文档框架,可快速看一下其功能 https://starlight.astro.build/guides/authoring-content/
yanglbme commented
目前暂时选用 Material for MkDocs
wuxin0011 commented
老哥可以的,几天没看网站,竟然更换了新UI
wuxin0011 commented
迁移的工作量也不小吧,老哥辛苦了
yanglbme commented
下个迭代或将使用 astro starlight