doocs/leetcode

New documentation framework for doocs/leetcode | 为 doocs/leetcode 选择一款新的文档框架

yanglbme opened this issue · 7 comments

背景

目前我们项目使用 docsify 实时渲染 markdown,优势是简单直接,完全兼容 Markdown,不会污染 Markdown。

但也存在以下几个问题:

  1. 由于实时渲染,网站加载速度较慢,对搜索引擎不够友好。
  2. 不支持多个代码块组,题解中方法一、方法二等等题解代码组很难区分开。

因此,我考虑选择一个新的文档框架,新框架选择有以下几点要求:

  1. 一个 Markdown 文件中支持多个代码块组
  2. 能够将 Markdown 文件预先构建出 .html 文件,然后直接部署成网站
  3. 支持渲染和展示 Mathjax 公式
  4. 能较好地兼容 Markdown,不要在 Markdown 中添加过多的“修饰”,导致用户直接打开 Markdown 文件预览时不直观
  5. 支持评论(将 GitHub Discussions 嵌入)
  6. 支持插件系统,方便自定义开发
  7. 美观

新的备选项

以下是备选项,目前还在考虑中。

这是一个非常大的工程,涉及到整个项目目录结构、文件、脚本相关的变更

不了解 Material for MkDocs

对于 mdBook 我有一种刻板印象,即使有几个主题可以选择,可总体观感就是不太好。

VuePress 则是较为中肯,还有其他两个:

这里我想再提一个:Astro。比较热门,但我未曾尝试过。

scil commented

Starlight,基于 Astro 的专门文档框架,可快速看一下其功能 https://starlight.astro.build/guides/authoring-content/

目前暂时选用 Material for MkDocs

老哥可以的,几天没看网站,竟然更换了新UI

迁移的工作量也不小吧,老哥辛苦了

下个迭代或将使用 astro starlight