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 :
- publication d’articles
- flux RSS
- tags/étiquettes/mot-dictionnaire
- liens permanents
- commentaires
- traductions : Anglais, Français
- fichiers statiques
- templates/revêtements/thèmes
- badge identi.ca/statusnet
- sauvegarde de la configuration
- publication d’articles en avance
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 :
- savoir utiliser la ligne de commande
- savoir installer des paquets logiciels sur sa distribution
- avoir des connaissances en hébergement web ou bien sur la manière d’envoyer sur un hébergeur les fichiers d’un site web
- être un peu fou pour gérer ses articles manuellement (suppression/édition notamment)
Installation de la version 0.2.1
Dépendances
Sous GNU/Linux Debian et dérivés, il suffit d’installer les paquets suivants :
- pmake
- markdown
- lua5.1
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 :
- Nom de votre blog
- Description courte et description longue de ce dernier
- langue (français ou anglais)
- Adresse absolue de votre site web final (par exemple monsuperdomaine.tld/blog)
- Le thème que vous allez utiliser parmi les noms suivants :
- base
- default
- minisch (que nous choisirons)
- responsive
- bootstrap
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
Notez que j’ai ajouté 3 variables qui ne se trouvait pas dans le fichier, à la fin dudit fichier :
- THEME pour choisir le thème parmi ceux listés précédemment
- TAGDIR_NAME pour permettre un meilleur référencement avec des noms français appropriés pour les mot-clés (ou tags)
- POSTDIR_NAME pour faire la même chose avec les articles
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.
Les articles utilisent par défaut la syntaxe Markdown
qui est facile à apprendre/maîtriser.
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 :
- Votre site web est contenu dans le dossier public_html de votre propre serveur (sur lequel vous venez d’utiliser Makefly)
- Votre site web se trouve sur la même machine, dans un dossier spécifique
- Votre site web se trouve à distance sur un hébergeur avec le protocole FTP ou un protocole nécessitant un logiciel particulier
- Votre site web se trouve sur un serveur distant qui dispose de l’outil rsync (et d’un accès par SSH)
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 :
- le script doit contenir une ligne permettant de savoir quel programme utiliser pour le lancer, par exemple
bash#!/usr/bin/env bash
- les variables DESTDIR et PUBLISH_DESTINATION, si vous les utilisez, seront remplacés par Makefly dans votre script avant d’être exécuté
- le script doit se trouver dans le dossier tools de Makefly
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 :
- On va utiliser des RedirectPermanent dans Apache2 permet aux anciennes adresses de rediriger vers les nouvelles
- Pour avoir les anciennes adresses, faites ls -R archives dans votre dossier Nanoblogger puis enregistrez le tout dans un fichier texte pour extraire les URLs qui vous intéressent :
ls -R > old_urls.txt
- Dans le fichier texte précédent, je retire des adresses comme :
archives/2013/06/02/mon_dernier_article_en_date
- Ensuite pour avoir les nouvelles adresses, une fois les billets récupérés (Cf. nb2makefly ci-dessus) et votre nouveau blog compilé, récupérez les adresses http contenues sur la page de la liste des articles :
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.