Présentation

Makefly est un outil permettant de générer un blog à partir de fichiers qui décrivent des articles. C’est un blog statique affublé de commentaires, de mots-clés (tags) et quelques autres gadgets.

Il propose les fonctionnalités suivantes :

Il reste cependant accessible à un public restreint d’utilisateurs confirmés de la ligne de commande sous GNU/Linux, BSD ou Mac OS.

Ce logiciel demande donc un minimum de connaissances comme :

Installation de la version 0.2.1

Dépendances

Sous GNU/Linux Debian et dérivés, il suffit d’installer les paquets suivants :

Cela peut se faire rapidement via la commande suivante (en tant que root) sous Debian Squeeze :

apt-get install pmake markdown lua5.1

Récupération

On récupère la version 0.2.1 de Makefly : https://github.com/blankoworld/makefly/archive/0.2.1.zip

Par exemple dans son dossier personnel (nécessite la commande wget) :

cd
wget https://github.com/blankoworld/makefly/archive/0.2.1.zip

On l’extrait ensuite (nécessite unzip):

unzip makefly_0.2.1.zip

Makefly est désormais installé !

Configuration

Avant de commencer, préparez-vous à remplir les informations suivantes :

D’autres astuces viendront après.

Ainsi, éditez le fichier makefly.rc contenu dans votre dossier makefly (par exemple avec l’éditeur gedit) :

cd makefly
gedit makefly.rc

Complétez le fichier pour avoir par exemple (on peut aussi adapter les dates DATE_FORMAT comme montré ci après) :

BLOG_TITLE = Mon premier blog
BLOG_SHORT_DESC = pérégrinations d'un blogeur fou
BLOG_DESCRIPTION = Un blog statique crée à l'aide de Makefly
BLOG_LANG = fr
BLOG_CHARSET = UTF-8
BASE_URL = http://monsuperdomaine.tld/blog
INSTALLDIR = /home/${USER}/public_html
RSS_FEED_NAME = Flux RSS de Mon premier blog
MAX_POST = 2
DATE_FORMAT = %d/%m/%Y à %H:%M
SHORT_DATE_FORMAT = %Y/%m
INDEX_FILENAME = index
PAGE_EXT = .html
SIDEBAR = 0
SEARCH_BAR = 0
MAX_RSS = 8
JSKOMMENT = 0
THEME = minisch
TAGDIR_NAME = motcle
POSTDIR_NAME = article

Test

Pour tester le résultat, faites simplement :

pmake clean && pmake

Ceci devrait générer le blog. Il se situe par défaut dans le répertoire pub.

Première utilisation

Suppression des anciens articles livrés avec le logiciel

Par défaut Makefly propose quelques articles. Pour s’en débarrasser faites :

rm ./db/* -rf
rm ./src/* -rf

Ajout d’un nouvel article

Lancez simplement la commande suivante (à la première utilisation un bug montre des messages d’erreurs, n’y prêtez pas attention) :

pmake add

et suivez les instructions à l’écran.

Une fois votre article généré, il faut l’éditer puis regénérer le blog :

gedit src/mon_premier_article.md
pmake clean && pmake

L’adresse de l’article doit probablement vous avoir été affichée après sa création et ressemble à :

Post: ./src/mon_premier_article.md

Utilisation

Créer un article

Comme expliqué précédemment dans la section Première utilisation, il vous suffit de taper :

pmake add

et de suivre les instructions à l’écran. L’outil vous donne une ligne comme :

Post: ./src/titre_de_mon_article.md

Après quoi faites la commande suivante pour éditer votre article :

gedit ./src/titre_de_mon_article.md

Ensuite, recompilez l’article :

pmake clean && pmake

Le dossier pub est ainsi mis à jour.

Publier votre blog sur internet

Si tout se déroule sans encombres et que vous avez bien renseigné la variable BASE_URL avec l’adresse absolue de votre site web, votre dossier pub contient la version finale de votre blog.

Vous disposez ensuite de plusieurs manières d’envoyer le résultat sur votre site web, voici quelques cas :

Envoi vers public_html

Si votre utilisateur courant dispose d’un répertoire public_html dans son dossier /home/utilisateur, il vous suffit de taper la commande suivante :

pmake install

Une question vous sera posée pour confirmer l’écrasement du contenu du dossier public_html. Ne répondez par y que si vous êtes sûr de ce que vous faites.

Envoi local sur un répertoire particulier

Il suffit de mettre à jour le fichier de configuration makefly.rc afin de donner l’adresse absolue du répertoire dans lequel vous voulez installer votre blog. Ceci est faisable en changeant la variable INSTALLDIR (par exemple pour installer le blog dans le répertoire /srv/www/blog) :

INSTALLDIR = /srv/www/blog

Une question vous sera posée pour confirmer l’écrasement du contenu du dossier défini ci-avant. Ne répondez par y que si vous êtes sûr de ce que vous faites.

Envoi chez un hébergeur, par un logiciel tiers

Utilisez le logiciel tiers pour copier l’ensemble des fichiers contenus dans le répertoire pub de votre dossier Makefly.

Le répertoire pub contient donc tout les fichiers nécessaires au fonctionnement de votre blog Makefly.

Envoi sur un serveur distant par SSH/rsync

L’accès par SSH à un serveur se fait à l’aide d’une adresse distante similaire à :

utilisateur@machinedistante.tld:/adresse/absolue/vers/mon/dossier/

Ainsi, si vous voulez synchroniser votre blog sur un dossier /home/moi/public_html/ sur le serveur hebergeur.com, voici ce que vous devez ajouter dans le fichier makefly.rc :

PUBLISH_DESTINATION = moi@hebergeur.com:/home/moi/public_html/

De cette manière, vous pouvez lancer la commande suivante (une fois le blog compilé/généré) :

pmake publish

Utiliser son propre script

Si vous voulez utiliser un script personnel, sachez que vous pouvez en donner un à Makefly via le fichier de configuration makefly.rc en ajoutant une ligne du type :

PUBLISH_SCRIPT = monscript.sh

Sachez que les contraintes suivantes s’appliquent :

Migration depuis Nanoblogger

Les billets

Pour migrer les billets de Nanoblogger vers Makefly, un script de migration existe : nb2makefly .

Les adresses URLs

Pour rediriger les anciennes adresses vers la nouvelle, il faut pas mal travailler, mais voici quelques astuces pour rendre plus rapide le processus de migration des URLs :

ls -R > old_urls.txt
archives/2013/06/02/mon_dernier_article_en_date
wget -O 'mes_articles.html' http://monsiteweb.com/blog/post/index.html
cat mes_articles.html |grep -o 'http://[^"]<br/>+' |grep post > articles.liens

Une fois les anciennes URL et les nouvelles, couplez les de cette manière :

RedirectPermanent archives/2013/06/02/mon_dernier_article_en_date http://monsiteweb.com/blog/post/mon_dernier_article_en_date.html

Et ajoutez tout ceci dans la configuration Apache2.

Liens