staticsite
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
Dependencies
apt install python3-tz python3-unidecode python3-markdown python3-toml \
python3-yaml python3-jinja2 python3-dateutil python3-livereload \
python3-slugifyQuick start
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/webready to be served by a web server.
Useful tips:
- keep your browser open on
ssite servefor an automatic live preview of everything you do - you can use
python3 -m http.server 8000 --bind 127.0.0.1to serve the result ofssite buildand test your website before publishing - a quick rsync command for publishing the site:
rsync -avz example/web/ server:/path/to/webspace
Index of the documentation
- doc/site.md: layout of a
staticsitesite - doc/settings.md: site
settings.pyreference - 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
License
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/.
Author
Enrico Zini enrico@enricozini.org