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 is Acrylamid better than X (pelican, hyde, nikola…): Acrylamid is faster than X, because incremental compilation is a core feature. Acrylamid is better, because you can not only use Markdown/reST/whatyoulike, you can even use all builtin extensions and more. Acrylamid has no custom header/body/filesystem layout. It uses well-known YAML and that’s it.
Why not Acrylamid? Well, it’s not well tested by different people with different requirements. It does not use multiple cores (currently no static blog framework does this, but I am working on this). The default layout is indeed not the most beautifulst. Acrylamid currently has no asset handling (naïve “copy tree” sucks).
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 extensions and custom reStructuredText directives
MathML, modern web-typography and hyphenation using soft-hyphens
RSS/Atom import, deployment and a handy CLI
it’s very flexible/configurable and fast
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 Example?
I have released all sources from my personal blog: /posativ/blog.posativ.org/. Take a look at my conf.py for some inspiration.
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 <subcommand> [options] [args] Options: -q, --quiet less verbose -v, --verbose more verbose -h, --help show this help message and exit --version print version details Commands: init initializes base structure in DIR create (new) creates a new entry compile (co) compile blog view fire up built-in webserver autocompile automatic compilation and serving (short aco) clean (rm) remove abandoned files import import content from URL deploy run a given TASK All subcommands except `init` require a conf.py file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file acrylamid-0.3.2.tar.gz
.
File metadata
- Download URL: acrylamid-0.3.2.tar.gz
- Upload date:
- Size: 125.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fde88412697eda0947425f977c61f9e4c87701f576b5b71dc82d899e9129bc6 |
|
MD5 | 78e89357e1d169470266982eca091d05 |
|
BLAKE2b-256 | e618b4ba8a6ffd5ec11d9a4664c30d399ec37519e2b5c834cfe86c76bab9f1fe |