注意

本文档适用于 Ceph 开发版本。

文档化Ceph

用户文档

文档在docs.ceph.com上生成自Ceph git仓库中的reStructuredText源代码。/doc/在Ceph git仓库中。

请确保您的更改以面向软件最终用户的方式编写,除非您正在为开发者部分添加内容。/doc/dev/,这是开发者部分。

所有修改用户界面功能的pull请求都必须包含相应的文档更新:参见提交补丁日志级别和内存级别可以一起或单独设置。如果子系统分配了一个值,则该值将决定日志级别和内存级别。例如,

通过在github用户界面中查看.rst文件差异时的“查看”按钮检查您的.rst语法是否按预期工作,或使用admin/build-doc脚本本地构建文档。

有关Ceph文档的更多信息,请参阅文档化Ceph.

代码文档

C和C++可以使用Doxygen进行文档化,使用由Breathe.

支持的Doxygen标记子集。

/**
 * Short description
 *
 * Detailed description when necessary
 *
 * preconditions, postconditions, warnings, bugs or other notes
 *
 * parameter reference
 * return value (if non-void)
 */

这应该在函数声明的头文件中,并且函数应分组到逻辑类别中。The librados Clibrados C API提供了一个完整的示例。它通过librados.rst引入Sphinx,该文件在Librados (C).

渲染。

# cmake --build . --target doxygen

HTML输出将在以下位置:build-doc/doxygen/html

绘制图表

Graphviz

You can use Graphviz,如Graphviz扩展文档中所述Graphviz扩展文档.

digraph "example" {

大多数情况下,您希望将实际的DOT源代码放在单独的文件中,如下所示:

.. graphviz:: myfile.dot

请参阅Dot用户手册

Ditaa

You can use Ditaa:

Blockdiag

如果出现这种情况,我们可以集成Blockdiag。它是一种Graphviz风格的声明性语言,用于绘制事物,并包括:

Inkscape

您可以使用Inkscape生成可缩放矢量图形。https://inkscape.org/en/用于restructuredText文档。

如果您使用Inkscape生成图表,您应该

通过提交SVG文件,其他人将能够使用Inkscape更新SVG图表。

HTML5将支持SVG内联。

由 Ceph 基金会带给您

Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.