Skip to main content

A static site generator designed for lightweight sites

Project description

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

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 or Pelican.

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:

$ 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:

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.

Files for hotchocolate, version 3.0.1
Filename, size File type Python version Upload date Hashes
Filename, size hotchocolate-3.0.1-py3-none-any.whl (33.5 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size hotchocolate-3.0.1.tar.gz (18.2 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page