Quand j’ai voulu migrer mon blog de Wordpress vers GitHub Pages, qui utilise Jekyll, il m’a fallu extraire tous mes articles. Ce qui m’intéressait vraiment, c’était d’avoir tous mes articles dans un fichier unique, qu’il ne reste plus qu’à traduire du HTML vers du Markdown.
D’abord, il m’a fallu récupérer le nom des colonnes de la tables informaticienzero_posts
, celle qui contient toutes les informations sur chacun des articles écrits.
1 | SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA`='Wordpress' AND `TABLE_NAME`='informaticienzero_posts'; |
Maintenant, il faut exporter les données. Grâce aux informations obtenues par la requête précédente, je peux sélectionner les colonnes qui m’intéressent vraiment.
1 | SELECT ID, post_date, post_title, post_content INTO OUTFILE ’/tmp/wordpress_backup.txt’ FIELDS TERMINATED BY ’,’ ENCLOSED BY ’"’ LINES TERMINATED BY ’\n\n\n’ FROM informaticienzero_posts WHERE post_type=’post’ OR post_type=’page’; |
Chaque article est séparé du suivant par un triplet de '\n'
, puis à l’intérieur, chaque champ est encadré de '"'
et séparé par des ','
. Ne reste plus qu’à parser avec un script du langage de votre choix (Python pour moi). Ensuite, faîtes une dernière passe manuelle pour convertir les balises spécifiques à Wordpress que le parseur aurait pu oublier. Voilà.
PS : vive le Markdown !