Markdown-based static site generator
Project description
Gemerald
A markdown-based static site generator for HTTP and Gemini. Inspired by Hugo. Written in Python.
Try it out
This repository provides an example project for you to play around. You can try to build it with just a few commands
pip install gemerald
gemerald example
ls -la example-build
Gemerald markdown
We use specific subset of markdown with some extensions. Here is features currently supported:
Markdown features currently working
- Normal text
- Headings
#-###### - Ordered lists
- Unordered lists
- Bold
- Italics
- Quotes
- Nested lists
- Code snippets
- Tables
- Inline code snippets
- Links
- Images
Markdown features that wont be supported
- Inline links - All links must be placed on separate lines
Extra markdown features
- Authors for quotes
- Raw
.htmlsnippets - Raw
.gmisnippets - Metadata headers
SSG features
- Templating
- Blog templating (one template for multiple files)
- Listings
- Auto copyright date
- Images rescaling in build time
- Image cache
- Git integration for edit log
Output formats
- Plaintext
- HTML
- Gemini markup
- Markdown (Yes! Markdown from Markdown)
- RSS feed
- Atom feed
Project Guide
Compatibility
- Python 3.12
Basic directory structure
To start building your site you will need 3 directories:
- templates
- static
- content
static directory will hold all your assets for the website.
This catalog will be copied to every output format under the path /static.
Please put your images there.
content directory contains all your markdown files.
These will be translated into output formats.
It can contain subfolders.
Subfolders will apear in output ass well.
templates is a directory that contains only other subdirectories.
All subdirectories must be named just like needed output formats.
As an example, if you need to produce HTML output, all your HTML templates will be placed under
templates/html.
Config files
Each format's template directory must contain additional file named config.yaml.
This file contains all configuration for given format.
This is a list of mandatory keys that need to be present:
enabled(boolean) - Prevent output for given format by setting this to false.
Templating
Blog entires
Who uses it?
- wilmhit.pw (not yet)
- hspoz.pl (If they will be willing to)
- Your website
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gemerald-0.1.tar.gz.
File metadata
- Download URL: gemerald-0.1.tar.gz
- Upload date:
- Size: 35.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92ef6c06b1451f1b51736f4eecd43d7529ebd8f79ce6d841c56d38763bb9e187
|
|
| MD5 |
ddf52650d94647e24884324789d5b107
|
|
| BLAKE2b-256 |
8e4af8af55974176fb2a09174a6fdeb1f90e355d7033cea0eab7ee12bab029f3
|
File details
Details for the file gemerald-0.1-py2.py3-none-any.whl.
File metadata
- Download URL: gemerald-0.1-py2.py3-none-any.whl
- Upload date:
- Size: 33.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87b1fadc4539950a8ddaebdf12c97dbad84b79e450a96436a4905a7db6a34a6e
|
|
| MD5 |
582af3179fa2aaf7d122dd9e6ce635f2
|
|
| BLAKE2b-256 |
52907870da1a88904448f7b65e3beb63ab85993f69938ecf403e1d92ee47a99e
|