Skip to main content

Crate abbaye

Crate abbaye 

Source
Expand description

§Abbaye

Abbaye is a Static Site Generator (SSG) for your software. As GitHub, Gitea, Forgejo and consorts offer, Abbaye can be used to generate a website with your software’s presentation, documentation, and distribution, per version.

Here’s an example file structure:

.
├── index.html # the main page of the website, enabling choosing a version, defaults to "latest" (contains a list of available versions and a iframe to the selected version?)
├── latest -> v2.0.0 # symlink to the latest version (biggest version number)
├── v1.0.0/ # the directory containing the version 1.0.0 of the software
│   ├── index.html # the main page of the version 1.0.0, from the README.md file.
│   │   # Contains a sidebar with links to the documentation and distribution.
│   │   # After the readme content, A changelog is displayed.
│   ├── docs/ # the directory containing the documentation of the version 1.0.0
│   │   ├── index.html # the main page of the documentation of the version 1.0.0
│   │   └── …
│   ├── docs.tar.gz # the tarball containing the documentation of the version 1.0.0
│   └── dist/ # the directory containing the distribution of the version 1.0.0
│       ├── source.tgz # the source code of the version 1.0.0
│       ├── mybin-v1.0.0-x86_64-unknown-linux-gnu
│       └── mybin-v1.0.0-x86_64-unknown-linux-musl
└── v2.0.0/ # the directory containing the version 2.0.0 of the software
    ├── index.html # the main page of the version 2.0.0
    ├── …
    └── …

Modules§

builders
All builders for the site (ex: cargo build, cargo doc, etc.).
changelog
Parses the changelog file and generates a changelog page for the site.
config
Handles the abbaye.toml configuration file.
site
Generates the site from the configuration and builds it.
version_extractors
Extracts current version information from different sources (ex: git tags, cargo metadata, etc.).

Functions§

main 🔒