# lgpl-docs LGPL-licensed docs for Gtk-rs crates. ## Structure The docs for each library come from two files: * `docs.rs` is maintained manually, its entries take precedence over the `vendor.rs` file. PRs should normally target this file. * `vendor.rs` is generated by [gir] via simple transformation of the upstream docs found in [GIR definitions]. It serves as a fallback, the docs in it are tailored for C not Rust. This file should not be hand-edited. You can generate it as follows: ``` cd gir cargo run --release -- -c ../your-repo/Gir.toml -d ../gir-files/ -o ../your-repo/ -m doc ``` Cairo, which lacks GIR definitions, doesn't have a `vendor.rs` file. [GIR definitions]: https://github.com/gtk-rs/gir-files [gir]: https://github.com/gtk-rs/gir ## Format The format of the files is Markdown with extra metadata in HTML-like comments, which ties each entry to a specific Rust item. For example, this rustdoc snippet: ```rust impl Button { /// Creates a new `Button` widget. To add a child widget to the button, /// use `Container::add`. /// /// # Returns /// /// The newly created `Button` widget. pub fn new() -> Button { ``` corresponds to this entry in `gtk/vendor.md`: ``` Creates a new `Button` widget. To add a child widget to the button, use `Container::add`. # Returns The newly created `Button` widget. ``` ## License LGPL