Document generator for my Bookshelf project
 
 
 
 
Go to file
Henrik Böving 162de4ad98 feat: consistent font inheritance 2023-11-11 17:18:46 +01:00
.github/workflows chore: update toolchain 2023-08-06 16:07:24 +02:00
DocGen4 feat: use Kyle Miller's instance analysis algorithm 2023-11-05 09:57:31 +01:00
static feat: consistent font inheritance 2023-11-11 17:18:46 +01:00
.gitignore feat: add jump-src.js for #src links 2023-09-21 11:38:22 +02:00
DocGen4.lean chore: update toolchain and dependencies 2022-08-09 23:30:43 +02:00
LICENSE Initial commit 2021-11-10 17:41:28 -08:00
Main.lean perf: Don't call Lake from within doc-gen anymore 2023-10-09 09:30:16 +02:00
README.md feat: Always document the transitive closure of a module 2023-10-07 21:07:55 +02:00
lake-manifest.json chore: update dependencies 2023-11-05 09:59:30 +01:00
lakefile.lean chore: update dependencies 2023-11-05 09:59:30 +01:00
lean-toolchain chore: bump lean-toolchain to v4.2.0-rc4 2023-10-22 09:25:36 +11:00
test_docs.sh chore: update toolchain 2023-08-06 16:07:24 +02:00

README.md

doc-gen4

Document Generator for Lean 4

Usage

doc-gen4 is the easiest to use via its custom Lake facet, in order to do this you have to add it to your lakefile.lean like this:

meta if get_config? env = some "dev" then -- dev is so not everyone has to build it
require «doc-gen4» from git "https://github.com/leanprover/doc-gen4" @ "main"

Then update your dependencies:

lake -Kenv=dev update

Then you can generate documentation for an entire library and all files imported by that library using:

lake -Kenv=dev build Test:docs

If you have multiple libraries you want to generate full documentation for:

lake -Kenv=dev build Test:docs Foo:docs

Note that doc-gen currently always generates documentation for Lean, Init and Lake in addition to the provided targets.

Development of doc-gen4

You can build docs using a modified doc-gen4 as follows: Replace the from git "..." @ "main" in the lakefile.lean with just from "..." using the path to the modified version of doc-gen4. E.g. if the path to the modified version of doc-gen4 is ../doc-gen4, it would be:

meta if get_config? env = some "dev" then -- dev is so not everyone has to build it
require «doc-gen4» from "../doc-gen4"

The root of the built docs will be build/docs/index.html. However, due to the "Same Origin Policy", the generated website will be partially broken if you just open the generated html files in your browser. You need to serve them from a proper http server for it to work. An easy way to do that is to run python3 -m http.server from the build/docs directory.

Note that if you modify the .js or .css files in doc-gen4, they won't necessarily be copied over when you rebuild the documentation. You can manually copy the changes to the build/docs directory to make sure the changes appear, or just do a full recompilation (lake clean and lake build inside the doc-gen4 directory.)