2015-03-31 79 views
9

我目前正在与Rust and Cargo合作项目。它运行良好,但是我遇到了一个小问题:对于代码重用,我的大部分项目都在一个lib包中。在这个箱子里,很多东西都是私人的。所以当我做cargo doc时,我只是有公开的文档,出口的东西...这实际上很棒,因为很容易看出什么是出口,什么不是。如何通过Cargo生成文档时包含私有模块?

但我不得不承认:我错过了整个项目的完整的文档,为发展目的...

回答

4

这可以通过将参数传递给rustdoc完成后, --,例如。

cargo rustdoc -- \ 
    --no-defaults \ 
    --passes strip-hidden \ 
    --passes collapse-docs \ 
    --passes unindent-comments \ 
    --passes strip-priv-imports 

根据@ Shepmaster的回答,不需要手动复制粘贴。

10

您可能无法与今天货做,有一个解决办法,如果你使用rustdoc直。

运行cargo doc -v并记它运行rustdoc命令:

$ cargo doc -v 
    Compiling docz v0.0.1 (file:///private/tmp/docz) 
    Running `rustdoc src/lib.rs -o /private/tmp/docz/target/doc --crate-name docz -L dependency=/private/tmp/docz/target/debug -L dependency=/private/tmp/docz/target/debug/deps` 

然后,添加--no-defaults --passes strip-hidden --passes collapse-docs --passes unindent-comments的命令:

rustdoc src/lib.rs -o /private/tmp/docz/target/doc --crate-name docz \ 
    -L dependency=/private/tmp/docz/target/debug \ 
    -L dependency=/private/tmp/docz/target/debug/deps \ 
    --no-defaults \ 
    --passes strip-hidden --passes collapse-docs --passes unindent-comments 
+0

非常感谢,它的工作原理就像我所希望的。 – 2015-04-03 20:57:32

+1

如果你不想显示重新导出,你也可以添加'--passses strip-priv-imports'。 – 2016-09-01 03:53:43

1

现在这是简单,只需使用:

cargo rustdoc -- --document-private-items