At some point, I decided to use Snap for my engine, resulting in a rewrite as itsa. Milagos is therefore no longer going to be developed; the code here is left up solely for posterity.
First, pick a theme and put it in themes/themename/themename.css
;
the github repository has a sample theme named carbonated
. Note that
the CSS filename and directory name must match.
Then, create posts/
and pages/
subdirectories under wherever you
put the binary, and run it. To create a post, just make a subdirectory
under that containing a meta.yml
file that looks like
title: My Awesome Post slug: my-awesome-post-slug posted:
2012-05-02 18:00:00 EDT tags:
- meta
and write markdown in post.markdown
! The post is automatically
refreshed every time you save, no need for manual restarts. If you set
draft: true
, the post won't show up on the main page or in any tags,
but you can still directly go to it by visiting, say,
localhost:8000/2012/05/02/a-draft
.
Unless you want to use the exact same theme I use, you're going to want to customize the theme.
-
Clone the repository, and cabal-dev install it. (I personally recommend using sandboxer to create a new sandbox, but I'm probably biased because I wrote it).
-
Catch up on your newsfeed. A completely fresh cabal install of Milagos and all its dependencies with profiling libs took about 15 minutes on my 3.0 GHz Athlon II X4 640. Obviously, if you don't enable profiling, it'll take about half that.
-
Copy
config/example.settings.yml
toconfig/settings.yml
and customize appropriately. -
Edit
fabfile.py
so that you don't try deploying to my server. :) -
Change
templates/footer.hamlet
to not credit your posts to me! It'd be nice if you left the 'powered by' links in, though. -
Go play around in
templates/
. The file names are hopefully self-explanatory; post-list renders a list of posts, post renders an individual post, tag-list renders the tag list on the sidebar, etc. You can mostly ignore default-layout-wrapper unless you want to add stuff to the<head>
tags. -
If you encounter any issues, file them! If you have any comments or feedback that's not appropriate for the issue tracker, e-mail me.
-
Have fun!
Currently, theme support is limited; the filename of the CSS file must be the same as the name of the folder that contains it, and you can only do CSS. Eventually, I do plan on allowing customizing the templates themselves through themes.