A library for rustdocifying README.md
for inclusion in lib.rs
.
docs.rs
links to rustdoc format.unsafe
.Cargo.toml
:toml
[build-dependencies]
readme-rustdocifier = "0.1.0"
README.md
.build.rs
with following content:```no_run use std::{env, error::Error, fs, path::PathBuf};
const CRATENAME: &str = "yourcratenamehere";
fn main() -> Result<(), Box
lib.rs
:```no_run
```
cargo doc
and see the generated documentation of your library.README.md
```markdown
A foo library.
Create [Foo::new
].
```
Above README.md
is rustdocified to:
```markdown
A foo library.
Create [Foo::new
].
```
Lines like [...]: https://docs.rs/PACKAGE/...
are converted to rustdoc format.
Following conversions are done:
https://docs.rs/PACKAGE
(1)
crate
https://docs.rs/PACKAGE#fragment
(1)
crate#fragment
https://docs.rs/PACKAGE/VERSION
(2)
crate
https://docs.rs/PACKAGE/VERSION#fragment
(2)
crate#fragment
https://docs.rs/PACKAGE/VERSION/CRATE/MODULES
(2)
crate::MODULES
https://docs.rs/PACKAGE/VERSION/CRATE/MODULES#fragment
(2)
crate::MODULES#fragment
https://docs.rs/PACKAGE/VERSION/CRATE/MODULES/enum.ENUM.html
crate::MODULES::ENUM
https://docs.rs/PACKAGE/VERSION/CRATE/MODULES/enum.ENUM.html#method.METHOD
crate::MODULES::ENUM::METHOD
https://docs.rs/PACKAGE/VERSION/CRATE/MODULES/enum.ENUM.html#variant.VARIANT
crate::MODULES::ENUM::VARIANT
https://docs.rs/PACKAGE/VERSION/CRATE/MODULES/enum.ENUM.html#fragment
crate::MODULES::ENUM#fragment
https://docs.rs/PACKAGE/VERSION/CRATE/MODULES/fn.FUNCTION.html
crate::MODULES::FUNCTION
https://docs.rs/PACKAGE/VERSION/CRATE/MODULES/fn.FUNCTION.html#fragment
crate::MODULES::FUNCTION#fragment
https://docs.rs/PACKAGE/VERSION/CRATE/MODULES/struct.STRUCT.html
crate::MODULES::STRUCT
https://docs.rs/PACKAGE/VERSION/CRATE/MODULES/struct.STRUCT.html#method.METHOD
crate::MODULES::STRUCT::METHOD
https://docs.rs/PACKAGE/VERSION/CRATE/MODULES/struct.STRUCT.html#fragment
crate::MODULES::STRUCT#fragment
https://docs.rs/PACKAGE/VERSION/CRATE/MODULES/trait.TRAIT.html
crate::MODULES::TRAIT
https://docs.rs/PACKAGE/VERSION/CRATE/MODULES/trait.TRAIT.html#tymethod.METHOD
crate::MODULES::TRAIT::METHOD
https://docs.rs/PACKAGE/VERSION/CRATE/MODULES/trait.TRAIT.html#fragment
crate::MODULES::TRAIT#fragment
Notes:
/
at path end./
or /index.html
at path end./MODULES
and corresponding ::MODULES
can be empty.This crate doesn't use any unsafe
code.
This is enforced by #![forbid(unsafe_code)]
.