Felix Felicis support yaml, python and json format config file. You can create the config file with:

$ liquidluck init


The default python format config file:

# -*- coding: utf-8 -*-
#: settings for liquidluck

#: site information
#: all variables can be accessed in template with ``site`` namespace.
#: for instance: {{}}
site = {
    "name": "Felix Felicis",  # your site name
    "url": "",  # your site url
    # "prefix": "blog",

#: this config defined information of your site
#: 1. where the resources  2. how should the site be generated
config = {
    "source": "content",
    "output": "deploy",
    "static": "deploy/static",
    "static_prefix": "/static/",
    "permalink": "{{date.year}}/{{filename}}.html",
    "relative_url": False,
    "perpage": 30,
    "feedcount": 20,
    "timezone": "+08:00",

author = {
    "default": "nickname",
    "vars": {}

#: active readers
reader = {
    "active": [
        # uncomment to activate rST reader
        # "liquidluck.readers.restructuredtext.RestructuredTextReader",
    "vars": {}

#: active writers
writer = {
    "active": [
        # "liquidluck.writers.core.CategoryFeedWriter",
        # "liquidluck.writers.core.TagWriter",
        # "liquidluck.writers.core.TagCloudWriter",
    "vars": {
        # uncomment if you want to reset archive page
        # "archive_output": "archive.html",

#: theme variables
theme = {
    "name": "default",

    # theme variables are defined by theme creator
    # you can access theme in template with ``theme`` namespace
    # for instance: {{theme.disqus}}
    "vars": {
        #"disqus": "your_short_name",
        #"analytics": "UA-21475122-1",

#: template variables
template = {
    "vars": {},
    "filters": {},

Multiple Authors

If your site has multiple authors, you can add them to your settings:

author = {
    'default': 'lepture',

    'vars': {
        'lepture': {
            'name': 'Hsiaoming Yang',
            'website': '',
            'email': '',
        'kitty': {
            'name': 'Hello Kitty',
            'website': '',

And when you write a post, the default author is ‘lepture’, but you can change it by:

# Hello World

- date: 2012-12-12
- author: kitty


content here

Access the author information in template as {{}} and {{}}.

For more information on template or theme design, head over to Theme section.

The default theme doesn’t show any information of the author, it is designed for personal blogging.


There are two readers in Felix Felicis, one is Markdown, and the other is reStructuredText.

Customize Reader

Issues that contain information on readers:

Reader Variables

Issues that contain information on readers variables:


There are many writers in Felix Felicis, and you can add more. If you want to add your own writer to Felix Felics, head over to Development.

Writers Variables

Every writer can define its own variable, for example the archive write, if you set:

writer = {
    'vars': {
        'archive_output': 'archive.html',

The archive page will be write to archive.html instead of index.html.

Available writers variables (but you won’t need to change them):

  • post_template (post.html)
  • page_template (page.html)
  • archive_template (archive.html)
  • archive_output (index.html)
  • archive_feed_template (feed.xml)
  • year_template (archive.html)
  • tag_template (archive.html)
  • category_template (archive.html)
  • category_feed_template (feed.xml)

Table Of Contents

Related Topics


Feedback is greatly appreciated. If you have any questions, comments, random praise, or anonymous threats, shoot me an email.

Useful Links