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 details)
Built Distribution
File details
Details for the file lightweight-1.0.0.dev19.tar.gz
.
File metadata
- Download URL: lightweight-1.0.0.dev19.tar.gz
- Upload date:
- Size: 12.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5abd602a62302729650626e2fc5b34af9be4df14abe14f7247e4df2b5d46460c |
|
MD5 | 9d487cb02cd9cf16856943ea22975ee7 |
|
BLAKE2b-256 | 552957dfbb64889de03669a5fdb16150b77faf1fd4c4b524235a406beb99f98a |
File details
Details for the file lightweight-1.0.0.dev19-py3-none-any.whl
.
File metadata
- Download URL: lightweight-1.0.0.dev19-py3-none-any.whl
- Upload date:
- Size: 16.6 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/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9135f2b11be398fc671276f9f37765ca7c0d975d8781385aaa7ba8b70e28aaae |
|
MD5 | fdf10a8c2623649aa1ed25334548ab8e |
|
BLAKE2b-256 | d0c1c27ad3c7bf6663e692abfc7826ee3d95696b8211825cf9f9ae2c219df154 |