Skip to main content

Static site generator i actually can use.

Project description

lightweight

PyPI Build Status Test Coverage Supported Python Documentation

Static site generator i actually can use.

Documentation

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)

Uploaded Source

Built Distribution

lightweight-1.0.0.dev19-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

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

Hashes for lightweight-1.0.0.dev19.tar.gz
Algorithm Hash digest
SHA256 5abd602a62302729650626e2fc5b34af9be4df14abe14f7247e4df2b5d46460c
MD5 9d487cb02cd9cf16856943ea22975ee7
BLAKE2b-256 552957dfbb64889de03669a5fdb16150b77faf1fd4c4b524235a406beb99f98a

See more details on using hashes here.

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

Hashes for lightweight-1.0.0.dev19-py3-none-any.whl
Algorithm Hash digest
SHA256 9135f2b11be398fc671276f9f37765ca7c0d975d8781385aaa7ba8b70e28aaae
MD5 fdf10a8c2623649aa1ed25334548ab8e
BLAKE2b-256 d0c1c27ad3c7bf6663e692abfc7826ee3d95696b8211825cf9f9ae2c219df154

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page