Chisel is a (lean and simple) static site generator written in python. It is a personalised fork of dz's version converted to python3 with the following additional features. Here is a screenshot of the author's custom themed website.
- Content parsing to generate smart typographic punctuation via smartypants extension to markdown in python
- Static pages (e.g. about page)
- RSS feed generator
- A shorter (year-based) permalink structure with support for clean URLs
- Post descriptions
- Jinja templates featuring
- Customised homepage
- Custom archive page
- Post navigation
- Post count
- Read time
- KaTeX support for rendering math in posts
- Syntax highlighting for code via highlight.js
- Support for taxonomy
It has:
- No built-in search
git clone --depth=1 https://github.com/ckunte/chisel.git
python3 -m pip install -r chisel/requirements.txtAnd to upgrade requirements, run:
python3 -m pip install --upgrade -r chisel/requirements.txtThere are two (plain text) files that need user input, viz.,
chisel_conf.py: Set folder locations, number of posts in RSS feed, and clean URL settingstemplates/site_settings.jinja: Set site_title, author, author's email, and number of posts to show on the homepage
chisel: folder containing this repositoryposts: folder containing posts written in markdownwww: folder containing generated site (upload its contents to a web host)
- Write posts in Markdown, save it as
post-title.mdorposttitle.md(orpost_title.md) in a designated folder, say,posts. (See Sample Entry for post format below.) - Run
python3 chisel.pyin a Terminal, and C1 will parse all.md,.markdownor.mdownfiles inpostsfolder to another designated folder, saywwwin html. -- ready to be uploaded to a web server, typically to either awwwor apublic_htmlfolder on a web host. - Sync all files and folders from the local
wwwfolder to the root folder of a web host (typically to awwwor apublic_htmlfolder) to get a website with generated content.
cd ~/Sites/chisel
python3 chisel.pyPost format is simple, which is as follows:
- Line 1: Enter a title
- Line 2: Enter date in Y-m-d HH:MM
- Line 3: Enter tags separated by spaces (needs editing button menu in
notesall.htmlfor now) - Line 4: Description line
- Line 5: Blank line
- Line 6: Content in Markdown here onward
Contents of a post named sample.md are as follows:
Chateau de Chambord
2010-05-05 21:50
hst
One last contribution by the Renaissance master.
The 50km route from Amboise to Chambord is scenic, the air in early April still uncomfortably cold. Visibility is greater from lack of foliage early in Spring. The entrance is grand, the chateau looks iconic from afar.