Yo. Bon, j’avais écrit dans le précédent post que j’expliquerais comment déployer son blog sur la toile des internets. Eh ben c’est super simple. Mais avant ça j’ai fait d’autres petits trucs.

Tout d’abord, j’ai créé cet article en anticipation (oui, j’étais confiant) :

1
hexo new "Déploiement avec Hexo : simplissime"

Et ai édité son contenu dans le fichier source/_posts/Deploiement-avec-Hexo-simplissime.md.

Ensuite, j’ai installé un nouveau thème, parce que celui de base est un peu moche. Celui-ci est pas spécialement beau, mais déjà un peu plus, et puis sobre, tout ce qu’il me fallait. La procédure est la suivante :

1
2
3
git clone https://github.com/lotabout/hexo-theme-noise themes/noise
npm install hexo-renderer-less --save
npm install hexo-renderer-jade --save

Ouais, les deux derniers npm install c’est pour le bon fonctionnement du theme, mais normalement, un p’tit git clone suffit.

Et puis, dans le fichier _config.yml :

1
theme: noise

Tellement simple.

Ce fichier _config.yml contient d’ailleurs basiquement tous les réglages de votre blog. Exemple avec les premières lignes du mien :

1
2
3
4
5
6
title: Pierre Rolland
subtitle: Idées en vrac
description:
author: Pierre Rolland
language: fr
timezone: Europe/Paris

Bon, et comment on déploie alors ?

Hexo propose pas mal de stratégies de déploiement (git, Heroku, Rsync, OpenShift, FTP, SFTP par exemple). Moi, comme j’ai pas de repo, je suis parti sur le SFTP. Il faut d’abord installer le deployer adéquat :

1
npm install hexo-deployer-sftp --save

Et le configurer dans… devinez ? Eh oui, _config.yml. Pour mon cas :

1
2
3
4
5
6
deploy:
type: sftp
host: ###.###.###.###
remotePath: /var/www/blog/
privateKey: /home/pierre/.ssh/id_rsa
user: pierre

Possible bien sûr de spécifier un mot de passe, une passphrase, un port, etc. Bref. C’est tout prêt. On peut tester notre déploiement en lançant :

1
hexo generate -d

Va y avoir quelques lignes indiquant que des dossiers sont créés, des fichiers uploadés… à la fin du traitement, filez voir sur votre serveur : c’est bon ! Plus qu’à faire pointer un vhost là-dessus et c’est parti.

Alors attention hein, il s’agit juste d’un truc basique qui va prendre les markdowns pour les convertir en html et les uploader derrière, y’a pas de PHP, de Node, de je sais pas quelle autre techno dynamique derrière, déployée avec un Capistrano qui va garder des historiques de versions. Non, là c’est du HTML à la papa, back to the basics. Et ça fait du bien, je trouve. Puis ça limite le risque de failles de sécu, mine de rien (prends ça, /wp-admin).

Allez, faites bien joujou. La bise !