There's been a bit of a discussion for this before, but I decided to create an issue that we can track the progress on this idea with.
So, rust has this doc-comments macro (and a syntax sugar /// for it), and a rustdoc utility that can generate the human-readable documentation from them.
It would be kind of cool to be able to use the same comments we have in the code as the documentation:
- we get to have the documentation driven from the actual source code, thus it's less likely to diverge;
- the code will be properly documented, in addition to docs being available to the website;
- we'll have a single source of truth for the documentation of a component;
- it'll be much more natural to add the docs together with the code, "while you're at it".
There are multiple approaches we could take to derive the website docs from the doc-comments:
rustdoc generates the HTML documentation pages; we could parse the generated HTML and fetch the data out of it;
rustdoc could also generate raw Markdown documentation (via -w / --output-format flags) - that option has been deprecated though;
rustdoc is (re)gaining the ability to generate JSON via (--output-format json) - it's currently a WIP, but we could use that once it's implemented and goes out of nightly (or we could use it in nightly).
- we can consume the doc-comment macros directly - see https://rustc-dev-guide.rust-lang.org/rustdoc.html;
- we could add a plugin to
rustdoc to produce the output in the whatever form we need - that option has been deprecated though;
- we can parse the raw rust code manually and fetch the
///s from it.
So, that's all I have to pose the problem, let's discuss!
There's been a bit of a discussion for this before, but I decided to create an issue that we can track the progress on this idea with.
So, rust has this doc-comments macro (and a syntax sugar
///for it), and arustdocutility that can generate the human-readable documentation from them.It would be kind of cool to be able to use the same comments we have in the code as the documentation:
There are multiple approaches we could take to derive the website docs from the doc-comments:
rustdocgenerates the HTML documentation pages; we could parse the generated HTML and fetch the data out of it;rustdoccould also generate raw Markdown documentation (via-w/--output-formatflags) - that option has been deprecated though;rustdocis (re)gaining the ability to generate JSON via (--output-format json) - it's currently a WIP, but we could use that once it's implemented and goes out of nightly (or we could use it in nightly).rustdocto produce the output in the whatever form we need - that option has been deprecated though;///s from it.So, that's all I have to pose the problem, let's discuss!