第1章 概述

欢迎使用 FreeBSD 文档项目 (FDP)。高质量的文档对于 FreeBSD 的成功至关重要,我们非常重视您的贡献。

本文档描述了 FDP 的组织方式、如何编写和提交文档以及如何有效地使用可用工具。

欢迎所有人为 FDP 做出贡献。愿意贡献是唯一的成员资格要求。

本入门指南展示了如何

  • 了解文档的作用及其在生态系统中的位置。

  • 确定 FDP 维护的 FreeBSD 的哪些部分。

  • 安装所需的文档工具和文件。

  • 更改文档。

  • 提交更改以供审查并纳入 FreeBSD 文档。

1.1. FreeBSD 生态系统中的文档

所有文档都是为了造福读者,而不是为了造福作者或维护者。它们应该适应读者,而不是期望读者适应它们。

永远不要责怪读者

  • 无法轻松或根本无法使用文档

  • 发现文档令人困惑

  • 不理解文档或如何应用它

  • 找不到明确的答案或无法成功弥合差距(或连接点)以推理出答案

相反,承认文档是

  • 无法访问的

  • 令人困惑的

  • 难以理解或应用的

  • 不完整的

然后,使文档

  • 更易于访问

  • 不那么令人困惑

  • 更清晰

  • 更完整

使用以下方法

  • 应用 无障碍最佳实践 来纠正报告的问题以及您发现的任何类似问题

  • 重新设计或阐明令人困惑的结构或语言

  • 在难以理解或应用的部分添加相关示例

  • 填补空白或添加缺失的垫脚石

1.2. 快速入门

在编辑 FreeBSD 文档之前,必须采取一些准备步骤。首先,订阅 FreeBSD 文档项目邮件列表。一些团队成员还在 EFnet 上的 #bsddocs IRC 频道上进行互动。这些人可以帮助解答有关文档的问题或解决问题。

1.2.1. FreeBSD 安装过程

  1. 安装这些软件包。docproj 元端口安装执行 FreeBSD 文档相关工作所需的所有应用程序。

    # pkg install docproj
  2. 从 FreeBSD 存储库中在 ~/doc 中安装文档的本地工作副本(请参阅 工作副本)。

    % git clone https://git.FreeBSD.org/doc.git ~/doc
  3. 编辑需要更改的文档文件。如果文件需要进行重大更改,请咨询邮件列表以获取输入。

    查看输出并编辑文件以修复显示的任何问题,然后重新运行命令以查找任何剩余的问题。重复此操作,直到所有错误都得到解决。

  4. 始终在提交更改之前构建和审查更改。在 documentationwebsite 子目录中运行 make 将生成 HTML 格式的文档。

    % make

    为了减少编译时间,只能编译一种语言

    % make DOC_LANG=en

    构建输出存储在 ~/doc/documentation/public/en/articles/~/doc/documentation/public/en/books/ 中。

  5. 查看构建输出并确保编辑内容没有错别字、布局问题或错误。如果在构建过程中发现任何错误,请编辑有问题的文件以修复显示的任何问题,然后再次运行构建命令,直到所有错误都得到解决。

  6. 使用 git add . 添加所有文件,然后使用 git diff 查看差异。例如

    % git add .
    % git diff --staged

    确保包含所有必需的文件,然后将更改提交到您的本地分支并使用 git format-patch 生成补丁

    % git commit
    % git format-patch origin/main

    使用 git format-patch 生成的补丁将包含作者身份和电子邮件地址,使开发人员更容易应用(使用 git am)并给予适当的认可。

    为了使提交者更容易在其文档树的工作副本上应用补丁,请从文档树的根目录生成 .diff

    在上面的示例中,已对手册的 bsdinstall 部分进行了更改。

  7. 使用基于 Web 的 问题报告 系统提交补丁或差异文件。如果使用 Web 表单,请输入 [补丁] 问题的简短描述 的摘要。选择组件 Documentation。在“描述”字段中,输入更改的简短描述以及有关它们的任何重要详细信息。使用 添加附件 按钮附加补丁或差异文件。最后,使用 提交 Bug 按钮将您的差异提交到问题报告系统。

1.2.2. GNU/Linux 安装过程

  1. 在基于 apt 的系统(如 Debian 或 Ubuntu)中安装这些软件包。在其他 GNU/Linux 发行版中,软件包名称可能会更改。如有疑问,请咨询您发行版的软件包管理器。

    # apt install hugo ruby-asciidoctor ruby-asciidoctor-pdf ruby-rouge git bmake
  2. 从 FreeBSD 存储库中在 ~/doc 中安装文档的本地工作副本(请参阅 工作副本)。

    % git clone https://git.FreeBSD.org/doc.git ~/doc
  3. 编辑需要更改的文档文件。如果文件需要进行重大更改,请咨询邮件列表以获取输入。

    查看输出并编辑文件以修复显示的任何问题,然后重新运行命令以查找任何剩余的问题。重复此操作,直到所有错误都得到解决。

  4. 始终在提交更改之前构建和测试更改。在 documentationwebsite 子目录中运行 bmake 将生成 HTML 格式的文档。

    % bmake run LOCALBASE=/usr
  5. 使用 git add . 添加所有文件,然后使用 git diff 查看差异。例如

    % git add .
    % git diff --staged

    确保包含所有必需的文件,然后将更改提交到您的本地分支并使用 git format-patch 生成补丁

    % git commit
    % git format-patch origin/main

    使用 git format-patch 生成的补丁将包含作者身份和电子邮件地址,使开发人员更容易应用(使用 git am)并给予适当的认可。

    为了使提交者更容易在其文档树的工作副本上应用补丁,请从文档树的根目录生成 .diff

  6. 使用基于 Web 的 问题报告 系统提交补丁或差异文件。如果使用 Web 表单,请输入 问题的简短描述 的摘要。选择组件 Documentation。在“描述”字段中,输入“摘要”字段中问题的简短描述,并在“关键字”字段中添加 patch。使用 添加附件 按钮附加补丁或差异文件。最后,使用 提交 Bug 按钮将您的差异提交到问题报告系统。

1.2.3. macOS® 安装过程

  1. 使用 HomebrewRubyGem 安装这些软件包。

    $ brew install hugo ruby git bmake
  2. 将 Ruby 添加到路径中。

    $ echo 'export GEM_PATH="$(gem environment gemdir)"' >> ~/.zshrc
    $ echo 'export PATH="$(brew --prefix ruby)/bin:$PATH"' >> ~/.zshrc
    $ source ~/.zshrc
  3. 将 git 别名添加到 Homebrew git,因为 Apple 提供的 git 中的 git format-patch 无法与 Phabricator 一起使用。

    $ echo 'alias git=/usr/local/bin/git' >> ~/.zshrc
    $ source ~/.zshrc
  4. 使用 RubyGem 安装 rouge 软件包。

    $ sudo gem install rouge asciidoctor asciidoctor-pdf asciidoctor-epub3
  5. 从 FreeBSD 存储库中在 ~/doc 中安装文档的本地工作副本(请参阅 工作副本)。

    $ git clone https://git.FreeBSD.org/doc.git ~/doc
  6. 编辑需要更改的文档文件。如果文件需要进行重大更改,请咨询邮件列表以获取输入。

    查看输出并编辑文件以修复显示的任何问题,然后重新运行命令以查找任何剩余的问题。重复此操作,直到所有错误都得到解决。

  7. 始终在提交更改之前构建和测试更改。在 documentationwebsite 子目录中运行 bmake 将生成 HTML 格式的文档。

    $ bmake run USE_RUBYGEMS=YES RUBY_CMD=$(brew --prefix ruby)/bin/ruby
  8. 使用 git add . 添加所有文件,然后使用 git diff 查看差异。例如

    % git add .
    % git diff --staged

    确保包含所有必需的文件,然后将更改提交到您的本地分支并使用 git format-patch 生成补丁

    % git commit
    % git format-patch origin/main

    使用 git format-patch 生成的补丁将包含作者身份和电子邮件地址,使开发人员更容易应用(使用 git am)并给予适当的认可。

    为了使提交者更容易在其文档树的工作副本上应用补丁,请从文档树的根目录生成 .diff

  9. 使用基于 Web 的 问题报告 系统提交补丁或差异文件。如果使用 Web 表单,请输入 问题的简短描述 的摘要。选择组件 Documentation。在“描述”字段中,输入“摘要”字段中问题的简短描述,并在“关键字”字段中添加 patch。使用 添加附件 按钮附加补丁或差异文件。最后,使用 提交 Bug 按钮将您的差异提交到问题报告系统。

1.3. FreeBSD 文档集

FDP 负责四类 FreeBSD 文档。

  • 手册:手册是 FreeBSD 用户的综合在线资源和参考。

  • 常见问题解答 (FAQ):FAQ 使用简短的问答格式来解答在各种 FreeBSD 邮件列表和论坛中经常提出的问题。这种格式不允许提供冗长和全面的答案。

  • 手册页:英语系统手册页通常不是由 FDP 编写的,因为它们是基本系统的一部分。但是,FDP 可以改写现有手册页的部分内容,使其更清晰或更正错误。

  • 网站:这是 FreeBSD 在网络上的主要存在,可以通过 https://freebsd.ac.cn/ 和世界各地的许多镜像访问。网站通常是新用户第一次接触 FreeBSD 的途径。

翻译团队负责将手册和网站翻译成不同的语言。目前手册页没有翻译。

FreeBSD 网站、手册和 FAQ 的文档源代码可在位于 https://cgit.freebsd.org/doc/ 的文档存储库中找到。

手册页的源代码位于位于 https://cgit.freebsd.org/src/ 的单独源代码存储库中。

可以使用 git log 查看文档提交信息。提交信息也存档在 doc 存储库所有分支的提交信息

这两个存储库的 Web 前端分别位于 https://cgit.freebsd.org/doc/https://cgit.freebsd.org/src/

许多人编写了关于 FreeBSD 的教程或操作指南文章。有些文章作为 FDP 文件的一部分存储。在其他情况下,作者决定将文档分开保存。FDP 努力提供尽可能多的此类外部文档的链接。


上次修改时间:2024 年 3 月 9 日,由 Danilo G. Baio 修改