diff --git a/docs/generating_docs.md b/docs/generating_docs.md new file mode 100644 index 0000000..9c4fc14 --- /dev/null +++ b/docs/generating_docs.md @@ -0,0 +1,38 @@ +# Generating Docs + +Like you can see on the left (if you are looking at the built MkDocs site), it's possible +to generate docs for Nixlets' values automatically. +Since the values are basically just Nix module options, we can generate docs similarly to NixOS options etc. + +## Generate Markdown + +This is all that's needed: + +```nix +().mkDocs { +# Params: +# transformOptions ? opt: opt, +# filter ? _: true, +# headingDepth ? 3, +} +``` + +This will return the path to a markdown file containing the docs, like this: + +````md +### `example` + +(no description) + +**Type**: + +```console +string +``` + +**Default value**: + +```nix +"Hello world!" +``` +```` diff --git a/nix/repo/docs.nix b/nix/repo/docs.nix index 2f5ced7..b111e3f 100644 --- a/nix/repo/docs.nix +++ b/nix/repo/docs.nix @@ -43,6 +43,7 @@ in {"Creating Nixlets" = "creation.md";} {"Packaging" = "packaging.md";} {"Usage" = "usage.md";} + {"Generating Docs" = "generating_docs.md";} {"Secrets" = "secrets.md";} ]; markdown_extensions = [ diff --git a/nix/repo/flake.lock b/nix/repo/flake.lock index cd48965..3db8b5f 100644 --- a/nix/repo/flake.lock +++ b/nix/repo/flake.lock @@ -38,11 +38,11 @@ "nixmkdocs-lib": { "locked": { "dir": "lib", - "lastModified": 1766000281, - "narHash": "sha256-rtQKu/snzEjZBCyTkZMWUIuvCThtjmVEwBXb6T1mm40=", + "lastModified": 1766062227, + "narHash": "sha256-jhr5CUi9eDeMIAJn7ayXP8Wr+Y2loV5EhdDIKDkRIdw=", "owner": "TECHNOFAB", "repo": "nixmkdocs", - "rev": "6999c026457d7dee3a7ab336cd4d1b38bae77957", + "rev": "cb0bb5dc3382e8ba5d81324a2f1fd94ccd5a5df4", "type": "gitlab" }, "original": {