Xaviw / vite-plugin-vitepress-auto-nav

自动生成vitepress的nav与sidebar
MIT License
17 stars 1 forks source link

能否兼容一下 gitbook 的 `SUMMARY.md` ? #7

Closed ykla closed 5 months ago

ykla commented 5 months ago

即完全通过 SUMMARY.md 来定义目录的生成。

示例:

## A

* [溯因 abduction (Igor Douven)](a/su-yin-abduction-igor-douven.md)
* [彼得·阿伯拉尔 Abelard \[Abailard\], Peter (Peter King and Andrew Arlig)](a/bi-de-abo-la-er-abelard-abailard-peter-peter-king-and-andrew-arlig.md)
* [\*偶然属性——见本质属性与偶然属性 accidental properties — see essential vs. accidental properties](a/ou-ran-shu-xing-jian-ben-zhi-shu-xing-yu-ou-ran-shu-xing-accidental-properties-see-essential-vs.-acc.md)
* [行动 action (Juan S. Piñeros Glasscock and Sergio Tenenbaum)](a/hang-dong-action-juan-s.-pieros-glasscock-and-sergio-tenenbaum/README.md)
  * [\*共同——见行为体:共享行为体 joint — see agency: shared](a/hang-dong-action-juan-s.-pieros-glasscock-and-sergio-tenenbaum/gong-tong-jian-neng-dong-xing-gong-xiang-neng-dong-xing-joint-see-agency-shared.md)
  * [\*逻辑 ——见逻辑学:行动的逻辑 logic of — see logic: action](a/hang-dong-action-juan-s.-pieros-glasscock-and-sergio-tenenbaum/luo-ji-jian-luo-ji-xue-hang-dong-de-luo-ji-logic-of-see-logic-action.md)
* [基于行动的知觉理论 action-based theories of perception (Robert Briscoe, Rick Grush, and Alison Springle)](a/ji-yu-hang-dong-de-zhi-jue-li-lun-actionbased-theories-of-perception-robert-briscoe-rick-grush-and-a.md)
* [\*超距作用——见量子力学:量子力学中的超距作用 action at a distance — see quantum mechanics: action at a distance in](a/chao-ju-zuo-yong-jian-liang-zi-li-xue-liang-zi-li-xue-zhong-de-chao-ju-zuo-yong-action-atadistance-s.md)

非常感谢。

Xaviw commented 5 months ago

我没有使用过 gitbook,看起来你是想将 gitbook 的内容同步到 vitepress

另写一个根据 Summary.md 生成配置的插件似乎更合适,实现起来应该也比较简单

ykla commented 5 months ago

我没有使用过 gitbook,看起来你是想将 gitbook 的内容同步到 vitepress

另写一个根据 Summary.md 生成配置的插件似乎更合适,实现起来应该也比较简单

是的

Xaviw commented 5 months ago

你可以尝试下自己写这个功能插件,如果有什么问题再交流

另外我也很好奇,是如何从 gitbook 同步到 vitepress,重新整理文件然后直接使用 vite-plugin-vitepress-auto-nav 不可以吗

ykla commented 5 months ago

你可以尝试下自己写这个功能插件,如果有什么问题再交流

另外我也很好奇,是如何从 gitbook 同步到 vitepress,重新整理文件然后直接使用 vite-plugin-vitepress-auto-nav 不可以吗

gitbook.io(可以编辑、修改、创建目录和文本内容,与 GitHub 双向同步,并且提供网页预览,有子域名) <--> GitHub A(使用 GitHub Action 推送 B) -->GitHub B(作为子目录,即 docx,使用 GitHub Action 编译推送,也可以推到自己的服务器) --> GitHub Page (B 的page)。

近三千个文件和文件夹无法整理。之前其他几百个文件和文件夹的项目的时候都是手写的,用的 vuepress,但是这个项目是个半成品,连右侧 TOC 的功能都没有,插件也找不到能用的,不是不维护了就是跑路了。在没有三级目录的时候,勉强还能实现正则修改一下。目录修改的时候都是手动改的,因为当初 gitbook 改目录名文件名也会变。

但是现在有三级目录或者更多,就需要嵌套一堆 children,这还可以勉强改。但是现在 vitepress 不会读取 H1 作为标题了,需要强制自己指定标题,这是做不到的,因为目录随时都会进行大规模的修改。

使用 summary.md 简洁易懂且方便修改,就是普通的 markdown 原生语法。而且可以做到目录结构无关。只需要改后边链接的文件名即可。

我也不是很理解现在的前端设计思路。另外创建目录和生成对应的文件夹始终是困难的,gitbook 解决了这一点,并且是图形化界面。

Xaviw commented 5 months ago

能否给我提供一个示例项目,我会在有空的时候尝试添加支持这个功能

ykla commented 5 months ago

能否给我提供一个示例项目,我会在有空的时候尝试添加支持这个功能

请看 https://github.com/taophilosophy/SEP-CN

Xaviw commented 5 months ago

插件 2.3.0 版本已发布,支持通过 summary 配置读取 Gitbook SUMMARY.md 格式文件作为目录:

import { defineConfig } from "vitepress";
import autoNav from "vite-plugin-vitepress-auto-nav";

export default defineConfig({
  // ...
  vite: {
    plugins: [autoNav({ summary: { target: "SUMMARY.md" } })],
  },
});

有问题请随时反馈

ykla commented 5 months ago

好的,我在整理完目录后就进行测试。

非常感谢。

ykla commented 5 months ago

请问如何仅生成侧边栏 sidebar 而关闭导航栏 nav,即自定义开关侧边栏和导航栏。目前似乎无法关闭自动 nav。

Xaviw commented 5 months ago

config.ts 中手动添加 themeConfig.nav[] 即可