Habari2md
This is a dirty little Ruby program to export a Habari blog to markdown format. I used it to avoid installing PHP on a small VPS in order to run a tiny blog of ~2000 posts.
The program makes a few assumptions about your setup, and this conditions what you should expect to get from it.
- It will connect to a MariaDB/MySQL database,
fetch all of its posts and:
- dump one file per published post in the
out
directory ; - use a filename like
YYYY-MM-DD-post-slug.md
whereYYYY-MM-DD
are the year, month, and month day when a particular post was published ; and format a post header with:
title: The original post title author: The author's username
- dump one file per published post in the
This process can be pretty specific, and if it does not fit your setup, feel free to file an issue or, better, send a pull-request. ;)
Dependencies
- Ruby >= 1.9
- Python >= 2.x
Installation
gem install habari2md
Usage
$ habari2md -h
Usage: habari2md [options]
-o, --output [DIR] Output directory
-s, --host [HOST] Database host
-d, --db [DB] Database name
-u, --user [USER] Database user
-p, --password [PASS] Database password
-h, --help Show this message
$ habari2md -o foobar -d my_blog_database -h localhost -u sql_user -p sql_password
I, [2014-01-08T23:31:20.771303 #74090] INFO -- : Exporting 12345 posts...
I, [2014-01-08T23:31:50.618731 #74090] INFO -- : 50% to go
I, [2014-01-08T23:32:20.081583 #74090] INFO -- : We're done.
D, [2014-01-08T23:32:20.083582 #74090] DEBUG -- : Terminating 6 actors...
W, [2014-01-08T23:32:20.084398 #74090] WARN -- : Terminating task: type=:finalizer, meta={:method_name=>:__shutdown__}, status=:callwait
➜
License
GPL 3.0
Note: this distribution contains Aaron Swartz html2text GPL licensed program. As a matter of fact, we fork one process to convert each post from HTML to Markdown, yay!