Pour ceux qui souhaiteraient quelques détails et éventuellement un peu d'aide...

D'abord, sur la feuille d'impression, c'est le plus court. Son but est donc de supprimer les éléments superflus, à savoir :

  • l'entête ;
  • la barre latérale ;
  • le prélude tout en haut de l'écran ;
  • le pied de page ;
  • l'élément de date ;
  • les étoiles pour la notation ;
  • les formulaires de commentaire et de captcha pour l'impression individuelle des billets.

J'ai préféré laisser les commentaires. Le code est alors le suivant :

h1 a span {
        display : none;
}

a:link, a:visited {
        color: #000;
        background: transparent;
        text-decoration: underline;
}

#top, #sidebar, #prelude, #footer, #comment-form, .unit-rating, #addco {
        display : none;
}

Vous aurez remarqué le #addco. C'est un identificateur que j'ai ajouté à la ligne qui affiche le message "Ajouter un commentaire" de manière à pouvoir la supprimer, puisqu'elle ne fait pas partie du formulaire proprement dit. Juste un détail cosmétique...

Ce fichier s'appelle naturellement print.css et doit être appelé depuis votre template.php de la manière suivante :

<link rel="stylesheet" type="text/css" href="<?php dcInfo('theme'); ?>/print.css" media="print" />

L'installation de la Wikibarre est simple, même s'il ne s'agit pas d'un plugin. L'archive contient deux réprtoires, js et wikibtns, qu'il faut copier dans votre répertoire de thème courant. Ensuite, il faudrait remplacer les fichiers form.php et prepend.php par ceux fournis. Sauf que pas mal de gens les modifient, ce qui va les obliger soit à intégrer leurs modification dans ces deux nouveaux fichiers, soit à modifier leurs fichiers à partir des nouveaux. Bref, du bon patching à la mimine. Pour vous aider, voici le patch pour la version 1.2.4 de DotClear :

--- themes/default/form.php  2006-04-11 12:39:41.000000000 +0200
+++ themes/default/form.php.new     2006-07-03 15:57:57.000000000 +0200
@@ -46,8 +51,14 @@
        </p>
 </fieldset>

-<p class="form-help">Le code HTML dans le commentaire sera affich&eacute; comme du texte,
-les adresses internet seront converties automatiquement.</p>
+<?php dcWikiCommentToolbar(); ?>
+<p class="form-help">
+<?php if (dc_wiki_comments) { ?>
+Ce blog permet une syntaxe <strong>wiki</strong> simplifiée dans les commentaires.<br/>
+Si votre navigateur est compatible, vous pouvez vous aider de la barre d&acute;outils.<br/>
+<?php } ?>
+Le code HTML sera affich&eacute; comme du texte.<br/>
+</p>

 <fieldset>
        <p><input type="checkbox" id="c_remember" name="c_remember" />

--- src/dotclear-1.2.4/themes/default/prepend.php       2006-04-11 12:39:41.000000000 +0200
+++ www/htdocs/blog/themes/default/prepend.php  2006-07-03 15:59:18.000000000 +0200
@@ -28,4 +28,57 @@
 $mod_files = dirname(__FILE__).'/post.php';
 $mod_files = dirname(__FILE__).'/form.php';

+/**
+ * dcWikiCommentToolbar([string $message])
+ *
+ * Affiche un barre d'outils pour la mise en forme des commentaires
+ * au format wiki.
+ * La barre ne sera affichée que si le format wiki des commentaires
+ * est activé dans le fichier de configuration dotclear.ini.
+ *
+ * ( Reportez vous au fichier install.html présent dans l'archive de
+ *   la wikibarre. )
+ *
+ * @param string $message un message d'information optionnel.
+ *
+ */
+function dcWikiCommentToolbar($message = '') {
+        global $theme_path, $theme_uri, $__theme;
+
+        if (is_dir($theme_path.$__theme.'/wikibtns/')) {
+                $dc_url_wikibuttons = $theme_uri.$__theme.'/wikibtns/';
+        } else {
+                $dc_url_wikibuttons = $theme_uri.'default/wikibtns/';
+        }
+        if (file_exists($theme_path.$__theme.'/js/wikibar.js')) {
+                $dc_url_wikijs = $theme_uri.$__theme.'/js/wikibar.js';
+        } else {
+                $dc_url_wikijs = $theme_uri.'default/js/wikibar.js';
+        }
+        if (dc_wiki_comments) {
+                echo '<script type="text/javascript" src="'.$dc_url_wikijs.'"></script>'. "\n".
+'<script type="text/javascript">'. "\n".
+"       if (document.getElementById) {
+                var tb = new dcWikiBar(document.getElementById('c_content'),'$dc_url_wikibuttons');
+
+                tb.btStrong('".str_replace("'","\'",__('Strong emphasis'))."');+                tb.btEm('".str_replace("'","\'",__('Emphasis'))."');
+                tb.btIns('".str_replace("'","\'",__('Inserted'))."');
+                tb.btDel('".str_replace("'","\'",__('Deleted'))."');
+                tb.btQ('".str_replace("'","\'",__('Inline quote'))."');
+                tb.btCode('".str_replace("'","\'",__('Code'))."');
+                tb.btBr('".str_replace("'","\'",__('Line break'))."');
+                tb.btPre('".str_replace("'","\'",__('Preformated text'))."');
+                tb.btList('".str_replace("'","\'",__('Unordered list'))."','ul');
+                tb.btList('".str_replace("'","\'",__('Ordered list'))."','ol');+                tb.btLink('".str_replace("'","\'",__('Link'))."',
+                        '".str_replace("'","\'",__('URL?'))."',
+                        '".str_replace("'","\'",__('Language?'))."',
+                        '".DC_LANG."');
+                tb.addSpace(10);
+                tb.draw('$message');
+        }
+</script>\n";
+        }
+}
 ?>

Concernant la mise à jour du blog, le truc chiant, c'est qu'encore une fois, il n'y a pas de patch publié, ce qui peut rendre l'installation lourdes pour ceux qui personnalisent leur Dotclear. Heureusement, le projet est géré sous Trac, outil qui sait produire des diffs. Et comme on me l'a demandé plusieurs fois, voilà la recette pour obtenir un diff entre deux version.

  1. on va dans Browse source ;
  2. puis dans Branches ;
  3. et on sélectionne la dernière version, la 1.2.5-stable en l'occurence ;
  4. ensuite on demande le Revision log ;
  5. puis on demande alors les changements entre la version qui précèdente (sous copied from branches/1.2.4-stable) et la version actuelle, ce qui permet d'avoir tous les changements ;
  6. enfin, dans cette dernière page pleine de rectangles verts et rouges, on descend jusqu'en bas pour demander la même chose au format Unified Diff ;

Et hopla tralala, un patch qu'il ne reste plus qu'à appliquer consciencieusement sur votre blog. Magique :)