A new year and new ideas started. I searched a lot to find a tool to generate websites easily. I had a lot of requirements and I found a pretty cool solution. [TOC]
My Requirements for the tool:
- markdown language can be used
- static Homepage
- no php required
- no mysql-database
- easy usage of git
- offline editable entries
why markdown language?
I use gitit - a wiki containing a git backend. This wiki uses markdown language too. Therefore I am very comfortable with markdown language.
It is easy to read in my favourit text-editor (vi) and all other plain text editors.
why a static Homepage and not a dynamic?
The main reason for this to use a static Website is less memory usage.
My site will not have a lot of visitors, so, it does not get enormous amount of traffic. In this case, all other Website-boxes and softwares like django will be bored.
I am not a great fan of php. More precisely, I HATE IT.
The last years, I got a lots of trouble with mysql-backends. So I prefere sqlite databases.
A sqlite database is quite easy to handle. You don’t need a backend-server, you can just use a simple database file. It is easier to backup and if you get attacked, the stupid guy just see the database file.
To find a blogger software without a mysql backend is not quite easy. There are some alternatives like habari but they were not really usefull to me.
I like git as a source code management tool. Therefore it would be nice if it is possible to use git for the new website files.
The easiest way to see what changed is to use plain text files (see markdown language).
Most of the time I have a internet-connection, but I travel a lot and there it is not safe to have a network connection. At this time, I want to write new articles offline and publish them later.
What is Hyde?
Hyde is a static website generator powered by Python & Django. Hyde supports all the Django template tags & filters and even has a few of its own. The built-in web server + auto-generator provide instant refresh and unlimited flexibility.
To lay out a skeleton in the new folder, use
hyde --init.Then I stripped out
some of the default items that get added with
--init and created my favourit
directory structure to use.
Finally, I filled some basic values in the
To generate the static homepage data, just call
hyde -g -s . in your source
directory. This will generate a new folder called deploy containing all html and
Hyde supports an own webserver to test things. Call
hyde -w -s . in your
source directory and you can reach your website at
Layout and CSS
The templates created by
hyde --init are just functional. I wanted a special
one. I found the website of Steve Losh which is really
beautiful. He is like me
a OpenSource Software developer. I use his CSS
Layout available on GitHub.
I use Aardvark Legs like Steve Losh. It is a much simpler framework. I’ve lost the link to this framework and I haven’t found it again on google.
Update: Found a Download-Link on Softpedia
All the blog entries are listed on a single page, because I don’t like too many pages. Now you can use Cmd+F to find an article.
Fabric to Type Less
I am a lazy person at typing. I want to type as less as possible with as much effort as possible. Therefore I found Fabric.
Fabric is a tool written in Python where you can define tasks and execute them
fab taskname. I know that I can reach the same with bash-aliases,
a Makefile or a short bashscript, but I like to test new OpenSource-Tools to
Fabfiles are pure Python, so you can build lager tasks out of smaller ones very easily and do just about anything you want.
I want to create an RSS feed for my site. Hyde provides a very simple sample template to make an ATOM feed.
I cleaned up the template a bit, adjusted a few variables I need ,put it on FeedBurner and everything was ready.