/acrylamid

static blog generator in python with incremental rendering

Primary LanguagePythonOtherNOASSERTION

Welcome to Acrylamid

Acrylamid is a mixture of nanoc, Pyblosxom and Pelican licensed under BSD Style, 2 clauses.

Build Status

Why?

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

Overview

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?)
  • HTML5 valid (but there's a XHTML template, too)
  • internal webserver with automatic compiling when something has changed
  • uni-directional PingBack support.

what is missing

  • No comments. You have to use Disqus or this approach.
  • No search. But it's on the roadmap, Sphinx too.
  • A consistent™ documentation.

Quickstart

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 conf.py and layouts/ and compile with:

$> acrylamid init myblog
    create  myblog/conf.py
    ...
$> cd myblog/
$> acrylamid compile && acrylamid view
      warn  using mtime from <fileentry f'content/sample entry.txt'>
    create  '/articles/index.html', written to output/articles/index.html
    create  'Die Verwandlung', written to output/2011/die-verwandlung/index.html
    create  '/atom/index.html', written to output/atom/index.html
    create  '/rss/index.html', written to output/rss/index.html
    create  '/', written to output/index.html
   * Running on http://127.0.0.1:8000/

Real World Examples?

Commands

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
    clean         remove abandoned files
    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!