A simple and minimal static site generator.
Project description
vite
A simple and mnml static site generator that Just Works™
Installation
$ pip install vite
Usage
$ vite init path/to/project
$ vite new blog/some-post.md # `pages/` is implied
This creates pages/blog/some-post.md
.
And then:
$ vite build # in project directory
Rendered HTML will be in the build
directory.
Finally, run:
$ vite serve # also in the project 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
post_build = [] # list of commands to run post-build
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
title: Some fancy buzzwords here
subtitle: Cool catch phrase here
date: 2019-08-09
---
## 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) - More powerful frontmatter (title, date, draft status, etc.) (draft status is incomplete)
-
Deeper directories under(not happening)pages/
(supports only one level now, breaks otherwise) -
Tagging system(not happening)
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
File details
Details for the file vite-1.5.2.linux-x86_64.tar.gz
.
File metadata
- Download URL: vite-1.5.2.linux-x86_64.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ee8c9c9268842bedf35ff43cdcb381978cb546175c996867171f4101922660e |
|
MD5 | 0041a54c2ce12f4b15b3b289d60ffd05 |
|
BLAKE2b-256 | 219c78b6f188ea2bb040d209414fb83802d475307eedd8c9f314fa2bc93d69d5 |
File details
Details for the file vite-1.5.2-py3-none-any.whl
.
File metadata
- Download URL: vite-1.5.2-py3-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7617e46b83b002a3d1f894e91cc682d4f18a66180a6f6a01667b8acd01bee0be |
|
MD5 | 8b1594b09369310a12778a3ceda8eba7 |
|
BLAKE2b-256 | c0a417b84773b8e0cdc402edb669d36e5f755ee0578e4c629ab8abb3d4dda3d3 |