Skip to main content

yet another static blog generator

Project description

Acrylamid is yet another static blog compiler written in python that aims to be lightweight, fast and producing high quality output. It is licensed under BSD Style, 2 clauses.

Why?

Why another static blog compiler, that’s a valid question. So, why would you use Acrylamid: It’s fast when you start blogging and it stays fast when you have hundreds of articles due incremental compilation. It ships with all builtin Markdown extensions, custom ones and additional reStructuredText directives to embed YouTube or Code. With all complexity of Acrylamid itself, it is super easy to use.

Why not Acrylamid? It’s not well tested by different people with different requirements. It may has some serious issues I didn’t noticed yet. It also lacks some internal documentation. The default layout is indeed not the most beautiful and Acrylamid has no asset handling yet.

Features

Acrylamid is a mixture of nanoc, Pyblosxom and Pelican. It features mainly:

  • blog articles, static pages, tags, RSS/Atom feeds and an article overview

  • theming support (using jinja2) and support for jinja2 directly in postings

  • Markdown, reStructuredText, textile and pandoc

  • Markdown extensions and custom reStructuredText directives

  • MathML, modern web-typography and hyphenation using soft-hyphens

  • RSS/Atom/WordPress import, deployment and a handy CLI

  • it’s very flexible/configurable and fast due incremental rendering

Quickstart

easy_install -U acrylamid

It has actually only one dependency, jinja2 but for convenience it also installs markdown and translitcodec. In addition it has support for PyYAML, reStructuredText, syntax highlighting using pygments, asciimathml to render MathML and finally smartypants for nicer typography.

easy_install -U docutils pygments asciimathml smartypants

Get acrylamid, 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?

Filters

You can apply various filter to a single entry, to a specific view or globally and Acrylamid resolves it automatically (some filters conflict with others so you can for example apply Markdown as global filter but render some entries with reStructuredText). Currently supported by acrylamid, see docs/filters.rst for detailed information:

  • Markdown: rendering Markdown (+asciimathml, pygments, built-in extensions)

  • reST: reStructuredText (+pygments)

  • pandoc: Pandoc (+Markdown, textitle, rst, …)

  • textile: using Textile as markup language

  • HTML: don’t render with filters mentioned above (it’s a conflicting filter)

  • typography: https://code.google.com/p/typogrify/ (and custom modifications)

  • hyphenation: hyphenate words (len > 10) based on language

  • summarize: summarizes posts to 200 words

  • head_offset: decrease headings by offset

  • jinja2: write jinja2 in your entries (you can also execute system calls therewith)

  • acronyms: automatically replace acronyms and abbreviations to help unexperienced users

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
    import        import content from URL or FILE
    new           create a new entry
    check         run W3C or validate links
    clean         remove abandoned files
    deploy        run task
    info          short summary

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

All subcommands except `init` require a conf.py file.

Need Help?

Join #acrylamid on Freenode!

Project details


Download files

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

Source Distribution

acrylamid-0.3.5.tar.gz (141.5 kB view details)

Uploaded Source

File details

Details for the file acrylamid-0.3.5.tar.gz.

File metadata

  • Download URL: acrylamid-0.3.5.tar.gz
  • Upload date:
  • Size: 141.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for acrylamid-0.3.5.tar.gz
Algorithm Hash digest
SHA256 e04dd1027638c858c4ad660984aabdc9d3037fc64a9e6f9515a8553fd982bc4a
MD5 359f8b54a1406d00a4406484fec0a2ec
BLAKE2b-256 896b21e2fcb3571be039fb47a45e68ec4565331371cc40c87a0c0294dc8a2418

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page