A minimalist blog generator
Find a file
2021-03-28 23:38:53 +02:00
doc Release 1.1.0.0 with RSS feeds and static pages 2020-12-14 10:24:01 +01:00
share Release 1.1.0.1 2021-01-20 13:48:21 +01:00
src Replace naive String implementation of URL by a proper type from an existing library; thus validating URLs handled by hablo 2021-03-28 23:37:42 +02:00
test Fix tests / add new ones to capture the subtle way og:image can fail 2021-03-28 23:38:53 +02:00
.gitignore Initial draft 2019-01-27 21:43:19 +01:00
CHANGELOG.md Release 1.1.0.1 2021-01-20 13:48:21 +01:00
hablo.cabal Replace naive String implementation of URL by a proper type from an existing library; thus validating URLs handled by hablo 2021-03-28 23:37:42 +02:00
hablo.svg Add a logo for the project 2019-02-19 21:58:21 +01:00
LICENSE Initial draft 2019-01-27 21:43:19 +01:00
README.md Release 1.1.0.0 with RSS feeds and static pages 2020-12-14 10:24:01 +01:00
Setup.hs Initial draft 2019-01-27 21:43:19 +01:00

Hablo

Hablo is a minimalist tool written to generate a simple blog structure from markdown articles.

Its key principles are to keep your blog a collection of markdown files while being completely static, leveraging the fediverse to handle comments. The best image you can have of a hablo blog is a HTML/JS article viewer. Despite this heavy usage of JS, it strives to provide a clean site that can still be displayed if JS is disabled and used to get links to the markdown files themselves.

Getting started

Installation

Hablo is written in haskell and uses cabal for installation. The following instructions assume your version of cabal is fairly recent (≥ 1.24) please adapt them if you're running an older version of it, for instance on a Debian Jessie (the same command without the new- prefix roughly work but you might want to use sandboxes — read about it).

Simple install with cabal

Just issue the following line in a terminal

cabal new-install hablo

Alternatively, if you prefer to do things yourself you can do a

Simple install with nix

Want to give hablo a quick try using nix ?

nix-env -f 'https://git.marvid.fr/Tissevert/mynixpkgs/archive/main.tar.gz' -i hablo

Visit my Nix packages for a more declarative setup.

Manual install from this repository

Get a copy of this repository

git clone https://git.marvid.fr/Tissevert/hablo.git

Build the binary

cabal new-update
cabal new-build

Install the result

cabal new-install hablo

Dependencies

Hablo requires UnitJS which is handled by SJW. Make sure you have installed it regularly with SJW. If it isn't yet, the following commands should help you:

cd /tmp
git clone https://git.marvid.fr/Tissevert/UnitJS.git
cd UnitJS
mkdir -p ~/.sjw
cp -r src/ ~/.sjw/unitJS

Using hablo (tutorials)

Wanna give it a try ? Start by generating your blog

Want to see your blog in a web browser ? How about reading a bit about deployment to get your local environment ready or setup a publicly available one ?

A bit of stretching (how-to)

Got the basics ? Wondering how to turn the dummy blog project you've created into a magnificent blog ? You should read about customization.

Exploring things in depth

If you know everything you need to start your blog and use hablo, here are some full references to help you when you need a precise description of how some option works or what metadata you can include in your articles.

References

Explanation

If you want a more general view of the project to understand its background and the logic behind the way the various options work, read about the architectural choices