Coder Social home page Coder Social logo

acrylamid's Introduction

Welcome to Acrylamid

Notice:

  • don't try the master branch unless you are very sure about the not yet documented changes.
  • PyPi releases (0.7.x) do not work with Python 3.3+ due dependency pinning. The upcoming 0.8 release will drop support for 3.2, but fully supports 3.3 and higher.
  • yes, the name will change (still searching for a good name) and a transition from "static blog generator" to "static site generator" is already on my todo list.

Acrylamid is a mixture of nanoc, Pyblosxom and Pelican licensed under BSD Style, 2 clauses. It is actively developed at https://github.com/posativ/acrylamid/.

Build Status_

Why?

  • 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.

Why the name “Acrylamid”?

I'm studying bioinformatics and I was experimenting with Acrylamide at this time. I'm really bad at naming. If you have a better name, please tell me! Two requirements: reasonably speakable and tab-completion after 3 characters.

Overview

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

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, reStructuredText and even Pandoc.
  • 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

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.

If you rather use non-ascii characters, you're better off with:

easy_install -U acrylamid python-magic unidecode

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

$ acrylamid init myblog  # --mako, defaults to --jinja2
    create  myblog/conf.py
    ...
$ 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 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
    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. The project has also a mailing list [Archive], just send an email to [email protected] and you have subscribed .

How to contribute

Communication. Beside that, I am open for most enhancements, just two requirements:

  • resepect PEP-8 (max line length may vary, but use 80 as your soft limit and 100 as your hard limit; 105 for ugly if linebreaks though).
  • I prefer clear code (early return instead of nested else etc.) and concise variable (and configuration) names. Also: @[cached_]property is way better than get_thing(self).

Be aware, that the current master has been quite diverged from the PyPi release (legacy/0.7 branch). If you are going to fix a bug, branch off the legacy branch. On the other hand, if you want to contribute features, branch off the master branch, but expect things to be changed/broken/removed.

The master branch features a 2.6/2.7/3.3 unified code base, please have a look at the acrylamid.compat module (e.g. map, filter etc).

acrylamid's People

Contributors

brianly avatar chripo avatar dpritchard avatar hooli avatar iromli avatar konsilanto avatar maphew avatar markvl avatar moschlar avatar posativ avatar sashahart avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.