A simple and minimal static site generator.
Project description
A simple and mnml static site generator that Just Works™
Installation
$ pip install vite
Usage
$ vite new <project-path>
Write your Markdown files in the pages
directory and execute:
$ vite build # in project directory
Rendered HTML will be in the build
directory.
Finally, run:
$ vite serve # also in the project directory
to serve the contents of the build
directory.
Configuration
Not very sophisticated, but basic configuration can be acheived using
config.py
found in the project directory.
Example config:
# config.py
title = ''
author = ''
header = ''
footer = ''
template = 'index.html' # default is templates/index.html
Templating
Vite uses Jinja2 templating, so template files must be placed in a separate templates/
directory.
A basic example would be:
<link rel="stylesheet" href="/static/sakura-earthy.css">
<title> {{ title }} </title>
<body>
{{ body }}
</body>
<footer>
{{ footer }}
</footer>
Specifying per-page templates
Vite allows for specifying a unique template, per page. This is acheived by including YAML frontmatter at the top of the Markdown file, like so:
---
template: foo.html
---
## markdown here
...
Notes on templating
- Stylesheets, images and JS can be accessed from the
static
folder. index.html
, i.e. your website's homepage, should be_index.md
in thepages/
directory.
Directory tree
example
├── build
├── config.py
├── pages
│ └── test.md
├── static
└── templates
└── index.html
TODO
- Templating
- CSS support
- Implement a simple HTTP server (later)
- Add example site
- Basic config (
config.py
) - Parsing frontmatter (JSON, YAML, TOML) for per-page options
- Better support for home page (main
index.html
page)
Credits
Logo credits: Freepik from www.flaticon.com is licensed by CC 3.0 BY
Hue: UltimateHackers/hue
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.