Skip to content
static blog generator in python with incremental rendering
Python Perl JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Welcome to Acrylamid

Acrylamid is a mixture of nanoc, Pyblosxom and Pelican licensed under BSD Style, 2 clauses. It is actively developed and maintained at

Build Status


  • it is really fast due incremental builds
  • support for Jinja2 and Mako templates
  • many Markdown extensions and custom reStructuredText directives
  • MathML, enhanced typography and hyphenation using soft-hyphens

Oh, and it can also generate a static blog with articles, static pages, tags, RSS/Atom feeds (also per tag), article listing and a sitemap.


With Acrylamid you can write your weblog entries with your editor of choice in Markdown, reStructuredText or textile. With several content filters you can pimp your HTML (typography, math, hyphenation). Acrylamid provides a very sophisticated CLI and integrates perfectly with any DVCes. It generates completely static HTML you can host everywhere.

supported markup languages

  • Markdown and additional extensions (support for MathML, deletion/insertion, sub- and supscript, syntax highlighting …)
  • reStructuredText with directives for syntax highlighting and youtube video embedding
  • textile, discount, all dialects supported by pandoc and plain HTML

You miss one? Extend Acrylamid in less than 30 LoC!

other filters

  • support for Jinja2 and Mako directly in postings (before they get processed)
  • typography (and smartypants)
  • TeX hyphenation
  • summarize ability
  • acronym detection that automatically replace acronyms and abbreviations

blogging features

  • you like the YAML front matter from Jekyll or nanoc? First choice in Acrylamid!
  • coming from Pelican? Acrylamid has also support for metadata in the native format of Markdown or reStructuredText.
  • support for translations (oh, and did I mention the language dependend hyphenation feature?).
  • a few HTML5 themes, see Theming.
  • internal webserver with automatic compiling when something has changed.
  • assets management, including LESS and SASS conversion.
  • uni-directional PingBack support.
  • static site search.

what is missing


easy_install -U acrylamid

This installs Acrylamid with Jinja2 as templating engine. For Mako use easy_install -U acrylamid[mako]. This installs two additional but not required dependencies: Markdown and translitcodec. To get a list of all supported modules, head over to additional supported modules.

Initialize the base structure, edit and layouts/ and compile with:

$ acrylamid init myblog  # --mako, defaults to --jinja2
    create  myblog/
$ cd myblog/
$ acrylamid compile && acrylamid view
    create  [0.05s] output/articles/index.html
    create  [0.37s] output/2012/die-verwandlung/index.html
    create  [0.00s] output/index.html
    create  [0.00s] output/tag/die-verwandlung/index.html
    create  [0.00s] output/tag/franz-kafka/index.html
    create  [0.03s] output/atom/index.html
    create  [0.04s] output/rss/index.html
    create  [0.00s] output/sitemap.xml
    create  output/style.css
9 new, 0 updated, 0 skipped [0.72s]
   * Running on

Real World Examples?


See commands for a detailed overview.

$ acrylamid --help
usage: acrylamid [-h] [-v] [-q] [-C] [--version]  ...

positional arguments:

    init          initializes base structure in DIR
    compile       compile blog
    view          fire up built-in webserver
    autocompile   automatic compilation and serving
    new           create a new entry
    check         run W3C or validate links
    deploy        run task
    import        import content from URL or FILE
    info          short summary
    ping          notify ressources

optional arguments:
  -h, --help      show this help message and exit
  -v, --verbose   more verbose
  -q, --quiet     less verbose
  -C, --no-color  disable color
  --version       show program's version number and exit

Need Help?

Join #acrylamid on Freenode! If you found a bug, please report it on GitHub Issues.

Something went wrong with that request. Please try again.