blob: de1a7ed4498b9dead0fa71008a3e2e7c589d5e83 [file] [log] [blame] [view]
# IREE User-Facing Documentation Website
This directory contains the source and assets for <https://iree.dev/>.
The website is generated using [MkDocs](https://www.mkdocs.org/), with the
[Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) theme and
is served using [GitHub Pages](https://pages.github.com/).
## How to edit this documentation
Follow <https://squidfunk.github.io/mkdocs-material/getting-started/> and read
<https://www.mkdocs.org/>.
All steps below are from this `docs/website/` folder.
**Setup** as needed:
```shell
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
**Develop** by building and running a local webserver:
```shell
# Optionally generate extra files, e.g. MLIR dialect pages produced by tablegen
# The website will still work without these pages.
# ./generate_extra_files.sh
mkdocs serve
```
### Deploying the documentation
The
[`publish_website.yml`](https://github.com/iree-org/iree/actions/workflows/publish_website.yml)
workflow in <https://github.com/iree-org/iree> builds the website and deploys
it automatically.
If you want to host the documentation on your own GitHub Pages site, such as to
allow code reviewers to preview your changes, you can deploy the documentation
yourself.
> [!IMPORTANT]
> If you are just previewing changes locally, you don't need this!
>
> This force pushes to the `gh-pages` branch on `<your remote>`. Please don't
> push to the main <https://github.com/iree-org/iree> repository :)
To deploy to a remote:
```shell
mkdocs gh-deploy --remote-name <your remote>
```
Assuming you have GitHub Pages configured for your remote from the `gh-pages`
branch (see `https://github.com/<your remote>/iree/settings/pages`), the
website should be live shortly at `https://<your remote>.github.io/iree`.
## Website sections and authoring tips
For more details on how this is set up, see
[IREE Website Overview - July 10, 2023](https://docs.google.com/presentation/d/116TyW_aCsPXmmjRYI2tRqpOwDaGNoV8LDC_j9hsMrDk/edit?usp=sharing)
(though note that the website organization has changed since then).
For documentation language and style, the guide at
<https://developers.google.com/style> offers good advice.
### Building from source
Instructions on how to build the project from source on supported platforms.
* Focus on instructions that apply to all users, independent of specific
package managers and development styles
* Set developers up for success with good default options
* Explain how interact with the build system and its outputs
### Guides
Workflow-oriented guides showing users how to accomplish tasks
### Reference
Unopinionated descriptions of system components
### Developers
Less structured pages for project development topics
* Pages may be "promoted" from this category to another category if they are
generally useful to a wide enough range of developers
### Community (Blog)
A place to showcase work across the community