Skip to main content

A static site generator designed for lightweight sites

Project description

hotchocolate
============

Hot Chocolate is a static site generator that uses Markdown files as input,
and is designed for building very lightweight sites.

.. image:: https://github.com/alexwlchan/hot-chocolate/raw/master/hotchocolate.jpg

Disclaimer
**********

You should consider this as alpha-quality software at best. Although I run
several sites with it, it's still **user-unfriendly, undocumented and rough
around the edges**. If you want a static site generator, look at something
like `Jekyll <http://jekyllrb.com/>`_ or
`Pelican <https://blog.getpelican.com/>`_.

I'd like to document it properly and make it user-friendly, but for now it's
more like a melting pot for my ideas about static site generators.

Installation
************

Install with pip:

.. code-block:: console

$ pip install hotchocolate

Hot Chocolate requires Python 3.5 or later.

Commands
********

1. Create a site::

cocoa init

2. Build articles::

cocoa build

3. Run a preview server (requires Docker)::

cocoa serve

Site structure
**************

Each Markdown file starts with YAML-like front matter, followed by content:

.. code-block:: markdown

title: The cacao bean
slug: /cacao-beans/

The *cacao bean* is the seed of the cacao tree, and is used to make
cocoa solids and cocoa butter. This is the basis of chocolate, among
other foods.

You can read more about cacao [on Wikipedia][wiki].

[wiki]: https://en.wikipedia.org/wiki/Cocoa_bean

For posts, the slug will be prepended with a ``/YYYY/MM`` slug when built.
For pages, the slug is relative to the root of the web server.

The following directory structure is used (and generated by ``cocoa init``)::

(source folder)/
pages/
(you can organise this folder however you like)
about.md
contact.md
...
posts/
(likewise, you can organise this however you like)
(Hot Chocolate will find any Markdown files in the tree)
an-interesting-story.md
another-interesting-story.md
the-final-part-of-the-story.md
...
static/
(this directory structure is copied directly into the build root)
aztec-sculpture.jpg
cacao-beans.png
personal/
contact-photo.tiff
...
style/
(a custom.scss file in this directory will override the base styles)
custom.scss
templates/
(templates in this directory replace the base templates)
base.html
...


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
hotchocolate-3.0.1-py3-none-any.whl (33.5 kB) Copy SHA256 hash SHA256 Wheel py3
hotchocolate-3.0.1.tar.gz (18.2 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page