A minimalist blog generator
Find a file
2020-12-13 20:05:07 +01:00
doc Move UnitJS-related documentation to README 2020-12-13 18:02:14 +01:00
share Replace magic string for default Article description by a template variable and add another one for a default description for Pages 2020-06-21 22:16:14 +02:00
src Add version guards for Monoid imports 2020-12-09 11:06:47 +01:00
test Remember that git doesn't version empty directories and fix the Structure tests 2020-12-09 18:33:44 +01:00
.gitignore Initial draft 2019-01-27 21:43:19 +01:00
CHANGELOG.md Fix Open Graph cards by adding a new option to provide the site's URL 2019-12-21 12:50:38 +01:00
hablo.cabal Remove unsincere -dynamic flag 2020-12-09 12:16:23 +01: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 Add nix install instructions 2020-12-13 20:05:07 +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