编辑文档 (Open Source)
本文档使用 Hugo 构建,并使用 Doks 主题的一个变体。
网站的静态文件通过 GitHub Actions 构建,并发布到 gh-pages 分支。
如何运行本地预览
- 安装 Hugo。请确保安装的是支持 Sass/SCSS 的扩展版(extended version)。请注意,Hugo GitHub 上提供了多种 Linux 软件包
- 使用 Node.js 安装所需主题:执行
cd docs,然后运行npm install。 - 要运行文档本地服务器,执行
cd docs切换到 docs 文件夹,然后运行npm run dev启动 Hugo 开发服务器。系统支持热重载——服务器运行期间,页面会随更改自动更新。 - 访问 http://localhost:1313。
贡献指南
现阶段,我们的文档主要由 DefectDojo Pro 团队维护,但我们仍然欢迎社区为文档做出贡献。
- 请注意,我们的搜索功能使用指向 docs.defectdojo.com 的外部索引——因此您无法通过搜索找到仍在 dev 分支中的页面。请改为查阅本地的 sitemap.xml 文件,以查找您新创建的 URL:
http://localhost:1313/sitemap.xml - 我们的文档目前面向两类受众撰写:开源版和 Pro 版,因此请在 Hugo 前置元数据(front matter)中包含相应的标签,如下所示:
---
title: "Your great article"
audience: opensource
---- 请勿使用相对链接路径:
[link](../your_article/)。虽然在 Hugo 中技术上"合法",但这样无法通过我们的单元测试。
文档的单元测试
DefectDojo 的文档使用 Lychee 检查 404 及其他链接错误。CI 会运行两项检查:渲染后的文档站点,以及硬编码在 Django 应用(模板和设置)中的任何 docs.defectdojo.com URL。两者都使用 --remap,以便绝对的 docs.defectdojo.com URL 能够解析到最新构建的站点。要在仓库根目录本地运行这两项检查:
cd docs && rm -rf public/ && hugo --minify --gc --config config/production/hugo.toml && cd ..
lychee --offline --no-progress \
--root-dir "$PWD/docs/public" \
--remap "https://docs.defectdojo.com file://$PWD/docs/public" \
'./docs/public/**/*.html'
lychee --offline --no-progress \
--root-dir "$PWD/docs/public" \
--remap "https://docs.defectdojo.com file://$PWD/docs/public" \
--exclude '%7[BD]' \
$(grep -rl 'docs\.defectdojo\.com' dojo/ --include='*.html' --include='*.py' --include='*.tpl')主题覆盖
我们使用了大量的 CSS 覆盖,详情记录在 docs/layouts 中。