Clarify the licenses

To make the licensing crystal clear, mention the GPLv3/CC-BY-SA combo
in the documentation explicitly.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
b.archive: Do use the generated per-tag atom feeds

We generate atom feeds for each tag, but they were used nowhere. With
a simple change, by extending (blog-archive) to also take a feed-url
argument, this can be easily fixed.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Render dated archives & feeds too

We render blog posts under /blog/YEAR/MONTH/DATE/, but neither of
those directories by /blog/ has an index or a feed, which just feels
wrong. Furthermore, yearly and monthly archives are useful anyway.

For these reasons and more, madness can now generate dated archives
and feeds too.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Dependency updates

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Add a 'madness' alias.

This adds a 'madness' alias to lein, which simply runs lein run -m
madness.core.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Exclude clojure from the enlive dependency

Thanks to lein-pedantic for the warning.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
m.io: Remove an unnecessary space

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
m.render: Pull out the resource loading into a new namespace

Instead of loading the resources in madness.render, do that in
madness.resources, for the sake of clarity.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
m.docs: Include madness.resources in the docs

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Add support for input files in Markdown format.

Reading input files was moved to madness.io, where read-file was
taught to pre-process files if need be. For Markdown files, madness
will turn them into a HTML format that the existing processing code
expects.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
m.b.post: Fix commentability checking for Markdown posts
Enable commentability for markdown pages too.

Move enabled? to madness.utils, so that both blog.page and blog.post
can use it without copy-paste. Also teach blog.page to do the
commentability check similar to how blog.post does it: by checking for
both <article comment="1"> and <article><comment>1</comment></article>.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
m.utils: Make enabled? public

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Move from GPL to CC-BY-SA 3.0 for the code aswell

Since the GPL is not compatible with the EPL, I must use another
license, no matter how much it pains me. Since I do not like the EPL
either, CC-BY-SA it is.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Support pygmentized code sections

Anything that has a .pygmentize class will get run through the
pygmentise script from python-pygments. The result will be embedded
within the original element, only the content is replaced, not the
element itself.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
docs: Update the docs with regards to the license change

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Support rendering post fragments

To help with cross-posting to other engines, add support for rendering
only the summary and content of a post, without all the rest of the
page wrapped around it.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
blog: Sort the blog posts by date, in ascending order

Relying on the filesystem to sort posts is not quite adequate, so sort
the posts explicityl, by their date.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Completely rewrote the templating

Templating was a bit of a mess, this is an attempt to make things much
easier to follow.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
blog.archive: Don't silently hide half of the recent posts

When the [:recents :total] key is defined in the config, we dropped
that many from the archived posts, even though it only displayed rows
* columns number of them, which, in this case, can be a different
number.

Instead, drop rows * columns number of elements when displaying the
archived posts, thereby showing the full archive.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>