aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Dailly <sebastien@chimrod.com>2013-04-28 11:43:05 +0200
committerSébastien Dailly <sebastien@chimrod.com>2013-05-07 08:52:04 +0200
commitaf304ad01aabfd1c62f0cc5f3c6189c3bc2fa84f (patch)
tree3f8fbdd09aab710761470b296b5fa9a889d8b518
parentfc5d0133e72b9f146bcc5e6998ea9162a1997409 (diff)
New article on rst2odt usage
-rw-r--r--[-rwxr-xr-x]content/Informatique/apache.rst0
-rw-r--r--[-rwxr-xr-x]content/Informatique/awesome.rst0
-rw-r--r--[-rwxr-xr-x]content/Informatique/backup.rst0
-rw-r--r--[-rwxr-xr-x]content/Informatique/chiffrage.rst0
-rw-r--r--[-rwxr-xr-x]content/Informatique/chroot.rst0
-rw-r--r--[-rwxr-xr-x]content/Informatique/elinks.rst0
-rw-r--r--[-rwxr-xr-x]content/Informatique/fail2ban.rst0
-rw-r--r--[-rwxr-xr-x]content/Informatique/fonctionnel.rst0
-rw-r--r--content/Informatique/guiderstodt.rst162
-rw-r--r--[-rwxr-xr-x]content/Informatique/invisible.rst0
-rw-r--r--[-rwxr-xr-x]content/Informatique/navit.rst0
-rw-r--r--[-rwxr-xr-x]content/Informatique/rst.rst0
-rw-r--r--[-rwxr-xr-x]content/Informatique/rstodt.rst0
-rw-r--r--[-rwxr-xr-x]content/Informatique/sftp.rst0
-rw-r--r--[-rwxr-xr-x]content/Informatique/vala.rst0
-rw-r--r--[-rwxr-xr-x]content/Informatique/wiimote.rst0
-rw-r--r--[-rwxr-xr-x]content/Informatique/wiimote1.rst0
-rw-r--r--content/images/rstodt/writing.jpgbin0 -> 14478 bytes
-rw-r--r--content/resources/rstodt/rst.zipbin0 -> 1899 bytes
-rwxr-xr-xpelicanconf.py2
-rwxr-xr-xtheme/templates/article.html23
21 files changed, 175 insertions, 12 deletions
diff --git a/content/Informatique/apache.rst b/content/Informatique/apache.rst
index 1101266..1101266 100755..100644
--- a/content/Informatique/apache.rst
+++ b/content/Informatique/apache.rst
diff --git a/content/Informatique/awesome.rst b/content/Informatique/awesome.rst
index 506faf8..506faf8 100755..100644
--- a/content/Informatique/awesome.rst
+++ b/content/Informatique/awesome.rst
diff --git a/content/Informatique/backup.rst b/content/Informatique/backup.rst
index ebd54e3..ebd54e3 100755..100644
--- a/content/Informatique/backup.rst
+++ b/content/Informatique/backup.rst
diff --git a/content/Informatique/chiffrage.rst b/content/Informatique/chiffrage.rst
index fcda1dd..fcda1dd 100755..100644
--- a/content/Informatique/chiffrage.rst
+++ b/content/Informatique/chiffrage.rst
diff --git a/content/Informatique/chroot.rst b/content/Informatique/chroot.rst
index d126d99..d126d99 100755..100644
--- a/content/Informatique/chroot.rst
+++ b/content/Informatique/chroot.rst
diff --git a/content/Informatique/elinks.rst b/content/Informatique/elinks.rst
index bac91ba..bac91ba 100755..100644
--- a/content/Informatique/elinks.rst
+++ b/content/Informatique/elinks.rst
diff --git a/content/Informatique/fail2ban.rst b/content/Informatique/fail2ban.rst
index a276ca4..a276ca4 100755..100644
--- a/content/Informatique/fail2ban.rst
+++ b/content/Informatique/fail2ban.rst
diff --git a/content/Informatique/fonctionnel.rst b/content/Informatique/fonctionnel.rst
index 292d8eb..292d8eb 100755..100644
--- a/content/Informatique/fonctionnel.rst
+++ b/content/Informatique/fonctionnel.rst
diff --git a/content/Informatique/guiderstodt.rst b/content/Informatique/guiderstodt.rst
new file mode 100644
index 0000000..fc14a0a
--- /dev/null
+++ b/content/Informatique/guiderstodt.rst
@@ -0,0 +1,162 @@
+.. -*- mode: rst -*-
+.. -*- coding: utf-8 -*-
+
+Guide d'utilisation de rst2odt
+==============================
+
+:date: 2013-05-07
+:tags: Libre, reStructuredText
+:summary: |summary|
+
+.. figure:: |filename|/images/rstodt/writing.jpg
+ :figwidth: 150
+ :figclass: floatright
+ :alt: Bureau
+
+ Image : `AJ Cann`_ (creativecommons_)
+
+.. _creativecommons: http://creativecommons.org/licenses/by-nc-sa/2.0/deed.fr
+
+
+|summary|
+
+
+.. |summary| replace::
+ J'ai déjà souvent abordé le langage reStructuredText_ dans mes articles, et
+ je l'utilise fréquement, que ce soit pour écrire sur ce blog ou publier
+ d'autres contenus. On présente souvent rst2pdf_ pour la publication, mais
+ il est également possible de générer une sortie vers libreoffice,
+ permettant de créer rapidement des documents avec une mise en page
+ maîtrisée.
+
+.. _reStructuredText: http://docutils.sourceforge.net/docs/ref/rst/introduction.html
+.. _rst2pdf: http://rst2pdf.ralsina.com.ar/
+
+Premiers pas
+------------
+
+On commence par installer les outils nécessaires :
+
+.. code-block:: console
+
+ $ sudo aptitude install rst2odt
+
+et on lance la génération de la manière suivante :
+
+.. code-block:: console
+
+ $ rst2odt document.rst document.odt
+
+On peut tout de suite consulter le fichier généré pour voir le résultat. Le
+rendu est moins aguicheur que celui généré avec rst2pdf, mais il est possible
+de changer ça.
+
+Environnement
+-------------
+
+Plutôt que de lancer la commande à chaque fois, il est préférable de se créer
+un environnement qui va nous servir chaque fois que nous aurons besoin de
+publier un nouveau document.
+
+On va se créer un Makefile pour automatiser la génération du document :
+
+.. code-block:: makefile
+
+ resources/template.odt: resources/template.rst
+ rst2odt resources/template.rst resources/template.odt
+
+ %.odt: %.rst resources/template.odt
+ rst2odt --create-links --strip-comments --stylesheet=resources/template.odt --add-syntax-highlight $< $@
+ cp $@ resources/templates.odt
+
+Ainsi, il suffira de lancer la commande `make document.odt` pour générer la
+sortie à partir du fichier `document.rst` (`document` est bien sûr à adapter en
+fonction du nom du fichier sur lequel vous travaillez).
+
+J'ai créé une archive_ qu'il vous suffit de décompresser pour pouvoir
+commencer à travailler ; elle comprend le fichier `makeFile` présenté ci-dessus,
+ainsi qu'un template contenant des éléments de base.
+
+.. _archive: |filename|/resources/rstodt/rst.zip
+
+Utiliser les templates
+----------------------
+
+L'avantage d'utiliser un format balisé est que vous n'avez pas vous soucier du
+formattage. Le document généré est prêt à être mis en page, vous n'avez plus
+qu'à travailler sur le modèle.
+
+La commande `make` a mis à jour le fichier modèle à partir de votre document de
+travail. Vous pouvez donc maintenant modifier les styles à travers libreoffice,
+ils seront automatiquement intégrés dans vos prochaines étapes de génération.
+
+rst2odt applique ses propres styles au document, ceux-ci héritant des styles
+par défaut d'OpenOffice, vous pouvez donc utiliser vos template habituels pour
+la mise en forme de votre document. La liste est présentée sur la
+documentation_ de l'application.
+
+En séparant le contenu de l'application, on peut ainsi facilement réutiliser un
+style d'un document à un autre, on se décharge de la mise en page pendant tout
+le temps de la rédaction.
+
+.. _documentation: http://docutils.sourceforge.net/docs/user/odt.html
+
+Aller plus loin
+---------------
+
+Le langage reStructuredText utilise des directives_ pour mettre en forme le
+texte. Toutes les applications ne les gèrent pas correctement, et certains
+outils ont décidé de rajouter leurs propres directives ; bref c'est un peu le
+bordel.
+
+La plupart des directives sont correctement prises en compte :
+
+* les tableaux
+* les images
+* les notes de bas de page (À l'exception près qu'il est impossible de référencer une note de bas de page dans une autre note.)
+* la table des matières
+* les rôles
+
+Cela devrait répondre à 90 % des usages courants. J'ai déjà présenté un
+correctif pour `ajouter la coloration syntaxique`_ dans notre document, et
+ainsi utiliser les mêmes directives que rst2pdf_ pour insérer du
+code, voici la liste de quelques directives propres à rst2odt :
+
+:meta_: Permet de renseigner les méta-données dans le document.
+
+Et d'autres qui sont plus ou moins bien suportées :
+
+:container_: Permet d'appliquer un style particulier sur un bloc de texte.
+
+:raw_: Pour insérer du code xml au format openDocument.
+
+
+Au final
+--------
+
+C'est bien pratique de pouvoir écrire son document dans un bloc note, sur une
+machine plutôt poussive, et malgré ça bénéficier de la force de mise en page de
+LibreOffice. On s'affranchit de la plate-forme sur laquelle on travaille (on
+peut éditer son fichier sous gedit sur linux, puis sur le bloc-note de
+windows, et le reprendre dans un terminal via vim), et lancer la transformation
+une fois le texte écrit
+
+Vient alors la phase de mise en page, mais on est alors aidé par l'outil de
+traitement de texte pour ça, et surtout, par le fait que le document généré
+inclu des styles sur sa totalité, c'est donc tout de suite beaucoup plus
+facile, et se fait très rapidement.
+
+Pour ma part, c'est une solution que j'utilise et recommande, et qui au final
+donne de meilleurs résultats que rst2pdf.
+
+
+.. _directives: http://docutils.sourceforge.net/docs/ref/rst/directives.html
+
+.. _meta: http://docutils.sourceforge.net/docs/user/odt.html#the-meta-directive
+.. _table : http://docutils.sourceforge.net/docs/user/odt.html#the-table-directive
+.. _container: http://docutils.sourceforge.net/docs/user/odt.html#the-container-directive
+.. _raw: http://docutils.sourceforge.net/docs/user/odt.html#the-raw-directive
+
+.. _ajouter la coloration syntaxique: |filename|rstodt.rst
+
+.. _AJ Cann: http://www.flickr.com/photos/ajc1/3531532114/in/photostream/
diff --git a/content/Informatique/invisible.rst b/content/Informatique/invisible.rst
index dcee14b..dcee14b 100755..100644
--- a/content/Informatique/invisible.rst
+++ b/content/Informatique/invisible.rst
diff --git a/content/Informatique/navit.rst b/content/Informatique/navit.rst
index ebfd8ab..ebfd8ab 100755..100644
--- a/content/Informatique/navit.rst
+++ b/content/Informatique/navit.rst
diff --git a/content/Informatique/rst.rst b/content/Informatique/rst.rst
index 0bd15f1..0bd15f1 100755..100644
--- a/content/Informatique/rst.rst
+++ b/content/Informatique/rst.rst
diff --git a/content/Informatique/rstodt.rst b/content/Informatique/rstodt.rst
index 2f0b5b2..2f0b5b2 100755..100644
--- a/content/Informatique/rstodt.rst
+++ b/content/Informatique/rstodt.rst
diff --git a/content/Informatique/sftp.rst b/content/Informatique/sftp.rst
index 5d73c5d..5d73c5d 100755..100644
--- a/content/Informatique/sftp.rst
+++ b/content/Informatique/sftp.rst
diff --git a/content/Informatique/vala.rst b/content/Informatique/vala.rst
index 55d83f3..55d83f3 100755..100644
--- a/content/Informatique/vala.rst
+++ b/content/Informatique/vala.rst
diff --git a/content/Informatique/wiimote.rst b/content/Informatique/wiimote.rst
index 019d9f2..019d9f2 100755..100644
--- a/content/Informatique/wiimote.rst
+++ b/content/Informatique/wiimote.rst
diff --git a/content/Informatique/wiimote1.rst b/content/Informatique/wiimote1.rst
index 94577d4..94577d4 100755..100644
--- a/content/Informatique/wiimote1.rst
+++ b/content/Informatique/wiimote1.rst
diff --git a/content/images/rstodt/writing.jpg b/content/images/rstodt/writing.jpg
new file mode 100644
index 0000000..ef39620
--- /dev/null
+++ b/content/images/rstodt/writing.jpg
Binary files differ
diff --git a/content/resources/rstodt/rst.zip b/content/resources/rstodt/rst.zip
new file mode 100644
index 0000000..ff8206a
--- /dev/null
+++ b/content/resources/rstodt/rst.zip
Binary files differ
diff --git a/pelicanconf.py b/pelicanconf.py
index 4a145e8..6edae01 100755
--- a/pelicanconf.py
+++ b/pelicanconf.py
@@ -30,7 +30,7 @@ TAG_FEED_ATOM = 'feeds/%s.atom'
ARTICLE_URL = u'{date:%Y}/{date:%m}/{slug}/'
ARTICLE_SAVE_AS = u'{date:%Y}/{date:%m}/{slug}/index.html'
-
+STATIC_PATHS = ['images', 'resources']
THEME = 'theme'
TYPOGRIFY = True
diff --git a/theme/templates/article.html b/theme/templates/article.html
index 044c386..b53962d 100755
--- a/theme/templates/article.html
+++ b/theme/templates/article.html
@@ -13,6 +13,18 @@
</article>
+ {% if article.related_posts and article.related_posts %}
+
+ <h2>&Agrave; lire aussi&nbsp;:</h2>
+
+ <ul>
+ {% for related_post in article.related_posts %}
+ <li><a href="{{ SITEURL }}/{{ related_post.url }}">{{ related_post.title }}</a></li>
+ {% endfor %}
+ </ul>
+ {% endif %}
+
+
{% if DISQUS_SITENAME %}
<div class="comments">
<h2>Commentaires&nbsp;:</h2>
@@ -28,15 +40,4 @@
</div>
{% endif %}
- {% if article.related_posts and article.related_posts %}
-
- <h2>&Agrave; lire aussi&nbsp;:</h2>
-
- <ul>
- {% for related_post in article.related_posts %}
- <li><a href="{{ SITEURL }}/{{ related_post.url }}">{{ related_post.title }}</a></li>
- {% endfor %}
- </ul>
- {% endif %}
-
{% endblock %}