2 releases
0.2.1 | Feb 7, 2023 |
---|---|
0.2.0 | Feb 7, 2023 |
#2390 in Development tools
15KB
309 lines
A simple static site generator based on commits from a git repository.
How to use
The program expect to be launched within a git repository.
If so, it will walk through the commit history and pick those whose title are
prefixed by POST:
.
For every "post" found, an entry will be added to the index page, and a simple
HTML page will be generated using the title and the body (if present) of the
commit.
All the generated files will be stored in a public
folder in the current
working directory.
CLI
Glessite offers some options:
-r, --repository <REPOSITORY> Repository to use, default to current working dir, must be a valid path to a directory containing a .git
-o, --output-dir <OUTPUT_DIR> Output directory, default to `public`
-p, --prefix <PREFIX> Prefix to filter posts from normal commits, detault to `POST: `
-n, --no-prefix If present, every commit will be used, prefix option is ignored
Workflow example
- Create a "post" commit
# Inside a git repository
git commit --allow-empty -m "POST: Title" -m "Body of the post"
- Generate the site
glessite
- View the result by opening the generate web pages in a browser, for example
firefox public/index.html
# or
python -m http.server --directory public
How to build and install
- Install Rust, this documentation assume that you have access to the
cargo
command
With crates.io
- Install the crate
cargo install glessite
Manually
- Download the repository and compile:
git clone https://github.com/Lozul/glessite
cd glessite
cargo build --release
- Install the crate
cargo install --path .
How to uninstall
cargo uninstall glessite
License
This projet is under the MIT License.
The logo use the font Source Code Pro released under the SIL Open Font License 1.1.
Where does the name come from
Glessite is a type of natural resin, found it on this page. The name started with G like Git and ended with site, which fitted with the project being a site generator.
Dependencies
~16MB
~333K SLoC