Websleydale is the minimalist static site generator used to build lumeh.org. Its feature set is limited to what lumeh.org requires, so it is fairly minimal and runs very fast.
Requirements
- Python 3.8 or later
- pipenv (for installing dependencies)
Setup
- Clone this repo and
cd
into it. - Run
pipenv sync
to create the virtualenv and install dependencies. - Place a symlink to the
wb
script somewhere in your PATH. (For example, if you already have a~/bin
directory in your PATH, you can runln -s --relative wb ~/bin/
to create such a symlink.)
Usage
First, create a websleydalerc.py
file in your project's root directory
(see the example below).
Then, run wb
in the same directory as the websleydalerc.py
file
whenever you want to build your project.
Example websleydalerc.py
Given the following source files:
.
├── index.md
├── memes/
│ └── loss.jpg
├── style.sass
└── templates/
└── page.html
A corresponding websleydalerc.py
might look like this:
from websleydale import Site, build, dir, jinja, markdown, root, sass
site = Site(
name="My Website",
tree={
# Process 'index.md' as Markdown and render it using the 'page.html'
# Jinja template, and write the result as 'index.html' in the output dir
"index.html": jinja(markdown(root / "index.md"), template="page.html"),
# Process 'style.sass' as a Sass stylesheet and write the result as
# 'style.css' in the output dir
"style.css": sass(root / "style.sass"),
# Copy all contents of the 'memes' directory into a directory called
# 'memes' in the output dir
"memes": dir(root / "memes"),
},
)
build(site, dest="out")
For a full example, see lumeh.org's config.