XEmb un plugin pour Dotclear

Objectifs

XEmb (XML Embedded) permet d'inclure un document XHTML externe (référencé par son url) dans un billet.

Le document étant référencé par son url, il peut être stocké sur n'importe quel autre serveur ! Par exemple, je l'utilise pour mon serveur Web personnel : dotclear est installé sur http://www.zeitoun.net alors que mes articles sont eux stockés sur http://kerphi.zeitoun.net/articles/

XEmb permet aussi d'inclure des feuilles de style particulières pour chaque articles, on peut ainsi personnaliser l'affichage de chaque articles : par exemple si on souhaite centrer une image ou faire flotter une image on peut le faire facilement et proprement en définissant sa propre feuille de style, elle sera automatiquement incluse par dotclear à la suite des siennes.

J'ai créé XEmb car je voulais pouvoir éditer mes articles avec un éditeurs XHTML externe (Amaya). XEmb me permet de conserver mes documents Web indépendamment de la base de donnée de dotclear, ainsi je peux les modifier très facilement avec Amaya sans passer par l'interface Web de dotclear : un simple clique sur le bouton save d'Amaya me permet de publier le document.

Installation

Installer le module "php4-xslt" (trouvez l'équivalent si vous utilisez php5) sur votre serveur dotclear. En effet, XEmb utilise des feuilles de style XSL pour extraire le contenu des documents et pour transformer les URLs des images et des liens.

Dotclear ne proposant pas de mécanismes pour surcharger ses méthodes d'affichage, l'installation se résume à préfixer dans le thème les appels à certaines fonction par "XEmb::".

Éditez "template.php" :

Éditez "post.php" :

Éditez "list.php" :

Utilisation

Maintenant vous devez créer un document XHTML avec votre éditeur favoris et le stocker sur le serveur Web de votre choix. Attention, le code XHTML généré doit être valide ! Je vous conseil d'utiliser l'éditeur Amaya qui vous assure de créer des documents XHTML valides.

Remarque : votre page doit impérativement avoir une déclaration XML, c'est à dire que la première ligne de votre document doit être quelque chose du genre "<?xml version="1.0" encoding="iso-8859-1"?>". Si vous ne mettez pas la déclaration XML, les transformation XSL ne pourront pas se faire et une erreur aura lieu.

Créez ensuite un billet, donnez lui un chapo (le titre n'a pas beaucoup d'importance, il est utile seulement pour la génération de l'url absolue du billet), et mettez ceci dans le corps du billet (cette chaîne de caractère sera automatiquement détectée par XEmb et remplacée par votre document XHTML) :

"{XEmb url="http://kerphi.zeitoun.net/articles/xemb_un_plugin_pour_dotclear/index.html"}"

(adaptez l'url à votre cas).

Vous pouvez maintenant visualiser le résultat sur la partie publique de votre site (XEmb ne fonctionne pas encore dans la partie administration)

Utilisation avancée

Vous pouvez facilement surcharger le style du thème dotclear pour chaque billet. Pour cela rajoutez une feuille de style dans votre document XHTML et ajoutez l'option "meta="yes"" dans le corps du billet de cette façon :

"{XEmb url="http://kerphi.zeitoun.net/articles/xemb_un_plugin_pour_dotclear/index.html" meta="yes"}"

XEmb va alors automatiquement inclure à la suite de la feuille de style de dotclear la votre. Vous pouvez ainsi personnaliser le style de chacun de vos articles!

Conseil : préfixer toutes vos règles de style par la classe ".xemb", car sinon vous risquez d'altérer le style de la page entière (les menus, le header …). Pour cela associez à votre document XHTML des règles CSS de cette forme : ".xemb h2 { background-color: red; }" et donnez la classe "xemb" à votre "body".

Le télécharger

Historique des changements

A faire