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()
Dev Server
Lightweight includes a simple static web server with live reload
serving at 0.0.0.0:8080
(can be accessed via localhost:8080
):
python -m lightweight.server <directory>
The live reload can be disabled with --no-live-reload
flag:
python -m lightweight.server <directory> --no-live-reload
Host and port can be set via:
python -m lightweight.server <directory> --host 0.0.0.0 --port 8080
To stop the server press Ctrl+C
in terminal.
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.dev19.tar.gz
(12.2 kB
view hashes)
Built Distribution
Close
Hashes for lightweight-1.0.0.dev19-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9135f2b11be398fc671276f9f37765ca7c0d975d8781385aaa7ba8b70e28aaae |
|
MD5 | fdf10a8c2623649aa1ed25334548ab8e |
|
BLAKE2b-256 | d0c1c27ad3c7bf6663e692abfc7826ee3d95696b8211825cf9f9ae2c219df154 |