Qu'est-ce qu'opmlRender ?
opmlRender est une commande de macro UserTalk qui construit, ou traduit, un document OPML sous format HTML.
Pourquoi l'utiliser ?
J'ai trouvé qu'il était plus simple de gérer des contenus divers publiés sur un carnet Web sous la forme de fichiers de style plan.
Certain de ces plans sont générés directement dans le fichier #homeTemplate de slam.
J'ai créé directement ces plans dans Radio, puis les ai enregistrés sous forme de documents OPML (le format par défaut des plans externes pour Radio).
L'installation de opmlRender.
Il vous suffit de sauver une copie d'opmlRender, sous la forme d'un fichier texte, dans le dossier Macros de l'application Radio.
Si vous êtes un utilisateur d'activeRenderer, opmlRender faisant partie de l'outil, il est déjà installé.
Comment fonctionne-t-elle ?
Insérez une commande <% opmlRender ( "url" ) %> là où vous désirez que l'adresse URL du plan doit être publiée.
Une adresse URL locale utilise une en-tête file://. Ce qui donne une adresse telle que celle-ci:
Une adresse URL distante utilise une en-tête http://, telle qu'ici:
Le style de la forme HTML publiée peut être personnalisée en utilisant les feuilles de style.
Tout noeud d'un plan est généré avec un paragraphe possédant un attribut de classe CSS.
Le nom de classe par défaut utilisé par opmlRender est "l" (minuscule l).
Vous pouvez lui donner un tout autre nom, en fournissant une chaîne de caractères comme second argument de la commande opmlRender.
Par exemple :
<%opmlRender( "file:///Data/Marc/Radio%20UserLand/www/gems/opml/tracks.opml", "track" )%>
La chaîne de caractères que vous fournissez , ou la chaîne par défaut "l", n'est pas générée directement sous la forme de classe de valeur "string" (class="string").
La macro ajoute un suffixe, qui est le niveau d'indentation, dans le plan, du noeud qui est généré. Tous les sommets de plan sont de niveau 1, leurs enfants sont de niveau 2, et ainsi de suite..
Ce noeud de ce plan opmlRender est généré avec un paragraphe de classe "story5" (class="story5"); j'ai écrit la macro qui suit dans le corps du texte de l'article pour la version html de ce tutoriel.
<%opmlRender( "file:///Data/Marc/Radio%20UserLand/www/gems/opml/opmlRender.opml", "story" )%>
Vous devez fournir les définitions de style CSS correspondantes des classes, dans l'en-tête du fichier où vous avez inséré la macro opmlRender.
J'ai inséré le ligne suivante dans la section du modèle que j'ai utilisé pour cet article (ainsi que tous les autres):
Le fichier stories.css comprend la spécification de toutes les règles de style.
En plus, vous pouvez spécifier un troisième paramètre optionnel pour opmlRender, définissant la manière de prendre en compte les modalités d'ouverture et de fermeture des noeuds du plan, avant que ce plan ne soit généré pour publication.
Si vous ne spécifiez pas un troisième paramètre, ou entrez une valeur false (faux) (ou la valeur 0), le plan est généré tel qu'il a été enregistré: les noeuds refermés sont invisibles à l'écran dans la version publiée.
Si vous entrez la valeur true (ou la valeur 1), comme troisième paramètre, tous les noeuds du plan sont entièrement déployés avant que le plan ne soit généré.
Les quatrième et cinquième paramètres sont particulièrement utiles si vous avez mis la valeur true au troisième paramètre.
Je vous promet qu'il n'y en a pas d'autres :-)
Le quatrième argument optionnel est la profondeur maximum de niveaux d'indentation du plan qui doivent être générés sur le site public.
Par défaut, c'est 0, c'est-à-dire sans limite.
Si un plan possède une profondeur de 4 niveaux d'indentation, mais que le quatrième argument d'opml est de valeur 2, alors tous les noeuds de niveau 3 et 4 seront ignorés lors de la génération du plan.
Le cinquième argument optionnel est la nombre maximum de sommets (noeuds de niveau 1) qui doivent être générés dans le plan.
Par défaut, c'est 0, c'est-à-dire sans limite.
Si un plan possède 4 sommets, mais que le cinquième argument est de valeur 2, alors les seuls deux premiers sommets et leurs enfants seront générés et les deux autres seront ignorés.
Quelques exemples supplémentaires.
Dans la section headlines de la page d'accueil de slam:
<% opmlRender ( "file:///Data/Marc/Radio%20UserLand/www/gems/opml/headlines.opml", "headline", true, 2, 1 ) %>
Dans la section resources de la page d'accueil de slam:
<% opmlRender ( "file:///Data/Marc/Radio%20UserLand/www/gems/opml/resources.opml", "track", true, 3, 0 ) %>
Dans la page instant outline de Dave Winer, pourquoi pas :-)
<% opmlRender ( "http://radio.weblogs.com/0001015/instantOutliner/daveWiner.opml" ) %>
Crédits.
La macro opml est née sous le nom de 'renderCss', il y a quelques temps.
note:
ce texte est une traduction, faite à un moment donné, du texte original, auquel il convient de se reporter pour prendre en compte les multiples mises à jour et pour ne pas se laisser égarer par de possibles erreurs de traductions.
auteur original: Marc Barrot
adaptation: Le Dréan Gwénaël (les commentaires, critiques et suggestions sont bienvenus ;-))