Static site generator.
Input:
- a configuration file
- markdown files
- jinja2 templates
- any other file that should be published as-is
Output:
- a site with the same structure as the input
apt install python3-tz python3-unidecode python3-markdown python3-toml \
python3-yaml python3-jinja2 python3-dateutil python3-livereload \
python3-slugify
Example steps to create a new post, seeing it in the live preview, and build the site ready to be published:
- Start a preview of the site:
ssite serve example
- Open http://localhost:8000 in the browser.
- Create a new post:
ssite new example
- Save the new post, it automatically appears in the home page in the browser.
- Finally, build the site:
ssite build example
- The built site will be in
example/web
ready to be served by a web server.
Useful tips:
- keep your browser open on
ssite serve
for an automatic live preview of everything you do - you can use
python3 -m http.server 8000 --bind 127.0.0.1
to serve the result ofssite build
and test your website before publishing - a quick rsync command for publishing the site:
rsync -avz example/web/ server:/path/to/webspace
- doc/site.md: layout of a
staticsite
site - doc/settings.md: site
settings.py
reference - doc/contents.md:
site/
reference - doc/theme.md:
theme/
reference - doc/archetypes.md:
archetypes/
reference - doc/markdown.md: Markdown pages reference
- doc/templates.md: Jinja2 templates reference
- doc/taxonomies.md: taxonomy reference
- doc/series.md: page series reference
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Enrico Zini enrico@enricozini.org