46 lines
1.9 KiB
Markdown
46 lines
1.9 KiB
Markdown
# 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.)
|