Agda-Material
Agda-Material automates the steps that Agda leaves to the user when generating web pages and LaTeX files.
This is the README page for the repository pdmosses/agda-material. It explains how to create a repository for using Agda-Material.
See the home page for an overview of motivation and features.
See the user guide for a summary of how to generate websites and PDFs with Agda-Material.
Repository contents
The repository contains the following files:
agda: directory for Agda source codedocs: directory for generating a websitedocs/javascripts: directory for Javascript filesdocs/stylesheets: directory for CSS filesdocs/.nav.yml: configuration file for navigation panelsdocs/about.md: Markdown source for the home pagedocs/README.md: Markdown source for this README pagedocs/Library/index.md: Markdown source for the Library page
agda-custom.sty: package for overriding commands defined inagda.styagda-unicode.sty: package mapping Unicode characters for Agda to LaTeXMakefile: automation of website and PDF generationmkdocs.yml: configuration file for the generated websiteUNLICENSE: release into the public domain
The repository does not contain any generated files.
By default, Agda-Material creates generated files in the following directories:
docs/html: HTML filesdocs/md: Markdown filesdocs/pdf: PDF fileslatex: LaTeX files
The default directories for Agda source code and generated files can be changed
by editing the Makefile.
The location of the directory docs can be configured by setting docs_dir in
mkdocs.yml.
Software dependencies
Agda-Material has been tested with the software versions listed below. It should produce similar results with other recent versions.
Website generation
- Python 3 (3.14.0)
- pipx (1.8.0)
- MkDocs (1.6.1)
- Material for MkDocs (9.6.23)
- Awesome-nav (3.2.0)
Versioned websites
- mike (2.0.0)
PDF generation
- TeXLive (2025)
Platform dependencies
Agda-Material has been developed and tested on MacBook laptops with Apple M1 and M3 chips running macOS Sequoia (15.6) with CLI Tools.
Please report any issues with using Agda-Material on other platforms, including all relevant details. Pull requests for addressing such issues are welcome.
Installing Agda-Material
Check that you have installed all the relevant software dependencies.
Then:
Either create a fresh repository
- Click on the Use this template button (near the top of the page)
Locally:
- Clone the resulting repository
Or copy files to your existing repository
- Click on <> Code then Clone or Download
Locally:
-
Copy/merge the following files and directories from
agda-materialto your repository:Makefilemkdocs.ymlagda-custom.styagda-unicode.styagda/*docs/*.gitignore
Testing Agda-Material
-
In a terminal:
cd agda-material make all make serve -
Then in a web browser:
- Open
localhost:8000/agda-material - Check that the local site corresponds to
https://pdmosses.github.io/agda-material
- Open
-
In the terminal:
make clean-allCheck that the following generated directories have all been removed:
docs/htmldocs/mddocs/pdflatex
Preparing to use Agda-Material
Update the MkDocs settings
In mkdocs.yml, update the repository settings:
site_namesite_urlrepo_namerepo_url
Replace the Agda modules
- Remove the
agdadirectory. - Add a directory containing your own Agda modules.
-
In
Makefile:- set the value of
DIRto the directory containing your Agda modules - set the value of
ROOTto the path to a module that imports all the other modules to be listed in the website
- set the value of
Update Markdown source files and navigation
In the docs directory:
- replace
about.md,README.md, anduser-guide.mdby your own file(s) - update
.nav.ymlto create the navigation hierarchy for generated websites
See the user guide for a summary of how to generate websites and PDFs with Agda-Material.
Contributing
Please use the issue tracker to report any issues that arise.
Comments and suggestions for improvement are welcome, and can be added as [Discussions].
Contact
Peter Mosses