# Contribute to this website

This website is based on [Sphinx] and uses [sphinx-book-theme] and [ablog]. Most content
is written in .md files using the [MyST] Markdown syntax.

The Mercurial repository is hosted on
https://foss.heptapod.net/py-edu-fr/py-edu-fr.pages.heptapod.net.

To learn how to get the source locally and send changes, read
[](./mercurial-heptapod.md).

## Install and build locally

One needs to install [PDM] and `make` (see [](./dev-tools.md)).

| commands      |                     |
| ------------- | ------------------- |
| `make`        | Local build         |
| `make format` | Format sources      |
| `make lock`   | Relock dependencies |

## Minimal example

This assumes that you read [](./mercurial-heptapod.md) and followed the instructions. One
also needs [PDM], [UV] and `make` (see [](./dev-tools.md)).

```sh
hg clone ssh://hg@foss.heptapod.net/py-edu-fr/py-edu-fr.pages.heptapod.net py-edu-fr.pages
cd py-edu-fr.pages
# build the website
make
# modify the source
# format and rebuild
make format html
```

[ablog]: https://ablog.readthedocs.io
[myst]: https://mystmd.org/guide/syntax-overview
[pdm]: https://pdm-project.org
[sphinx]: https://www.sphinx-doc.org
[sphinx-book-theme]: https://sphinx-book-theme.readthedocs.io
[uv]: https://docs.astral.sh/uv/
