So you want to get a website up, but would rather mess around with getting your site hosting framework perfect rather than generating actual content? Me too.
If you want to try static website content hosting and you're a python fan, Pelican seems to be a great choice. Supports Markdown, my minimalist text format of choice. I looked at hyde thinking it would be the python alternative to Jekyll, which people seem to love, but it seemed too complicated. With Pelican, you can write a single isolated blog post in markdown and have a website. As an experienced blogger (I've been blogging for all of 10 minutes now), that's what I want.
You'll generate a site skeleton with pelican-quickstart. You'll put blogposts as separate files in yoursite/content. E.g., yoursite/content/firstpost.md. Sitewide settings are in pelicanconf.py. You'll run
which will generate all the content. You'll upload the content to your host of choice with something like
During development, you'll host your website locally with
Just go to http://localhost:8000 to see your site.
The pelican documentation is great. Follow it.
Pelican comes with two themes built in, but there are many more on github. Let's see how easy it is to try them out. Change to a development directory and
git clone --recursive git://github.com/getpelican/pelican-themes.git
Be sure that --recursive is there, because some of the themes are included as submodules. I got some errors on this step because the url used for the submodules are formatted differently (e.g., http vs. https vs. firstname.lastname@example.org) and putty complained that their keys weren't cached. SSH into the offending url to update your cache. Also, it seems that you need a github key to get all of them. So, try leaving out the --recursive if you just want it to work, but some of the themes will be empty folders (e.g., chunk iris neat pelican-mockingbird relapse svbtle).
Now, lets install all of the themes so we can try them out. Just to be quick and dirty about it, lets do this manually. Change to the pelican-themes directory and
pelican-themes -i Just-Read basic bootlex bootstrap bootstrap2 brownstone built-texts cebong dev-random dev-random2 lightweight martyalchin mnmlist notmyidea-cms-fr notmyidea-cms sneakyidea subtle syte tuxlite_tbs waterspill-en waterspill chunk iris neat pelican-mockingbird relapse svbtle
Just to check this worked
should list everything above.
Now, to try out a theme, just add (or change) in pelicanconf.py:
Great. Now, you can just flick through all of the themes that other people have worked really hard to build and convince yourself you are 'designing' a website.
It's really just copying, right? Pelican has some built in options for deploying, using rsync over ssh to save on transfer. But, I use windows because I like things difficult, and getting rsync working on windows is... difficult, especially if you are trying to do it with putty/plink. (I believe an older version of cwRsync is the closest, but then see here and here for workarounds. You can also try installing rsync with the MSYS developer tools, but it has the same plink issue.)
So, winscp has some rsync like functionality. Put this into a deploy.bat:
winscp.com /command "open email@example.com" "synchronize remote -delete -mirror -criteria=either -filemask=|*~;*#;*.pyc output/ /home/username/website/" "exit"
replacing all of the relevant fields. You need the 5.x version of winscp to use the filemask option.
Sweet! That's all for now.