Static site generator i actually can use.
Project description
lightweight
Static site generator i actually can use.
Features
- Clean and easily extensible API
- Jinja2 templates
- Markdown rendering
- Markdown links
- Sass/SCSS rendering
- RSS/Atom feeds
- Dev server
Installation
Available from PyPI:
pip install lightweight
Quick Example
from lightweight import Site, markdown, paths, render, template, feeds, sass
def blog_posts():
post_template = template('blog-post.html')
# Use globs to select files.
return (markdown(path, post_template) for path in paths('posts/**.md'))
site = Site(url='https://example.com')
# Render a Jinja2 template.
site.include('index.html', render('pages/index.html'))
# Render list of Markdown files.
site.include('posts.html', render('pages/posts.html'))
[site.include(f'posts/{post.filename.stem}.html', post) for post in blog_posts()]
# Syndicate RSS and Atom feeds.
[site.include(f'posts.{type}.xml', feed) for type, feed in feeds(site['posts'])]
# Render SCSS.
site.include('css/style.css', sass('styles/style.scss'))
# Include a copy of a directory.
site.include('img')
site.include('js')
# Execute all included content.
site.render()
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
lightweight-1.0.0.dev18.tar.gz
(10.4 kB
view hashes)
Built Distribution
Close
Hashes for lightweight-1.0.0.dev18-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 863158f142946d1f4b8f33137f43a368bcb4dc5f39c6add6ba09cea3bcf21fb0 |
|
MD5 | 6a812166a922d26d22a169e0cb786c19 |
|
BLAKE2b-256 | 21e20597f7e6f270f62c1ec4ff8659ba592d13a5ee3d16894ae9718a8a126989 |