A Python-based static site generator. Bring your own content and templates and it'll quickly generate you a deployable HTML website/blog.
Project description
beemo
A Python-based static site generator. Bring your own content and templates and it'll quickly generate you a deployable HTML website/blog.
PyPI
Features
- Content as HTML, markdown or reStructuredText
- Pages
- Posts
- Tags
- Archives (index, years and months)
- XML sitemap
- Atom feed
- Custom Chameleon templates
- Custom CSS, JS and other static files
Usage
Create content directories e.g. posts, pages, static and templates.
Posts
Populate your posts directory with your blog posts. Each post must be in its own directory but can
be organised in any hierarchy e.g. by year, year/month or just flat. Post directories must contain a
meta.yml and a content file (index.html, index.md or index.rst), and can contain images in
an images directory, used within your post.
Pages
Populate your pages directory with your pages. Each page must be in its own directory. Post
directories must contain a meta.yml and a content file (index.html, index.md or index.rst).
Static
Any files in your static directory will be copied into the site build root. Keep your CSS files
and such in this directory.
Templates
Create Chameleon templates for your site in the templates directory. See the Chameleon
docs for reference.
Configuration
The Beemo config file is a YAML file specifying some basic config about your site build.
For example, here pages_dir and posts_dir are both specified, and the site will be built with
both pages and blog posts:
posts_dir: content/posts
pages_dir: content/pages
static_dir: static
templates_dir: templates
blog_root: blog
output_dir: www
If pages_dir is not specified, the site will be built without pages (i.e. blog only mode), e.g:
posts_dir: posts
static_dir: static
templates_dir: templates
output_dir: www
If posts_dir is not specified, the site will be built without pages (i.e. pages only mode), e.g:
pages_dir: pages
static_dir: static
templates_dir: templates
output_dir: www
If posts_dir is specified, this comes with archives, tag indexes and such which cannot currently
be disabled.
Environment variables
The only environment variable required is BEEMO_CONFIG which must point to your site's config
file:
export BEEMO_CONFIG=config.yml
Install
Install the latest release with:
pip install beemo
Development
Create a virtual environment and run make develop to install the library and its dependencies.
This can be served locally with e.g. python -m http.server -d www and viewed at e.g.
http://localhost:8000.
Build
Build your site by running the command beemo with the environment variable BEEMO_CONFIG set
pointing at a valid config file. It will build your site into your configured output_dir.
Examples
Sites built with Beemo:
If you wish to use this project for your own website, these examples will be a useful reference.
Licence
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file beemo-0.3.2.tar.gz.
File metadata
- Download URL: beemo-0.3.2.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7ee93f96a6228932c6bcce092f2a984262a41c40506f6ee8a462df1a4866cd0
|
|
| MD5 |
591aae900aadd48281c4d7039a3972c4
|
|
| BLAKE2b-256 |
85867ad0673910a52bee09ce2a69e7d56b7265626960ce7a0859abfc62b399bb
|
File details
Details for the file beemo-0.3.2-py3-none-any.whl.
File metadata
- Download URL: beemo-0.3.2-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59cb0ab1a6eaee58bdc66211cfb8e52dea00faf77167232d7c08c6cbc372e773
|
|
| MD5 |
23ead53bbcba7a294463a20c94a8cd06
|
|
| BLAKE2b-256 |
0cf9022b7995792820c51cce0cd36162ee8cb3cb32c60ef15c49399afe979fc0
|