One of the feature I like the most on Rust is automatic documentation. Documentation is a pillar in language ergonomic, and I love that Rust spend so much time into making documentation and documenting code a much pleasant experience.
Rust autogenerated documentation (with cargo doc
) looks good, every crate on crates.io get its documentation published on docs.rs, and, most important, every code example in the code is compiled and run as a “unit test” making sure that all the examples are up-to date!
I love that. But what if we want to customize a bit the documentation? For instance, by uploading a crate logo or a custom favicon? Googling this does not provide a lot of information. That’s why I am writing this small how to.
The #![doc] attribute
I started looking for a solution to this problem by watching the documentation of iron. That’s cool! I want it too!
The solution is very simple. In your main source file, add this line at the very beginning of the file:
|
|
It is simple as that!
More documentation for this amazing attribute can be found here.
The #![deny(missing_docs)] attribute
As a final bit, this is another attribute I like a lot. This forces me to put documentation in every public function. You know… I am a diligent developer… but I am like Haskell: lazy by default. It is a good thing to have the compiler yelling at me! :D