security-force-monitor/research-handbook
GitHub: security-force-monitor/research-handbook
安全武力观察组织的研究方法论文档,提供安全部队调查的标准化方法和数据模型说明。
Stars: 5 | Forks: 2
# 安全武力观察组织:研究手册
本代码库包含安全武力观察组织的研究手册,该手册已公开部署在 `help.securityforcemonitor.org `_。研究手册记录了安全武力观察组织(SFM)用于调查据称违反人权法和国际刑法的警察、军队及其他安全与防御部队的研究方法。它概述了 SFM 的研究方法论,并对 SFM 的数据模型进行了说明。它还包含 SFM 的 `WhoWasInCommand.com `_。
## 文档工具集
- 研究手册的文本使用 `reStructuredText `_ 编写。早期版本使用 Markdown 编写,并发布在 GitBook 上。
- `Sphinx Python 文档生成器 `_ 将其转换为美观的网页。使用 ``pip`` 进行安装。
- 研究手册托管在 `ReadTheDocs `_ 上,使用的是免费账户。这项服务令人惊叹,我们应该给他们捐款!
- 当前的翻译工具是 `Transifex `_。使用 ``pip`` 安装本地客户端,并配置正确的凭据。
- 整个项目都在 git 下进行版本控制,并被推送到 Github,Github 通过 webhook 连接到 ReadTheDocs:推送到代码库 ``master`` 分支的更改将自动推送到 ReadTheDocs。
本系统的搭建使用了 ReadTheDocs 自身文档中描述的步骤。其中关于 `管理翻译 `_ 的页面特别有帮助。
## 如何执行一些常见任务
以下是关于如何在此系统中完成一些任务的说明。
## 如何对现有手册内容进行简单更新
- 创建并检出一个新的 git 分支以进行更改(例如:``git checkout -b mychanges``)
- 在 ``/source`` 下的 .rst 文件中更新您想要进行的任何更改。
- 运行 ``make html``,这些更改将随即反映在 ``/build`` 目录的文件中。
- 解决此时 Sphinx 报出的任何错误;它的错误信息非常详尽且很有帮助。
- 为确保更改能被不同的翻译版本获取,请运行 ``sphinx-build -b gettext source/ build/gettext``。
- 使用 ``tx push --source`` 将更新后的源文件上传到 Transifex。
- 在 Transifex 中完成翻译,然后使用 ``tx pull --all`` 将它们拉取回代码库。
- 提交对代码库的更改;合并并推送到 ``master``。
- 您将惊叹于 ReadTheDocs 会使用这些新更改重新构建文档并将其发布到 ``latest`` 分支。如果这没有自动发生,请检查 webhook。
## 如何向手册添加新页面
- 创建并检出一个新的 git 分支来完成此工作。
- 在 ``/source`` 目录下创建新页面 ``foo.rst`` 并添加内容。
- 更新 ``/source/index.rst`` 以确保新页面出现在文档树中。
- 完成上述 :ref:`如何对现有手册内容进行简单更新` 中描述的步骤,这将确保新页面被构建并推送到 Transifex 进行翻译。
## 如何向手册添加完整的新翻译
- 将新语言添加到研究手册的 Transifex 项目页面中。
- 为此工作创建一个新的 git 代码库。
- 使用 ``tx pull --all`` 将其拉取到本地代码库。
- 新的翻译文件将在 ``/locales//`` 中创建。
- 合并并将新的翻译文件推送到 ``master``。
- 前往 ReadTheDocs 为该翻译创建一个新项目,并记得设置和确认连接 Github 和 ReadTheDocs 的 webhook。这里的关键在于,新项目从同一个 git 代码库拉取数据,但系统会将其视为主手册的一个翻译版本。为此,新项目的语言设置应与翻译语言相匹配。然后,在主手册的项目中,指定这个新项目是它的一个翻译。
标签:DNS解析, Git, IPv6支持, Python, ReadTheDocs, reStructuredText, RST, Sphinx, Transifex, Webhook, WhoWasInCommand, 人权法, 军队, 力导向图, 后端开发, 国际刑法, 国际法, 安全管理, 安全部队, 开源项目, 数据模型, 文档生成, 无后门, 研究方法论, 网络安全研究, 警察, 逆向工具