From 0ad73de1d89956739738716f2d32652ca83164b5 Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Thu, 19 Mar 2015 14:24:47 +0100 Subject: Corrections --- content/Informatique/2008-11-07-chiffrage.rst | 2 +- content/Informatique/2010-10-04-rst.rst | 2 +- content/Informatique/2014-05-18colors.rst | 217 ++++++++++++++++++++++++++ content/Informatique/colors.rst | 217 -------------------------- content/resources/rstodt/article.rst | 185 ---------------------- content/resources/rstodt/article.txt | 185 ++++++++++++++++++++++ publish.sh | 7 + 7 files changed, 411 insertions(+), 404 deletions(-) mode change 100644 => 100755 content/Informatique/2008-11-07-chiffrage.rst mode change 100644 => 100755 content/Informatique/2010-10-04-rst.rst create mode 100644 content/Informatique/2014-05-18colors.rst delete mode 100644 content/Informatique/colors.rst delete mode 100644 content/resources/rstodt/article.rst create mode 100644 content/resources/rstodt/article.txt diff --git a/content/Informatique/2008-11-07-chiffrage.rst b/content/Informatique/2008-11-07-chiffrage.rst old mode 100644 new mode 100755 index 1ee5866..f7faf31 --- a/content/Informatique/2008-11-07-chiffrage.rst +++ b/content/Informatique/2008-11-07-chiffrage.rst @@ -65,7 +65,7 @@ l'utilisateur vient de se logguer. Comme je passe par un login manager sur mon portable (GDM), j'ai choisi d'utiliser ses ressources pour lancer le script. En effet, GDM possède des scripts qui sont lancés aux différents moments de la connexion. Ce qui nous intéresse ici se trouve -dans le fichier : /etc/gdm/PostLogin/Default +dans le fichier : `/etc/gdm/PostLogin/Default` Il suffit d'y coller notre script (ou d'y faire appel), et notre partition sera activée automatiquement lors de la connexion (et seulement si le mot de diff --git a/content/Informatique/2010-10-04-rst.rst b/content/Informatique/2010-10-04-rst.rst old mode 100644 new mode 100755 index 4f35744..0806fe8 --- a/content/Informatique/2010-10-04-rst.rst +++ b/content/Informatique/2010-10-04-rst.rst @@ -55,7 +55,7 @@ paragraphe à un autre, ou « souligne » avec les caractères = _ ou - les titr et les sous-titres, et le résultat donne un document très aéré et agréable à travailler. -.. _ici : {filename}/resources/rstodt/article.rst +.. _ici : {filename}/resources/rstodt/article.txt Plugin wordpress ================ diff --git a/content/Informatique/2014-05-18colors.rst b/content/Informatique/2014-05-18colors.rst new file mode 100644 index 0000000..c1e4929 --- /dev/null +++ b/content/Informatique/2014-05-18colors.rst @@ -0,0 +1,217 @@ +.. -*- mode: rst -*- +.. -*- coding: utf-8 -*- + +============================================== +Se créer un thème de couleur dans son terminal +============================================== + +:date: 2014-05-18 +:tags: libre, DIY +:logo: /images/palette_75.jpg +:summary: + Quand on utilise un terminal tous les jours, on a envie de l'adapter en + fonction de ses goûts. Il existe beaucoup de thèmes disponibles sur le net + qui permettent de le configurer à sa guise, mais rien qui n'explique + comment en créer un nouveau. + +.. figure:: {filename}/images/palette_150.jpg + :figwidth: 150 + :figclass: floatleft + :alt: Palette + + Image : `Hafsa Nabeel`_ (creativecommons_) + +.. _Hafsa Nabeel: https://www.flickr.com/photos/hafsacreations/3241957057/ +.. _creativecommons: http://creativecommons.org/licenses/by-nc-nd/2.0/ + +Il est assez facile de se créer un thème de couleur pour son terminal. La +plupart du temps on trouve des thèmes à copier qui contiennent la liste des +couleurs à utiliser, mais il est rarement expliqué comment faire pour en créer +un nouveau. C'est pourtant assez simple une fois que l'on a compris les bases. + +Les bases +========= + +La plupart des terminaux peuvent afficher 256 couleurs ou plus, mais le shell +n'a besoin que de six couleurs de base (auxquelles viennent s'ajouter le blanc +et le noir que je ne traite pas ici). Il s'agit des trois couleurs primaires, +et les trois couleurs secondaires, que l'on peut représenter la palette sous +forme de tableau (dans l'ordre d'index utilisé dans un terminal) : + +.. raw:: html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CouleurRougeVertJauneBleuMagentaCyan
Clair
Sombre
+ +Cette représentation sous forme de tableau présente l'avantage de montrer deux +caractéristiques : le nombre de couleurs de base est limité, et la variante +sombre ou claire consiste juste à changer la luminosité. + +Construire le thème +=================== + +Nous allons créer deux thèmes : un clair et un sombre. + + +Pour faire un thème homogène, il va falloir respecter deux règles : + +- Chaque couleur devra avoir la même luminosité que les autres couleurs + du thème : il ne faut pas qu'une couleur éclate davantage que les autres. +- Chaque couleur devra occuper le même espace [#]_ dans le cercle + colorimétrique : il ne faut pas que deux couleurs semblent proches au point + de les confondre. + +Pour respecter ces deux contraintes, nous allons être obligé de construire +notre thème via une application, qui sera plus à même que nous de respecter ces +deux contraintes. + +La représentation des couleurs +============================== + +Il existe plusieurs manières de représenter les couleurs en informatique, la +plus connue est la `représentation RGB`_, mais celle-ci n'est pas très pratique +dans notre cas d'utilisation : en effet il n'est pas possible en utilisant +cette représentation de passer facilement de la teinte claire à sombre. Nous +allons nous intéresser ici à la représentation `Teinte/Saturation/Valeur`_ qui +présente l'avantage de séparer la teinte d'une couleur de sa luminosité. + +Selon la codification TSL, chaque teinte de couleur est séparée de 60°. Il +faudra donc conserver cet écart dans notre thème final. Par contre nous avons +la possibilité d'appliquer une rotation du cercle pour faire varier la teinte +des couleurs, c'est ce qui donnera les couleurs de notre thème. Il ne nous +reste plus qu'à définir les valeurs de saturation/valeur pour le thème clair et +le thème sombre. + +Après tout le reste n'est que conversion d'un système de représentation à un +autre, ce qui peut se faire tout seul avec un petit script. + + +Le résultat +=========== + +Le script est écrit en python et peut être `téléchargé ici`_, il reçoit 5 +paramètres, et écrit sur la sortie la configuration pouvant être utilisée avec +`rxvt` et `xterm`, deux émulateurs de terminaux permettant un bon niveau de +configuration. + + +.. _téléchargé ici: {filename}/resources/colors.py + +.. list-table:: + :header-rows: 1 + + * - décalage + - saturation claire + - saturation sombre + - valeur claire + - valeur sombre + * - 30 + - 60 + - 50 + - 90 + - 70 + +Ce qui donnera l'exécution suivante : + +.. code-block:: bash + + $ python colors.py 30 60 50 90 70 + +Il est possible de modifier les couleurs sans enregistrer le paramétrage +définitivement en passant la sortie du script à `xrdb` avant d'ouvrir un +nouveau terminal : + +.. code-block:: bash + + $ python colors.py 30 60 50 90 70 | xrdb -override + +Si vous voulez appliquer ce paramétrage définitement, il faut l'enregistrer +dans le fichier `~/.Xdefaults` + +Le résulat des couleurs générées avec les valeurs définies ci-dessus : + +.. raw:: html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CouleurRougeVertJauneBleuMagentaCyan
Clair
Sombre
+ +Et voilà ce que ça donne en réeel : des couleurs plutôt douces et claires qui +n'agressent pas les yeux ^^ + +.. image:: {filename}/images/Capture-terminal.png + :class: center + :alt: caputre d'écran + +Vous pouvez à votre tour essayer d'autres combinaisons pour vous créer votre +propre palette à utiliser dans votre terminal. + + +.. _représentation RGB: https://fr.wikipedia.org/wiki/Rouge_vert_bleu +.. _Teinte/Saturation/Valeur: https://fr.wikipedia.org/wiki/Teinte_Saturation_Valeur + +.. [#] + + On peut concevoir l'ensembre des couleurs comme un système, c'est-à-dire un + ensemble d'éléments interdépendants les uns des autres : l'espace occupé + par un élément correspond à l'espace qui n'est pas pris par l'ensemble des + autres éléments. + + Comme les six couleurs de base sont uniformément réparties dans le cercle + colorimétrique, il faut que notre thème final conserve cette répartition. + diff --git a/content/Informatique/colors.rst b/content/Informatique/colors.rst deleted file mode 100644 index c1e4929..0000000 --- a/content/Informatique/colors.rst +++ /dev/null @@ -1,217 +0,0 @@ -.. -*- mode: rst -*- -.. -*- coding: utf-8 -*- - -============================================== -Se créer un thème de couleur dans son terminal -============================================== - -:date: 2014-05-18 -:tags: libre, DIY -:logo: /images/palette_75.jpg -:summary: - Quand on utilise un terminal tous les jours, on a envie de l'adapter en - fonction de ses goûts. Il existe beaucoup de thèmes disponibles sur le net - qui permettent de le configurer à sa guise, mais rien qui n'explique - comment en créer un nouveau. - -.. figure:: {filename}/images/palette_150.jpg - :figwidth: 150 - :figclass: floatleft - :alt: Palette - - Image : `Hafsa Nabeel`_ (creativecommons_) - -.. _Hafsa Nabeel: https://www.flickr.com/photos/hafsacreations/3241957057/ -.. _creativecommons: http://creativecommons.org/licenses/by-nc-nd/2.0/ - -Il est assez facile de se créer un thème de couleur pour son terminal. La -plupart du temps on trouve des thèmes à copier qui contiennent la liste des -couleurs à utiliser, mais il est rarement expliqué comment faire pour en créer -un nouveau. C'est pourtant assez simple une fois que l'on a compris les bases. - -Les bases -========= - -La plupart des terminaux peuvent afficher 256 couleurs ou plus, mais le shell -n'a besoin que de six couleurs de base (auxquelles viennent s'ajouter le blanc -et le noir que je ne traite pas ici). Il s'agit des trois couleurs primaires, -et les trois couleurs secondaires, que l'on peut représenter la palette sous -forme de tableau (dans l'ordre d'index utilisé dans un terminal) : - -.. raw:: html - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CouleurRougeVertJauneBleuMagentaCyan
Clair
Sombre
- -Cette représentation sous forme de tableau présente l'avantage de montrer deux -caractéristiques : le nombre de couleurs de base est limité, et la variante -sombre ou claire consiste juste à changer la luminosité. - -Construire le thème -=================== - -Nous allons créer deux thèmes : un clair et un sombre. - - -Pour faire un thème homogène, il va falloir respecter deux règles : - -- Chaque couleur devra avoir la même luminosité que les autres couleurs - du thème : il ne faut pas qu'une couleur éclate davantage que les autres. -- Chaque couleur devra occuper le même espace [#]_ dans le cercle - colorimétrique : il ne faut pas que deux couleurs semblent proches au point - de les confondre. - -Pour respecter ces deux contraintes, nous allons être obligé de construire -notre thème via une application, qui sera plus à même que nous de respecter ces -deux contraintes. - -La représentation des couleurs -============================== - -Il existe plusieurs manières de représenter les couleurs en informatique, la -plus connue est la `représentation RGB`_, mais celle-ci n'est pas très pratique -dans notre cas d'utilisation : en effet il n'est pas possible en utilisant -cette représentation de passer facilement de la teinte claire à sombre. Nous -allons nous intéresser ici à la représentation `Teinte/Saturation/Valeur`_ qui -présente l'avantage de séparer la teinte d'une couleur de sa luminosité. - -Selon la codification TSL, chaque teinte de couleur est séparée de 60°. Il -faudra donc conserver cet écart dans notre thème final. Par contre nous avons -la possibilité d'appliquer une rotation du cercle pour faire varier la teinte -des couleurs, c'est ce qui donnera les couleurs de notre thème. Il ne nous -reste plus qu'à définir les valeurs de saturation/valeur pour le thème clair et -le thème sombre. - -Après tout le reste n'est que conversion d'un système de représentation à un -autre, ce qui peut se faire tout seul avec un petit script. - - -Le résultat -=========== - -Le script est écrit en python et peut être `téléchargé ici`_, il reçoit 5 -paramètres, et écrit sur la sortie la configuration pouvant être utilisée avec -`rxvt` et `xterm`, deux émulateurs de terminaux permettant un bon niveau de -configuration. - - -.. _téléchargé ici: {filename}/resources/colors.py - -.. list-table:: - :header-rows: 1 - - * - décalage - - saturation claire - - saturation sombre - - valeur claire - - valeur sombre - * - 30 - - 60 - - 50 - - 90 - - 70 - -Ce qui donnera l'exécution suivante : - -.. code-block:: bash - - $ python colors.py 30 60 50 90 70 - -Il est possible de modifier les couleurs sans enregistrer le paramétrage -définitivement en passant la sortie du script à `xrdb` avant d'ouvrir un -nouveau terminal : - -.. code-block:: bash - - $ python colors.py 30 60 50 90 70 | xrdb -override - -Si vous voulez appliquer ce paramétrage définitement, il faut l'enregistrer -dans le fichier `~/.Xdefaults` - -Le résulat des couleurs générées avec les valeurs définies ci-dessus : - -.. raw:: html - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CouleurRougeVertJauneBleuMagentaCyan
Clair
Sombre
- -Et voilà ce que ça donne en réeel : des couleurs plutôt douces et claires qui -n'agressent pas les yeux ^^ - -.. image:: {filename}/images/Capture-terminal.png - :class: center - :alt: caputre d'écran - -Vous pouvez à votre tour essayer d'autres combinaisons pour vous créer votre -propre palette à utiliser dans votre terminal. - - -.. _représentation RGB: https://fr.wikipedia.org/wiki/Rouge_vert_bleu -.. _Teinte/Saturation/Valeur: https://fr.wikipedia.org/wiki/Teinte_Saturation_Valeur - -.. [#] - - On peut concevoir l'ensembre des couleurs comme un système, c'est-à-dire un - ensemble d'éléments interdépendants les uns des autres : l'espace occupé - par un élément correspond à l'espace qui n'est pas pris par l'ensemble des - autres éléments. - - Comme les six couleurs de base sont uniformément réparties dans le cercle - colorimétrique, il faut que notre thème final conserve cette répartition. - diff --git a/content/resources/rstodt/article.rst b/content/resources/rstodt/article.rst deleted file mode 100644 index 3e8001f..0000000 --- a/content/resources/rstodt/article.rst +++ /dev/null @@ -1,185 +0,0 @@ -.. -*- mode: rst -*- -.. -*- coding: utf-8 -*- - -Blogguer en rst sous wordpress -############################## - -:tags: Libre, reStructuredText -:summary: |summary| - -.. default-role:: literal - -Le format reStructuredText_ est un langage de balise (un peu comme le HTML, ou -le laTex), issu du monde de la programmation. Son but est de répondre au -problème suivant : comment écrire du texte simplement et sans avoir besoin -d'apprendre une syntaxe spécifique (ou du moins un minimum), tout en -conservant des possibilités de formatage et d'export ? - -.. _reStructuredText : http://docutils.sourceforge.net/rst.html - -Présentation de RST -=================== - -.. |summary| replace:: - Quand on écrit un article (par exemple ici cet article de blog), il est - nécessaire d'indiquer des directives de mise en page : ceci est un - paragraphe, ceci est un lien, inclure une image, une citation… Pour cela on - ne passe pas par un logiciel de traitement de texte pour le faire - (openOffice) : c'est lourd et cela n'apporte rien, mais la plupart du temps - par un éditeur intégré au blog qui permet de formater notre texte. - -|summary| - -Cet éditeur se charge pour nous de formater le texte en quelques clics. Le -problème est que bien souvent ce texte ne pourra pas sortir du blog (par -exemple pour prendre un extrait de l'article et l'utiliser ailleurs, nous -sommes obligés de passer à nouveau par cette interface) - -Une autre solution est de rédiger notre texte directement dans le format de -sortie (par exemple HTML), mais cela nécessite de connaître la syntaxe, et ne -rend pas la lecture du fichier source très lisible (essayez de lire un article -de presse en HTML avec un éditeur de texte pour voir…) - -Le format reStructuredText se veut être une réponse à ces problèmes : un -fichier RST est lisible (le fichier source est compréhensible et peut être lu -directement), ne nécessite pas de connaissances particulières (du moins peu), et -à l'avantage de pouvoir être exporté dans de nombreux format de sortie (odt, -pdf, latex, html…) On dispose donc d'un format unique pouvant servir à écrire -des articles de blog, des documents de travail, ou encore de la documentation. - -La syntaxe est très simple, et ne charge pas le document à la lecture. Par -exemple pour voir le document ayant servi à générer cet article est disponible -ici_ : on laisse des lignes blanches pour indiquer que l'on passe d'un -paragraphe à un autre, ou « souligne » avec les caractères = _ ou - les titres -et les sous-titres, et le résultat donne un document très aéré et agréable à -travailler. - -.. _ici : {filename}/resources/rstodt/article.rst - -Plugin wordpress -================ - -Il existe un plugin wordpress qui permet d'utiliser ce format pour l'écriture -de documents dans le blog. À chaque fois que l'on va publier un article, le -plugin va tester si le fichier est au format rst, et dans ce cas, va en faire -la conversion en html en passant par la commande `rst2html`. - -**Attention**, pour le mettre en place, il est -nécessaire d'avoir un accès à la machine pour y installer quelques -applications. - -Pré-requis ----------- - -Python doit être disponible sur la machine, ainsi que le script `rst2html` (je -ne pense pas que cela soit le cas pour les blogs hébergés et cela limite les -possibilités). - -.. code-block:: console - - $ sudo aptitude install python-docutils - -Installation ------------- - -Il s'agit juste d'un fichier à installer dans le répertoire des plugin de -wordpress. Celui-ci est disponible sur launchpad_ et ne pose aucun problème de -compatibilité. - -.. _launchpad : http://bazaar.launchpad.net/~gldnspud/rest-wordpress/trunk/files - -Le fichier README explique comment l'installer et le paramétrage à faire; les -options (comme le chemin vers `rst2pdf`) se font directement dans le fichier php. - -.. code-block:: php startinline=True - - // Set this to the prefix of your docutils installation. - $prefix = "/usr/local"; - - // Set this to the path of rst2html.py - $rst2html = "$prefix/bin/rst2html.py"; - -Un petit test devrait montrer le résultat tout de suite. Dans le cas où le -contenu est vide, regardez les logs d'erreur du serveur web, vous devriez y -trouver les causes de votre erreur. - -Coloration syntaxique ---------------------- - -Il est possible de disposer de la coloration syntaxique automatique du code : - -.. code-block:: python - - import os - # Standard hello world stuff - class Hello() - def do_it(self) - print "Hello world" - - if __name__ == '__main__': - Hello().do_it() - - def main() - print "Hello world" - -Pour intégrer la coloration syntaxique, il faut passer par pygment (un -programme python qui s'occupe de ça) : - -.. code-block:: console - - # aptitude install python-pygments - -Ensuite il va falloir modifier le script à lancer. En effet, par défaut, la -commande `rst2pdf` n'intègre pas la coloration de code. Nous allons donc devoir -modifier la commande à exécuter pour le faire (j'ai mis à disposition le script -à télécharger_). Assurez-vous que le script peut être exécuté par l'utilisateur -lancé par le service web. - -.. _télécharger : {filename}/resources/rstodt/rst2html-pygments.py - -La CSS n'est pas inclue dans le document et peut être définie à l'extérieur. Il -est possible de définir son style à partir de pygment avec la commande suivante -(pour appliquer le style tango) : - -.. code-block:: console - - $ pygmentize -S tango -f html > style.css - -Conclusion -========== - -Je cherchais depuis un petit moment une solution pour pouvoir écrire mes -articles sans me connecter au blog. Les applications clientes ne me convenant -pas tout à fait, le RST me permet d'utiliser une application totalement séparée -du blog (par exemple VIM) et un format pérenne. - -Je ne sais pas s'il existe une solution équivalente pour les autres moteurs de -blog, le RST étant encore un format assez jeune, et n'est pas encore très -répandu… - -Sans être aussi complet que le latex, il est bien plus souple et -beaucoup plus facile à utiliser. De plus il s'agit bien sûr d'un format -ouvert, pouvant générer des documents sous openOffice, en PDF, voire en latex -pour ceux qui veulent… - -Édit (29/05/11) -=============== - -Je reviens sur le plugin en constatant que par défaut, celui-ci met en cache le -contenu de l'article, même si celui-ci est déjà en html. Une petite -modification dans le code permet de ne sauvegarder le fichier que s'il s'agit -d'un fichier rst : - -Rechercher dans le script la chaîne suivante : - -.. code-block:: php - - if ($pos === false) { - // No modeline. - $rval = wpautop($text); - -Et rajouter la ligne suivante en dessous : - -.. code-block:: php - - return $rval; diff --git a/content/resources/rstodt/article.txt b/content/resources/rstodt/article.txt new file mode 100644 index 0000000..3e8001f --- /dev/null +++ b/content/resources/rstodt/article.txt @@ -0,0 +1,185 @@ +.. -*- mode: rst -*- +.. -*- coding: utf-8 -*- + +Blogguer en rst sous wordpress +############################## + +:tags: Libre, reStructuredText +:summary: |summary| + +.. default-role:: literal + +Le format reStructuredText_ est un langage de balise (un peu comme le HTML, ou +le laTex), issu du monde de la programmation. Son but est de répondre au +problème suivant : comment écrire du texte simplement et sans avoir besoin +d'apprendre une syntaxe spécifique (ou du moins un minimum), tout en +conservant des possibilités de formatage et d'export ? + +.. _reStructuredText : http://docutils.sourceforge.net/rst.html + +Présentation de RST +=================== + +.. |summary| replace:: + Quand on écrit un article (par exemple ici cet article de blog), il est + nécessaire d'indiquer des directives de mise en page : ceci est un + paragraphe, ceci est un lien, inclure une image, une citation… Pour cela on + ne passe pas par un logiciel de traitement de texte pour le faire + (openOffice) : c'est lourd et cela n'apporte rien, mais la plupart du temps + par un éditeur intégré au blog qui permet de formater notre texte. + +|summary| + +Cet éditeur se charge pour nous de formater le texte en quelques clics. Le +problème est que bien souvent ce texte ne pourra pas sortir du blog (par +exemple pour prendre un extrait de l'article et l'utiliser ailleurs, nous +sommes obligés de passer à nouveau par cette interface) + +Une autre solution est de rédiger notre texte directement dans le format de +sortie (par exemple HTML), mais cela nécessite de connaître la syntaxe, et ne +rend pas la lecture du fichier source très lisible (essayez de lire un article +de presse en HTML avec un éditeur de texte pour voir…) + +Le format reStructuredText se veut être une réponse à ces problèmes : un +fichier RST est lisible (le fichier source est compréhensible et peut être lu +directement), ne nécessite pas de connaissances particulières (du moins peu), et +à l'avantage de pouvoir être exporté dans de nombreux format de sortie (odt, +pdf, latex, html…) On dispose donc d'un format unique pouvant servir à écrire +des articles de blog, des documents de travail, ou encore de la documentation. + +La syntaxe est très simple, et ne charge pas le document à la lecture. Par +exemple pour voir le document ayant servi à générer cet article est disponible +ici_ : on laisse des lignes blanches pour indiquer que l'on passe d'un +paragraphe à un autre, ou « souligne » avec les caractères = _ ou - les titres +et les sous-titres, et le résultat donne un document très aéré et agréable à +travailler. + +.. _ici : {filename}/resources/rstodt/article.rst + +Plugin wordpress +================ + +Il existe un plugin wordpress qui permet d'utiliser ce format pour l'écriture +de documents dans le blog. À chaque fois que l'on va publier un article, le +plugin va tester si le fichier est au format rst, et dans ce cas, va en faire +la conversion en html en passant par la commande `rst2html`. + +**Attention**, pour le mettre en place, il est +nécessaire d'avoir un accès à la machine pour y installer quelques +applications. + +Pré-requis +---------- + +Python doit être disponible sur la machine, ainsi que le script `rst2html` (je +ne pense pas que cela soit le cas pour les blogs hébergés et cela limite les +possibilités). + +.. code-block:: console + + $ sudo aptitude install python-docutils + +Installation +------------ + +Il s'agit juste d'un fichier à installer dans le répertoire des plugin de +wordpress. Celui-ci est disponible sur launchpad_ et ne pose aucun problème de +compatibilité. + +.. _launchpad : http://bazaar.launchpad.net/~gldnspud/rest-wordpress/trunk/files + +Le fichier README explique comment l'installer et le paramétrage à faire; les +options (comme le chemin vers `rst2pdf`) se font directement dans le fichier php. + +.. code-block:: php startinline=True + + // Set this to the prefix of your docutils installation. + $prefix = "/usr/local"; + + // Set this to the path of rst2html.py + $rst2html = "$prefix/bin/rst2html.py"; + +Un petit test devrait montrer le résultat tout de suite. Dans le cas où le +contenu est vide, regardez les logs d'erreur du serveur web, vous devriez y +trouver les causes de votre erreur. + +Coloration syntaxique +--------------------- + +Il est possible de disposer de la coloration syntaxique automatique du code : + +.. code-block:: python + + import os + # Standard hello world stuff + class Hello() + def do_it(self) + print "Hello world" + + if __name__ == '__main__': + Hello().do_it() + + def main() + print "Hello world" + +Pour intégrer la coloration syntaxique, il faut passer par pygment (un +programme python qui s'occupe de ça) : + +.. code-block:: console + + # aptitude install python-pygments + +Ensuite il va falloir modifier le script à lancer. En effet, par défaut, la +commande `rst2pdf` n'intègre pas la coloration de code. Nous allons donc devoir +modifier la commande à exécuter pour le faire (j'ai mis à disposition le script +à télécharger_). Assurez-vous que le script peut être exécuté par l'utilisateur +lancé par le service web. + +.. _télécharger : {filename}/resources/rstodt/rst2html-pygments.py + +La CSS n'est pas inclue dans le document et peut être définie à l'extérieur. Il +est possible de définir son style à partir de pygment avec la commande suivante +(pour appliquer le style tango) : + +.. code-block:: console + + $ pygmentize -S tango -f html > style.css + +Conclusion +========== + +Je cherchais depuis un petit moment une solution pour pouvoir écrire mes +articles sans me connecter au blog. Les applications clientes ne me convenant +pas tout à fait, le RST me permet d'utiliser une application totalement séparée +du blog (par exemple VIM) et un format pérenne. + +Je ne sais pas s'il existe une solution équivalente pour les autres moteurs de +blog, le RST étant encore un format assez jeune, et n'est pas encore très +répandu… + +Sans être aussi complet que le latex, il est bien plus souple et +beaucoup plus facile à utiliser. De plus il s'agit bien sûr d'un format +ouvert, pouvant générer des documents sous openOffice, en PDF, voire en latex +pour ceux qui veulent… + +Édit (29/05/11) +=============== + +Je reviens sur le plugin en constatant que par défaut, celui-ci met en cache le +contenu de l'article, même si celui-ci est déjà en html. Une petite +modification dans le code permet de ne sauvegarder le fichier que s'il s'agit +d'un fichier rst : + +Rechercher dans le script la chaîne suivante : + +.. code-block:: php + + if ($pos === false) { + // No modeline. + $rval = wpautop($text); + +Et rajouter la ligne suivante en dessous : + +.. code-block:: php + + return $rval; diff --git a/publish.sh b/publish.sh index 4f1adf6..5fbc75d 100755 --- a/publish.sh +++ b/publish.sh @@ -2,5 +2,12 @@ source ~/.virtualenvs/pelican3.5/bin/activate cd ~/pelican/ make publish + +find output -name '*.html' -print0 | xargs -0 grep "{filename}" +if [ $? -eq 0 ]; then + echo Lien cassé dans les fichiers listés ci dessus. + exit 1 +fi + rsync -ra --del -e ssh output/ goku:/home/www/blog-chimrod/ rsync -ra --del -e ssh output/ vps71296:/srv/apache/blog-chimrod/ -- cgit v1.2.3