帮助翻译
项目使用 Vitepress,故可轻松编辑 Markdown 文件和预览结果。你应该有一个 GitHub 账号来创建拉取申请PR。
文件结构
项目文件夹的文件和 .**
文件夹已经被配置好了,你只用关注文件夹 docs/
。
.vitepress/
: 网站设置和主题config.ts
: 主要设置sidebar.ts
: 侧边栏设置theme/
: 主题设置
components/
: 可用在 Markdown 文件的 Vue.js 组件public/
: 公共资源blog/
commands/
faq/
guides/
releases/
: 文档网站的内容<locale>/
: 某个语言的翻译,如zh-hans/
代表简体中文
index.md
: 主页 的索引文件。子文件夹中,它的元信息用来控制内容的标题
和顺序
。
新增一个语言
- 编辑
docs/.vitepress/config.ts
,请编辑<locale>
和具体的文字为正确的文本。tsthemeConfig:{ search: { options: { locales: { ... // 翻译 <locale> 语言的搜索文字 "<locale>": { translations: { button: { buttonText: "", buttonAriaLabel: "", }, modal: { displayDetails: "", backButtonTitle: "", noResultsText: "", resetButtonTitle: "", footer: { selectText: "", navigateText: "", closeText: "", }, }, }, }, } } }
- 编辑
docs/.vitepress/config.ts
,请编辑<locale>
,<English/简体中文/...>
和具体的文字为正确的文本。tslocales: { ... // 覆盖 <locale> 语言的设置 "<locale>": { label: "<English/简体中文/...>", lang: "<locale>", link: "/<locale>/", title: "Advancedfx", description: "Half-Life Advanced Effects (HLAE) is a tool to enrich Source (mainly CS:GO) engine based movie making.", themeConfig: { lastUpdated: { text: "Last Updated", }, editLink: { pattern: "https://github.com/advancedfx/afx-doc/edit/master/docs/:path", text: "Edit this page on GitHub", }, docFooter: { prev: "Previous Page", next: "Next Page", }, footer: { message: "Made with ❤️ by Advancedfx", copyright: "Copyright © 2023-present advancedfx.org", }, nav: [ { text: "Guides", link: "/<locale>/guides/" }, { text: "Commands", link: "/<locale>/commands/" }, { text: "FAQ", link: "/<locale>/faq/" }, { text: "Blog", link: "/<locale>/blog/" }, { text: "Releases", link: "/<locale>/releases/" }, { text: "Download", link: "/<locale>/" }, // TODO: link to download # ], }, }, }
- 编辑
docs/.vitepress/sidebar.ts
,请编辑<locale>
和具体的文字为正确的文本。tsconst sidebar = generateSidebar([ ... // 复制之前的内容以修改 { ...common_options, scanStartPath: "<locale>", resolvePath: "/<locale>/", excludeFolders: ["releases", "blog"], }, { ...common_options, scanStartPath: "<locale>/releases", resolvePath: "/<locale>/releases/", sortMenusOrderByDescending: true, }, { ...common_options, scanStartPath: "<locale>/blog", resolvePath: "/<locale>/blog/", sortMenusOrderByDescending: true, }, ]);
- 复制
blog/
commands/
faq/
guides/
releases/
和index.md
到新的<locale>
文件夹。 - 编辑和翻译。当你准备好了,用 Git 提交和推送修改。
- 提交拉取请求 PR 来合并你的贡献。
翻译新页面
和上面的步骤类似,但这次不用步骤1~3。
在第4步中复制新文件到 <locale>
中正确的位置。
编辑一个已经存在的页面
如果你发现一个已有的页面需要翻译或者改进,只用点击 在 GitHub 编辑此页
并跟随指导。它会和上述5~6步相似。
为本站编写 .md
的注意事项
Markdown 主要内容之前有一个 元信息
部分,title
标题会用在侧边栏。 order
用于决定页面在侧边栏的顺序。
markdown
---
title: Get Started
order: 0
---
# Get Started
Yo~✋🏻
子文件夹的 index.md
设置文件夹/内容组的标题和顺序。
警告
所有 .md
文件名必须使用小写下划线 lower_cased
.
本地测试
- 安装 Node.js >= 18。
- 全局安装 pnpm :
npm i -g pnpm
- Git 克隆仓库并切换到对应目录。
- 安装包:
pnpm install
- 开始测试:
pnpm dev
CTRL+C
结束并重新测试出发侧边栏更新。
信息
查看 package.json
> scripts
获知所有 pnpm *
指令。