
三个站点一次构建拆解 authentik 的 Docusaurus 文档系统【免费下载链接】authentikThe authentication glue you need.项目地址: https://gitcode.com/GitHub_Trending/au/authentikauthentik 是一个开源身份提供商IdP负责用户认证与登录流程编排。它的文档系统基于 Docusaurus 构建——你可以把 Docusaurus 理解为把 Markdown 变成可部署网站的静态站点生成器。读完这篇你会知道文档内容放在哪、配置文件管了什么、改了之后怎么变成线上页面。文档放在哪website 目录下的三个独立站点文档系统不是一个站。website/ 下并行放着三套 Docusaurus 站点docs主站安装与功能指南、apiAPI 参考、integrations第三方集成教程。三者各有独立的docusaurus.config.esm.mjs各自构建、各自部署。主站的内容目录按主题划分新增一篇内容先归入这些目录之一侧边栏位置就定了一半。配置文件怎么驱动站点预设加定制站点配置入口是 docusaurus.config.esm.mjs。它不是一堆样板参数而是先调用共享包goauthentik/docusaurus-config里的createDocusaurusConfig统一基础设置再用extendConfig叠加站点差异createClassicPreset开启文档预设Preset 是 Docusaurus 内置的文档博客标准能力包并通过routeBasePath让 docs 内容挂在站点根路径侧边栏不在配置里手写交给同目录的sidebar.mjs按目录结构自动生成只有security/cves这类目录做了特殊处理——按年份分组倒序展示插件层挂了三样东西releases 插件处理版本化文档、llms.txt生成插件让大模型能抓取文档、link rewrite 插件把正文里的/api链接自动指向独立的 API 站点主题方面配置声明了goauthentik/docusaurus-theme导航栏、Algolia 搜索、样式统一收在 website/docusaurus-theme/ 里三站共用。写新文档要动哪些文件那加一篇文档具体做什么在对应主题目录丢一个.mdx文件front matter 控制排序与分组侧边栏自动生成不用手动登记。图片放正文同级的子目录里文字和截图就近存放。下面这张管理员界面截图就是文档配图风格的例子给文档加一种语言要几步先澄清一个常见误解仓库根目录 locale/ 下的 18 种语言是前端管理界面的 gettext PO 文件走 Django 编译跟 Docusaurus 文档站没有关系。文档站点目前只发布英文。若要给文档加语言Docusaurus 提供标准 i18n 流程大致四步在站点目录建i18n/目录配置里声明locales与defaultLocale运行pnpm docusaurus write-translations --locale de提取待翻译字符串在生成的目录里补全各语言文案重新构建产物会按语言前缀分目录输出构建与发布三站合成一个 build发布链路收口在 website/package.jsonbuild、build:api、build:integrations三个入口各自pnpm --filter一个子站点。关键在于每个站点的 build 脚本结尾都有cp -r ./build/ ../build/——三站的静态产物最终合并进同一个website/build/目录部署时一套目录即可按子域分开服务。CI 环境用 Docker 构建pnpm 基础镜像负责依赖Node 镜像执行构建见 website/Dockerfile。主站目录下还有一份netlify.toml说明静态托管也是被支持的发布方式之一。延伸资源主站配置入口docusaurus.config.esm.mjs侧边栏自动生成逻辑sidebar.mjs三站共享的 Docusaurus 配置包packages/docusaurus-config/文档内容批量管理工具docsmgRust 编写scripts/docsmg/【免费下载链接】authentikThe authentication glue you need.项目地址: https://gitcode.com/GitHub_Trending/au/authentik创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考