Le guide officiel du moteur de blog NanoBlogger
version du 18 f??vrier 2010
Table des mati??res
Synopsis
nb [-b blog_rep] [options] <actions> [<keyword> (variable)]
Programmes :
Bash (au moins v2.05), cat, cp, cut, dirname, date*, grep, mkdir, mv, rm, sed, sort
* = version GNU recommand??e, mais non indispensable.
Cr??er un nouveau blog
Pour cr??er un nouveau blog (au prompt):
nb --blog-dir [monblog_rep] add weblog
o?? monblog_rep est un r??pertoire inexistant. ??a cr??era un nouveau r??pertoire, copiera les fichiers par d??faut dedans et finalement vous laissera ??diter le fichier de configuration. Plusieurs blogs peuvent ??tre cr????s de cette mani??re.
Pour assigner au blog un r??pertoire par d??faut
1. ??diter soit nb.conf ou $HOME/.nb.conf. 2. mettre ?? BLOG_DIR le r??pertoire du blog: BLOG_DIR="$HOME/public_html/[monblog_rep]"
Vous pouvez aussi aller sur le r??pertoire du blog et NanoBlogger ajustera automatiquement $BLOG_DIR pour vous : ainsi vous n'aurez pas ?? le sp??cifier en ligne de commande.
nb --blog-dir [monblog_rep] configure update allce qui ouvre blog.conf depuis le r??pertoire du blog pour l'??diter, puis fait la mise ?? jour int??grale du blog.
D??finir le navigateur
NB_BROWSER sp??cifie le navigateur ?? utiliser au lieu de celui de la variable BROWSER standard. Vous pouvez sp??cifier un autre navigateur en le mentionnant ?? NB_BROWSER dans blog.conf. Sous MacOS X, vous pourriez mettre "open". Si aucun navigateur n'est mentionn??, "lynx" sera appel??.
D??finir l'??diteur
NB_EDITOR sp??cifie l'??diteur au lieu de celui de la variable EDITOR standard. Vous pouvez sp??cifier un autre ??diteur en le mentionnant ?? NB_EDITOR dans blog.conf. Si aucun ??diteur n'est sp??cifi??, "vi" sera appel??.
D??finir le format des dates des nouvelles entr??es
DATE_FORMAT sp??cifie le format de datation d'une nouvelle entr??e. Par d??faut, c'est celui de la commande date. Vous pouvez sp??cifier la localisation pour la commande "date" (voir la variable DATE_LOCALE). Vous pouvez aussi sp??cifier des arguments suppl??mentaires ?? la ligne de commande avec DATE_ARGS, pratique pour exprimer le temps en UTC. Veuillez noter que ces param??tres n'ont pas d'effet sur les pr??c??dentes entr??es et si vous employez UTC, attention aux conditions de concurrence qui pourraient advenir, car les noms de fichier des entr??es pourraient ??tre hors synchronisation. La solution est aussi de changer DB_DATEARGS ?? l'identique de DATE_ARGS, ainsi ces deux l?? renverront la m??me date et heure. Lire les pages "man" de la command "date" pour voir comment personnaliser le format de sortie de la commande "date".
Exemples:
DATE_FORMAT="%m.%d.%Y %H:%M" DATE_LOCALE="$LANG" DATE_ARGS="-u"
D??finir le fuseau horaire
BLOG_TZD d??termine le fuseau horaire des entr??es de votre blog. Par d??faut, c'est fait automatiquement en utilisant "%z"
,
une extension hors standard de la commande date. Si la commande "date"
de votre syst??me ne la supporte pas, vous aurez ?? le sp??cifier.
Exemple :
BLOG_TZD="-0:500"
D??finir l'encodage
BLOG_CHARSET mentionne le type d'encodage des caract??res ?? employer pour votre blog.
Exemple :
BLOG_CHARSET="iso-8859-1"
AVERTISSEMENT: Si vous avez le plugin Tidy actif, cette disposition peut ??tre chang??e par Tidy. Pri??re de vous rapporter ?? la documentation de Tidy pour le choix de l'encodage des caract??res.
D??finir le type mime
BLOG_MIMETYPE donne le type mime ?? ??tre employ?? pour votre blog.
Exemple :
BLOG_MIMETYPE="text/html"
D??finir l'adresse Web
BLOG_URL devrait ??tre mis comme ??tant l'URL compl??te du blog, en excluant le fichier index et "/" le pr??c??dent.
Exemple :
BLOG_URL="http://mon-site.com/blog"
D??finir la feuille de style
BLOG_CSS indique la feuille de style ?? ??tre appel??e pour votre blog. Les feuilles de style sont plac??es dans le r??pertoire styles.
Exemple :
BLOG_CSS="styles/nb_clean.css"
D??finir le favicon
BLOG_ICON indique le favicon ?? ??tre appel?? par votre blog. Les favicons sont plac??s dans le r??pertoire images.
Exemple :
BLOG_ICON="images/favicon.ico"
Activer l'affichage dans les liens du fichier index du r??pertoire
SHOW_INDEXFILE active l'affichage dans les liens du fichier index du r??pertoire. Par d??faut mis ?? "1", activ??.
NdT : en fait c'est l'affichage ou
non de l'URL compl??te, avec ou sans "index.html" par ex.
D??finir le nom de l'auteur
BLOG_AUTHOR peut ??tre rempli pour mettre le nom de l'auteur; par d??faut c'est le nom pris dans la variable d'environnement USER. Ainsi BLOG_AUTHOR se subsistera ?? cette derni??re.
D??finir le nombre par d??faut pour "max" de Query
MAX_ENTRIES met le nombre maximal d'entr??es qui seront retourn??es par "max" de Query. Par d??faut : 10.
D??finir le nombre maximal d'entr??es ?? afficher pour toutes les pages d??limit??es.
MAX_PAGE_ENTRIES met le nombre maximal d'entr??es affich??es pour toutes les pages d??limit??e. Par d??faut : "$MAX_ENTRIES".
MAX_CATPAGE_ENTRIES met le nombre maximal d'entr??es affich??es pour chaque page d'archive "cat??gorie". Par d??faut : "$MAX_PAGE_ENTRIES". Une page archive "cat??gorie" sera scind??e en plusieurs si le nombre d'entr??es est plus grand que $MAX_CATPAGE_ENTRIES.
MAX_MONTHPAGE_ENTRIES met le nombre maximal d'entr??es affich??es par page d'archive "mois". Par d??faut :"$MAX_PAGE_ENTRIES". Une page d'archive "mois" sera scind??e en plusieurs si le nombre d'entr??es est plus grand que $MAX_MONTHPAGE_ENTRIES.
MAX_MAINPAGE_ENTRIES met le nombre maximal d'entr??es ?? afficher pour chaque page principale. Par d??faut : "$MAX_PAGE_ENTRIES". La page principale sera scind??e si $MAX_MAINPAGE_ENTRIES est moindre que le r??sultat MAINPAGE_QUERY.
D??finir le nombre par d??faut de Query pour la page principale
MAINPAGE_QUERY Met le nombre par d??faut de Query pour la page principale. Par d??faut : "max". Quand combin?? avec MAX_MAINPAGE_ENTRIES, cela peut ??tre utilis?? pour la mise en pages multiples de la page principale.
D??finir le format du texte par d??faut
ENTRY_FORMAT sp??cifie le format de texte par d??faut pour une nouvelle entr??e. Par d??faut : "raw".
Activer la cr??ation des archives des entr??es
Mettre ENTRY_ARCHIVES ??gal ?? "1", active la cr??ation des archives des entr??es et reconfigure les liens des entr??es pointant vers leurs propre page d'archive.
Activer la cr??ation des archives mensuelles
Mettre MONTH_ARCHIVES ??gal ?? "1", active la cr??ation des archives mensuelles.
Activer la cr??ation d'archives quotidiennes
Mettre DAY_ARCHIVES ??gal ?? "1", activer la cr??ation d'archives quotidiennes et reconfigure les leins des entr??es pointant vers leur propre page d'archive quand $ENTRY_ARCHIVES n'est pas activ??.
Pr??f??rences d'archivage sp??ciales
CATARCH_DATATYPE d??termine le jeu de m??tadonn??es ?? charger pour la cat??gorie des archives.
MONTHARCH_DATATYPE d??termine le jeu de m??tadonn??es ?? charger pour les archives mensuelles.
DAYARCH_DATATYPE d??termine le jeu de m??tadonn??es ?? charger pour les archives quotidiennes.
Il y a deux types de donn??es qui peuvent ??tre sp??cifi??es, "ALL" ou "NOBODY":
ALL = Totalit?? des m??tadonn??es (lent et plus gros cache). NOBODY = Tout, sauf les m??tadonn??es dans le BODY des entr??es (plus rapide et plus petit cache).
IMPORTANT : Veuillez ??diter (ou cr??er) category_entry.htm, month_entry.htm, and day_entry.htm selon les besoins.
D??finir l'ordre chronologique
CHRON_ORDER sp??cifie l'ordre chronologique des archives du blog. - 0/1 = normal/inverse. Par d??faut mis ?? "1", ordre inverse.
WARNING : Si vous n'utilisez pas l'action "configure" pour changer ceci, les bases de donn??es ne pourront pas refl??ter le nouvel ordre chronologique.
D??finir des param??tres de pr??visualisation et de publication
BLOG_PREVIEW_CMD et BLOG_PUBLISH_CMD permet d'inclure une commande personnalis??e quand elles sont invoqu??es par leurs actions respectives preview et publish.
D??finir les pr??f??rences pour le cache
MAX_CACHE_ENTRIES met le maximum d'entr??es ?? stocker dans le cache. Par d??faut : "$MAX_ENTRIES".
Mettre BLOG_CACHEMNG
?? "0" d??sactive la gestion automatique du cache. Le cache peut ??tre
g??r?? manuellement en invoquant en ligne de commande l'action : update-cache
.
Activer le mode interactif
BLOG_INTERACTIVE active le mode interactif pour votre blog et a le m??me effet que la commande en ligne : --interactive
. Par d??faut c'est "0" pour d??sactiv??, le mettre ?? "1" l'activera ?? nouveau.
Activer l'affichage des statistiques des temps
SHOW_TIMES active les temps cumul??s de l'utilisateur et du syst??me pour le processus de construction. ??a s'av??rera probablement utile si vous n'avez pas d??j?? la commande "time" sur votre syst??me. Par d??faut c'est "0" pour d??sactiv??, le mettre ?? "1" l'activera ?? nouveau.
Changer le type de fichier
NB_FILETYPE sp??cifie le type de fichier. En bref, le suffixe des fichiers g??n??r??s. Par d??faut : "html".
Changer le r??pertoire "Temp"
NB_TEMP_DIR sp??cifie l'emplacement du stockage temporaire des fichiers. Par d??faut c'est "/tmp", mais il peut en ??tre affect?? un ?? chaque blog, pour une meilleure confidentialit?? et une s??curit?? accrue dans un environnement multi-utilisateur.
Changer le crit??re du mode de requ??te
QUERY_MODEsp??cifie le mode de requ??te par d??faut pour toutes les op??rations du blog. Par d??faut ?? "all", mais peut ??tre celui de toute requ??te valide. voir l'action "query" pour toutes les requ??tes possibles.
Configuration des liens
ABSOLUTE_LINKS bascule entre les liens en chemin absolu ou relatif. Par d??faut mis ?? "0", chemin relatif.
FRIENDLY_LINKS bascule entre les liens amicaux ou inamicaux. Les liens amicaux sont plus bas??s sur du texte, alors que les autres ont majoritairement des chiffres. Par d??faut mis ?? "1", liens amicaux.
MAX_TITLEWIDTH fixe la largeur maximale du titre (en nombre de caract??res) g??n??r??s pour les liens amicaux.
SHOW_CATLINKS active l'affichage du lien de la cat??gorie (tag) de l'entr??e; affichage par d??faut.
PERMALINKS active l'affichage du permalien d'une entr??e. Les permaliens sont mis par d??faut.
Configuration des plugins
PLUGINS_DIR sp??cifie le r??pertoire des plugins globaux. Les plugins globaux affectent tous les blogs. Par d??faut c'est : $NB_BASE_DIR/plugins.
USR_PLUGINSDIR sp??cifie le r??pertoire des plugins de l'utilisateur. Les plugins de l'utilisateur affectent le blog sp??cifi??. Les plugins globaux peuvent ??tre surpass??s ponctuellement par les plugins utilisateur. Par exemple si vous copiez "raw.sh" dans "$BLOG_DIR/plugins/entry/format/", votre copie sera utilis??e ?? la place du global "raw.sh". Par d??faut : $BLOG_DIR/plugins.
Configuration globale
NanoBlogger poss??de son propre fichier de configuration, $NB_BASE_DIR/nb.conf, qui contient tous les r??glages qui agissent sur tous les blogs. Le fichier de configuration globale est lu en premier ce qui signifie que les r??glages propres ?? un blog peuvent se substituer ?? ceux de $NB_BASE_DIR/nb.conf. La configuration est aussi examin??e dans le fichier $HOME/.nb.conf.
Changer la langue par d??faut de NanoBlogger
NB_LANG est un param??tre global pour la langue ?? utiliser. Par d??faut c'est "en" pour l'anglais. Tous les param??tres linguistiques devraient ??tre format??s suivant la norme ISO 639-2.
Exemple pour l'espagnol :
NB_LANG="es"
Param??trage linguistique
Cr??er des variables dans une autre langue est chose simple :
Num??rotation des entr??es
La derni??re entr??e aura toujours le num??ro "1", les entr??es ant??rieures auront des num??ros sup??rieurs. Une entr??e peut avoir un num??ro diff??rent pour chaque cat??gorie ?? laquelle elle appartient. Quand on modifie des entr??es sur la base de sa cat??gorie (tag), les num??ros d'?? la fois la cat??gorie et l'entr??e doivent ??tre sp??cifi??s.
??criture des entr??es
Cr??er un nouveau brouillon:
nb [-b blog_rep] draft un_fichier.txt
Importer un brouillon comme nouvelle entr??e :
nb [-b blog_rep] import entry un_fichier.txt
Cr??ation des entr??es
Ajouter une nouvelle entr??e :
nb [-b blog_rep] add entryAffecter une cat??gorie ?? une nouvelle entr??e :
nb [-b blog_rep] --tag <ID> add entryMettre un titre et le nom de l'auteur ?? la nouvelle entr??e :
nb [-b blog_rep] --title "Nouvelle entr??e" --author [auteur_entr??e] add entryMettre un titre, le nom de l'auteur et le corps du texte pour une nouvelle entr??e :
nb [-b blog_rep] --title "Nouvelle entr??e" --author [auteur_entr??e] --text "Ceci est ma prose." add entryImporter une nouvelle entr??e ?? partir d'un fichier :
nb [-b blog_rep] import entry un_fichier.txt
Lister les entr??es
Lister les entr??es :
nb [-b blog_rep] list [<query>]Lister tous les entr??es par tag donn?? :
nb [-b blog_rep] list tag <ID>
??diter les entr??es
??diter l'entr??e :
nb [-b blog_rep] edit entry <ID>??dition d'entr??e selon un tag :
nb [-b blog_rep]--tag <ID> edit entry <ID>??diter de multiples entr??es :
nb [-b blog_rep] edit entry 1,2,3
Affectation des entr??es ?? des tags
Affecter un tag ?? une entr??e donn??e :
nb [-b blog_rep] --tag <ID> tag-entry <ID>Affecter de multiples tags ?? une entr??e donn??e :
nb [-b blog_rep] --tag 1,2,3 tag-entry <ID>Affecter un tag donn?? ?? de multiples entr??es :
nb [-b blog_rep] --tag <ID> tag-entry 1,2,3
Supprimer des entr??es
Suppression d??finitive d'une entr??e donn??e :
nb [-b blog_rep] delete entry <ID>Suppression d??finitive de plusieurs entr??es :
nb [-b blog_rep] delete entry 1,2,3Suppression du tag d'une entr??e donn?? :
1.) trouver le num??ro de l'entr??e depuis la liste :
nb [-b blog_rep]--tag <ID> list
2.) ??ter l'entr??e utilisant le num??ro d'entr??e trouv??e dans la premi??re ??tape :
nb [-b blog_rep] --tag <ID> delete entry <ID>
Changer la date des entr??es
Sp??cifier la date d'une nouvelle entr??e en utilisant le m??ta-tag TIMESTAMP :
nb [-b blog_dir] --var TIMESTAMP --set-var "CCYY-MM-DD HH:MM:SS" add entryChanger la date d'entr??e ancienne :
nb [-b blog_dir] --var TIMESTAMP --set-var "CCYY-MM-DD HH:MM:SS" edit entry <ID>Changer manuellement la date d'entr??e :
1. nb [-b blog_dir] edit entry <ID> 2. TIMESTAMP: YYYY-MM-DD HH:MM:SSLa commande "date" doit supporter l'option "
-d
" pour suivre le format donn?? par "$DATE_FORMAT
".
??galement connus comme cat??gories.
Le num??ro de tag
Un num??ro de tag d??marre ?? "1". Un num??ro de tag reste inchang?? jusqu'?? ce qu'il soit supprim??. Supprimer un tag rendra ce num??ro libre pour une nouvelle cr??ation.
Commandes "tag"
Cr??er un nouveau tag :
nb [-b blog_rep] add tagMettre un intitul?? pour une nouveau tag :
nb [-b blog_rep] --title exemples add tagLister les tags en cours :
nb [-b blog_rep] list tagsTaguer les entr??es existantes :
nb [-b blog_rep] --tag <ID> tag-entry <ID>??diter l'intitul?? d'un tag :
nb [-b blog_rep] --title exemple edit tag <ID>Supression d'un tag :
nb [-b blog_rep] delete tag <ID>
Employer l'action "--query" pour manipuler la liste des entr??es avec lesquelles on doit agir. Premi??rement, v??rifier votre requ??te par la combinaison des actions "--query" avec "list" pour voir quel(s) num??ro(s) y correspond(ent). Ensuite, le faire depuis cette requ??te en combinant l'action "--query" avec l'une des actions "edit", "delete", "tag-entry" ou "update"; en employant le(s) num??ro(s) d'entr??e en accord d'avec la pr??c??dente requ??te.
??diter les entr??es avec "query" :
nb [-b blog_rep] --query <all,CCYY-MM-DD,max> list nb [-b blog_rep]--query <all,CCYY-MM-DD,max> edit entry <ID>Supprimer des entr??es avec "query" :
nb [-b blog_rep]--query <all,CCYY-MM-DD,max> list nb [-b blog_rep]--query <all,CCYY-MM-DD,max> delete entry <ID>??diter des entr??es avec "tag" et "query" :
nb [-b blog_rep]--tag <ID> --query <all,CCYY-MM-DD,max> list nb [-b blog_rep]--tag <ID> --query <all,CCYY-MM-DD,max> edit entry <ID>
Caract??res sp??ciaux des templates
IMPORTANT: prot??ger ces caract??res par le caract??re d'??chappement pour ??viter qu'ils ne soient interpr??t??s par le Shell.
caract??res | description | notes |
---|---|---|
$ | signe dollar | prot??ger en le pr??c??dant d'une barre de fraction invers??e, par ex. "\$" |
` | apostrophe invers??e | prot??ger en la pr??c??dant d'une barre de fraction invers??e, par ex. "\`" |
$( | signe dollar et parenth??se gauche | prot??ger en les pr??c??dant d'une barre de fraction invers??e, par ex. "\$(" |
Templates par d??faut
templates | description |
---|---|
archive_index.htm | contr??le la structure de la page index d'archive |
category_archive.htm | contr??le la structure des pages d'archive par cat??gorie |
day_archive.htm | contr??le la structure des pages d'archive journali??re |
main_index.htm | contr??le la structure de la page principale du blog |
main_links.htm* | contient les liens d??finis par l'utilisateur |
makepage.htm | template utilis?? par d??faut par l'action "make-page" |
month_archive.htm | contr??le la structure des pages d'archive mensuelles |
permalink.htm | contr??le la structure des pages d'archives des entr??es |
entry.htm | contr??le la structure du contenu des entr??es pour beaucoup d'archives |
permalink_entry.htm | contr??le la structure du contenu des entr??es en archivage individuel |
weblog_status.htm | contr??le la structure du statut du blog |
year_archive.htm | contr??le la structure des pages d'archive annuelles |
entry.metadata | contr??le le format du m??ta-fichier des entr??es |
file.metadata | contr??le le format d'un m??ta-fichier |
Templates sp??ciaux
templates | description |
---|---|
category_entry.htm | contr??le la structure et le contenu de la cat??gorie des entr??es |
month_entry.htm | contr??le la structure et le contenu des entr??es mensuelles |
day_entry.htm | contr??le la structure et le contenu des entr??es journali??res |
Les articles sont ind??pendants des archives principales du blog et procurent une fa??on facile et rapide d'organiser et de cr??er un contenu suppl??mentaire pour le blog. La gestion est presque enti??rement faite au travers d'un gestionnaire de fichier (ou la ligne de commande). Les articles sont cr????s simplement depuis des m??tafichiers trouv??s dans le r??pertoire des articles. La r??actualisation des articles se fait ?? la prochaine mise ?? jour du blog ou par une mise ?? jour provoqu??e, selon ce qui arrive en premier. La g??n??ration de l'index et du contenu d??pend du plugin 'articles'. Pour plus d'information au sujet du plugin 'articles', veuillez vous r??f??rer "*articles_meta.sh" dans ?? propos des plugins.
??tablissement du r??pertoire "articles"
ARTICLES_DIR assigne le nom du r??pertoire "articles" pour votre blog. Par d??faut : "articles". plusieurs r??pertoires d'articles peuvent ??tre sp??cifi??s.
Exemple :
ARTICLES_DIR="articles articles/divers"
Assigner le formatage du texte par d??faut pour articles
ARTICLES_FORMAT assigne le formatage par d??faut du texte pour les nouveaux articles. Par d??faut : "raw".
D??finition du suffixe par d??faut pour les articles
ARTICLES_SUFFIX met le suffixe ?? inclure comme article dans le r??pertoire des articles. Par d??faut : ".txt".
Assigner le template par d??faut pour les articles
ARTICLES_TEMPLATE assigne le template par d??faut ?? utiliser pour les nouveaux articles. Par d??faut : "[blog_dir/]templates/makepage.htm".
La cr??ation de nouveaux articles est facilement faite ?? l'aide de la commande 'add article' :
nb [--title 'Exemple d'article'] add article
Importation d'un nouvel article (dans un sous-r??pertoire d'articles existant) :
nb import article [blog_rep/]articles/divers/exemple.txt
R??actualisation manuelle d'articles
R??actualisation manuelle des index et contenus des articles :
nb update articles
Plugins ordinaires : plugins
Les plugins ordinaires sont initialis??s inconditionnellement apr??s une requ??te de mise ?? jour.
Plugins d'archivage : plugins/archive
Les plugins d'archivage sont inititialis??s quand les archives sont ?? mettre ?? jour.
Plugins d'archives "cat??gorie" : plugins/archive/category
Les plugins d'archivage "cat??gorie" sont inititialis??s pour chaque cat??gorie d'archive qui soit ?? mettre ??jour.
Plugins d'archives "jour" : plugins/archive/day
Les plugins d'archives "jour" sont inititialis??s pour chaque archive journali??re qui soit ?? mettre ?? jour.
Plugins d'archives "mois" : plugins/archive/month
Les plugins d'archive "mois" sont initialis??s pour chaque archive mensuelle qui soit ?? mettre ?? jour.
Plugins d'archive "ann??e" : plugins/archive/year
Les plugins d'archive "ann??e" sont initialis??s pour chaque archive annuelle qui soit ?? mettre ?? jour.
Plugins "entr??e" : plugins/entry
Les plugins "entr??e" sont initialis??s inconditionnellement pour chaque entr??e qui soit ?? mettre ?? jour.
Plugins de modification d'entr??e : plugins/entry/mod
Les plugins "modification d'entr??e" sont initialis??s pour chaque entr??e qui soit ?? mettre ?? jour.
Plugins de formatage des entr??es : plugins/entry/format
Les plugins de formatage des entr??es sont initialis??s pour chaque entr??e modifi??e sur la base du champ du m??ta-tag FORMAT. Plus d'un format peut ??tre sp??cifi?? avec un espace ou une virgule comme s??parateur; mais en ??tant prudent quant ?? leur ordre.
Plugins "page" : plugins/page
Les plugins "page" sont initialis??s inconditionnellement avant la mise ?? jour de chaque page.
Plugins de formatage des pages : plugins/page/format
Les plugins de formatage des pages sont initialis??s ?? la mise ?? jour de chaque page sur la base du champ de la m??ta-donn??e FORMAT. Plus d'un format peut ??tre sp??cifi?? avec un espace ou une virgule comme s??parateur, mais en ??tant prudent quant ?? leur ordre.
Plugins de fabrication des pages : plugins/makepage
Les plugins de fabrication des pages sont initialis??s pour chaque page qui soit ?? mettre ?? jour.
Plugins de publication : plugins/post
Les plugins "post" sont initialis??s inconditionnellement par les t??ches relatives aux publications du blog.
Beaucoup de ces plugins fonctionneront suivant leurs propres r??gles une fois qu'ils auront ??t?? initialis??s, autrement dit, plus inconditionnellement.Plugins fournis
plugins | description | variables | cibles | notes |
---|---|---|---|---|
archive/day/cal2daytitle.sh | cr??e un titre personnalis?? pour les archives "jour". | CAL_CMD, CAL_ARGS, DATE_LOCALE | $NB_ArchiveTitle | requiert la commande "cal" |
archive/month/month_calendar.sh | g??n??re un calendrier avec des liens sur le jour de chaque ajout | CAL_CMD, CAL_ARGS, DATE_LOCALE | $NB_MonthlyCalendar | requiert la commande "cal" |
archives/year/year_index.sh | g??n??re les archives "ann??e" | n??ant | $ARCHIVES_DIR/$yearn/index.$NB_FILETYPE | requiert le template "makepage.htm" |
articles_meta.sh* | g??n??re les articles ?? partir des m??ta-fichiers dans le r??pertoire "articles" | ARTICLES_DIR, ARTICLES_FORMAT | $NB_ArticleLinks | requiert le template "makepage.htm", ce plugin doit ??tre programm?? pour ??tre le dernier ?? ??tre charg?? |
atom.sh | ajoute le flux "atom" | BLOG_FEED_ITEMS, ATOM_ITEMS, ATOM_CATFEEDS, ATOM_FEED_LANG | $NB_AtomVer, $NB_AtomFile, index-atom.$NB_SYND_FILETYPE | n??ant |
calendar.sh | g??n??re un calendrier avec des liens sur le jour de chaque ajout | CAL_CMD, CAL_ARGS, DATE_LOCALE | $NB_Calendar | requiert "cal" |
entry/category_links.sh | g??n??re les liens "cat??gorie" | n??ant | $NB_EntryCategories | n??ant |
entry/excerpt.sh* | cr??e l'extrait du texte de l'entr??e | n??ant | $NB_EntryExcerpt | finit apr??s la premi??re d??tection d'un double retour ?? la ligne (ligne vide) |
entry/format/autotag-br.sh | converti les lignes vides en balises HTML pour former un paragraphe | n??ant | $NB_MetaBody, $NB_EntryBody | FORMAT: autotag-br |
entry/format/markdown.sh | utilise "Markdown" pour le formatage | MARKDOWN_CMD, MARKDOWN_OPTS | $NB_MetaBody, $NB_EntryBody | FORMAT : markdown |
entry/mod/base_url.sh | aide ?? la mise en chemin relatif des liens | %base_url% | $NB_EntryBody | exemple : <img src="%base_url%images/pic.png" /> |
entry/mod/moods.sh | converti les variables "mood" en ic??nes "smiley" | MOODS_URL | $NB_EntryBody | copie le r??pertoire des "moods" dans le r??pertoire du blog |
fortune.sh | g??n??re al??atoirement des citations | FORTUNE_CMD, FORTUNE_FILE | $NB_Fortune | requiert "fortune" |
makepage/tidy.sh | valide le code HTML/XML | TIDY_CMD, TIDY_HTML_ARGS, TIDY_XML_ARGS | $NB_Tidy, $BLOG_DIR/tidy.log | requiert "HTML Tidy", surpasse $BLOG_CHARSET |
mymood.sh* | ajoute la possibilit?? d'afficher votre "mood" | MOODS_URL | $NB_MyMood | copie le r??pertoire "moods" dans le r??pertoire du blog |
page/feed_links.sh | g??n??re les "alt" des liens des flux de syndication | n??ant | $NB_AtomAltLink, $NB_RSS2AltLink, $NB_RSSAltLink | requiert un des plugins "atom.sh", "rss.sh" ou "rss2.sh" |
page/page_links.sh | r??g??n??re les liens pour les inclure sur d'autres pages | n??ant | $NB_MainLinks, $NB_RecentEntries, $NB_CategoryLinks, $NB_MonthLinks, etc. | requiert un des plugins "weblog_links.sh" ou "recent_entries.sh" |
page/format/autotag-br.sh | convertit les lignes vides en balises HTML pour former un paragraphe | n??ant | $NB_MetaBody, $NB_EntryBody | FORMAT: autotag-br |
page/format/markdown.sh | utilise "Markdown" pour le formatage | MARKDOWN_CMD, MARKDOWN_OPTS | $NB_MetaBody, $NB_EntryBody | FORMAT : markdown |
page/format/moods.sh | convertit les variables "mood" en ic??nes "smiley" | MOODS_URL | $NB_MetaBody, $NB_EntryBody | peut se combiner avec d'autres, par ex. "FORMAT : moods, markdown" |
recent_entries.sh | g??n??re les listes des entr??es r??centes et anciennes | RECENTLIST_ENTRIES, RECENTLIST_OFFSET, RECENTLIST_MODE | $NB_RecentEntries, $NB_OlderEntries | n??ant |
rss2.sh | ajoute les flux rss 2.0 | BLOG_FEED_ITEMS, RSS2_ITEMS, RSS2_CATFEEDS, BLOG_FEED_LANG | $NB_RSS2File, index-rss.$NB_SYND_FILETYPE | n??ant |
rss.sh | ajoute les flux rss 1.0 | BLOG_FEED_ITEMS, RSS_ITEMS, RSS_CATFEEDS, BLOG_FEED_LANG | $NB_RSSFile, index.$NB_SYND_FILETYPE | none |
weblog_links.sh | g??n??re quelques liens utiles | ALL_YEARLINKS, MAX_YEARLINKS, ALL_MONTHLINKS, MAX_MONTHLINKS | $NB_MainLinks, $NB_MonthLinks, $NB_CategoryLinks | requiert le template "main_links.htm" |
weblog_status.sh | g??n??res quelques statistiques | n??ant | $NB_BlogStatus | requiert le template "weblog_status.htm" |
* = le nom actuel peut changer
Pour d??sactiver un plugin individuel, renommer l'extension du plugin de ".sh" en ".off".
Les configurations des plugins sont contenues et faites dans le "blog.conf" de votre blog.
La syndication de votre blog est effectu??e par les plugins de NanoBlogger. Veuillez noter qu'une adresse Internet compl??te et accessible est requise pour avoir une syndication correcte. Ce qui est fait en renseignant BLOG_FEED_URL. C'est mieux aussi de mettre le bon fuseau horaire pour vos flux de syndication. Pour ??a, veuillez vous r??f??rer ?? BLOG_TZD dans Installation et configuration.
Mettre l'adresse Web
BLOG_FEED_URL Met l'URL des flux de syndication. Par d??faut "$BLOG_URL", seulement s'il a d??j?? ??t?? mis.
Exemple :
BLOG_FEED_URL="http://www.example.com/johndoe/weblog"
Mettre le fuseau horaire
BLOG_FEED_TZDmet le fuseau horaire utilis?? pour les flux de syndication. Par d??faut "$BLOG_TZD".
Mettre la langue
BLOG_FEED_LANG met la langue utilis??e par les flux de syndication.
Exemple :
BLOG_FEED_LANG="en-us"
ATOM_FEED_LANG met la langue utilis??e par le flux de syndication Atom.
Exemple :
ATOM_FEED_LANG="en"
NOTE: Le code langage pour les flux de syndication Atom est diff??rent de celui du standard RSS.
Mettre le nombre maximum d'entr??es ?? syndiquer
BLOG_FEED_ITEMS met le nombre maximum d'entr??es ?? inclure dans vos flux de syndication, ind??pendemment de $MAX_ENTRIES. Par d??faut mis ?? "10". Pour des possibilit??s d'exportation, vous pourriez vouloir le mettre ?? "-1" pour inclure toutes les entr??es existantes de votre blog.
Exemple :
BLOG_FEED_ITEMS="10"
Support des feuilles de style
BLOG_FEED_CSS met la feuille de style employ??e pour vos flux de syndication (le chemin devrait ??tre relatif).
Exemple :
BLOG_FEED_CSS="styles/feed.css"
Support des ic??nes & logos
BLOG_FEED_ICON met une ic??ne pour vos flux de syndication (le chemin devrait ??tre relatif).
Exemple :
BLOG_FEED_ICON="images/feedicon.png"
BLOG_FEED_LOGO met un logo ?? vos flux de syndication (le chemin devrait ??tre relatif).
Exemple :
BLOG_FEED_LOGO="images/feedlogo.png"
NOTE: Dans le plugin de syndication RSS 2.0, le logo sera employ?? quand l'ic??ne ne sera pas d??finie.
Support de la syndication des cat??gories
Il y a trois r??glages qui contr??lent l'activation de la syndication par cat??gorie :
Support pour la cr??ation des podcasts
Il y a un m??ta-tag appel?? ENCLOSURE qui est employ?? pour mettre une donn??e d'entr??e "enclosure" pour chaque entr??e. Le m??ta-tag ENCLOSURE devrait contenir deux jeux diff??rents de donn??es s??par??s par un simple espace. Le fichier m??dia et le type de m??dia (par ex. audio/mpeg).
Exemple :
ENCLOSURE: mp3s/mypodcast.mp3 audio/mpeg
Le fichier m??dia devrait ??tre en un chemin relatif qui peut ??tre trouv?? dans $BLOG_DIR. La commande syst??me "du -b" est requise pour obtenir la longueur du fichier m??dia n??cessaire ?? la donn??e "enclosure". La commande "du" devrait ??tre pr??sente sur bien des syst??mes o?? Bash est support??, mais il n'y pas de garantie que la syntaxe soit la m??me et cela doit ??tre v??rifi?? manuellement. Les "enclosures" sont support??s tant pour les plugins des flux de syndication Atom que RSS2.
V??rification & correction syntaxique
Le plugin Tidy apporte la v??rification et la correction syntaxique. Cette sorte d'outil peut ??tre tout autant votre meilleur ami ou votre pire ennemi, au sens qu'il peut trop bien dissimuler (corriger) vos erreurs. Un fichier log est tenu dans le r??pertoire de votre blog; ainsi vous pouvez v??rifier toute erreur ou changement enregistr?? par Tidy.
Il y a deux variables de configuration de Tidy. Une pour le HTML et l'autre pour le XML (plugins de syndication). Comme indiqu?? dans Installation et configuration, Tidy a tendance ?? r??-??crire quoique vous ayez mis ?? $BLOG_CHARSET. Alors, attention.
TIDY_HTML_ARGS met les arguments de la commande pour Tidy.
TIDY_XML_ARGS met les arguments de la commande pour Tidy lors de la v??rification le XML des flux de syndication.
Exemples :
TIDY_HTML_ARGS="-asxhtml -n -utf8" TIDY_XML_ARGS="-xml -n -utf8 -wrap 0"
Plus de configurations avanc??es incluant des personnalisations peuvent ??tre faites ?? travers les plugins utilisateur.
Typiquement, les plugins sont faits pour cr??er des dossiers pour les templates, mais ne sont en aucun cas limit??s ?? ??a. Les dossiers permettent un grand contr??le de la mani??re o?? sont plac??es les sorties des plugins dans le template. Quelques plugins requi??rent que vous identifiez son unique dossier/destination et que vous l'ajoutiez manuellement ?? vos templates.
Pour ??crire un plugin, vous devriez commencer par cr??er un fichier texte avec le suffixe ".sh". Les plugins sont ordinairement des scripts shell qui sont charg??s (sourc??s en terminologie du shell) selon d'o?? ils sont situ??s dans le r??pertoire des plugins ou l'un de ses sous r??pertoires. ??a peut ??tre une bonne id??e de jeter un coup d'oeil ?? un plugin simple comme "fortune.sh", pour avoir une id??e de son fonctionnement. Quand un nouveau plugin est copi??, il est n??cessaire qu'il ait les droits ad??quats en lecture, pour qu'il puisse ??tre charg?? par NanoBlogger. Les droits ?? l'ex??cution ne sont pas n??cessaires pour les plugins.
Ce qui suit est un ensemble d'outils qui peuvent ??tre utiles au d??veloppement de vos propres plugins.
API de plugin
commande | description | variables and commutateurs | cibles | notes |
---|---|---|---|---|
die | sort avec un message d'erreur | $@ | stdout | renvoie le statut de sortie "1" |
nb_browser | utiltaire pour le lancement d'un navigateur adapt?? | $NB_BROWSER, $BROWSER, $1 | stdout | parse $BROWSER avec le s??parateur ":" |
nb_edit | wrapper simple pour l'??diteur | $NB_EDITOR, $EDITOR, $1, $2, -p = force l'invite de commande, prompt (pause) | stdout | si $2 est nul, alors $1 est suppos?? ??tre le fichier |
nb_eval | wrapper silencieux ?? eval | $? | $DEVNULL | retourne le status de sortie 0 en cas de succ??s |
nb_print | imprime un fichier ligne par ligne | nomfichier=$1, nombre de lignes=$2 (en blanc pour tout) | stdout | employ?? ?? la place de "sed 1q" |
nb_msg | pr??f??rence du mode de verbalisation | $@ | stdout | employ?? au lieu de "echo" quand c'est possible |
confirm_action | demande ?? l'utilisateur de confirmer l'action | n??ant | stdout | peut ??tre employ?? avec $BLOG_INTERACTIVE |
chg_suffix | change le suffixe d'un fichier | nom du fichichier=$1, suffixe=$2 | fichier | peut sp??cifier $NB_FILETYPE, $NB_SYND_FILETYPE comme suffixe |
query_db | interroge les bases de donn??es | db_query=$1, db_catquery=$2, db_setlimit=$3 db_limit=$4, db_offset=$5 | $DB_RESULTS | exemple (extrait les entr??es de 1 ?? 10) : "query_db all nocat limit 10 1" |
lookup_id | extrait le num??ro d'une entr??e correspondante de la base de donn??e principale | $1, $2 | stdout | exemple : lookup_id 2005-12-14T00_00_00.$NB_DATATYPE "$MASTER_DB_RESULTS" |
translit_text | translitt??ration d'un texte sous une forme acceptable pour les liens web | $1 | stdout | n??ant |
set_baseurl | aide ?? la mise des liens en chemin relatif | node_var=$1, base_dir=$2 | $BASE_URL, $ARCHIVES_PATH | on ne devrait en sp??cifier seulement qu'un ?? la fois, ?? node_var ou ?? base_dir. |
set_catlink | met le lien et le fichier pour une cat??gorie donn??e | $1 | $category_file, $category_link | la cat??gorie devrait ??tre au format : cat_N.$NB_DBTYPE |
set_daylink | met le lien et le fichier pour un jour donn?? | $1 | $day_file, $day_link | le jour devrait ??tre au format CCYY-MM-DD |
set_monthlink | met le lien et le fichier pour un mois donn?? | $1 | $month_file, $month_link | le mois devrait ??tre au format CCYY-MM |
set_entryid | met une ancre/n?? pour une entr??e donn??e | $1 | stdout | l'entr??e devrait ??tre au format CCYY-MM-DDTHH_MM_SS.$NB_DATATYPE |
set_entrylink | met le lien et le fichier pour une entr??e donn??e | $1 | $entry_dir, $permalink_file, $NB_EntryPermalink | l'entr??e devrait ??tre au format CCYY-MM-DDTHH_MM_SS.$NB_DATATYPE |
update_cache | compile, liste ou vide le cache des entr??es | cache_update=$1, cache_def=$2, CACHEUPDATE_LIST=$3 | $CACHE_LIST | commun??ment utilis?? pour renouveler les donn??es en cache |
load_template | charge le template d'un fichier | TEMPLATE_FILE=$1 | $TEMPLATE_DATA | ne jamais charger les donn??es template plus d'une ?? la fois, make_page appelle load_template |
write_template | ??crit le template vers la sortie standard | $TEMPLATE_DATA | stdout | "left">example: write_template > "$OUTFILE" |
load_metadata | charge la m??tadonn??e d'un fichier (entr??e) | METADATA_TYPE=$1, $METADATA_FILE=$2 | d??pends de $METADATA_TYPE | le type de m??tadonn??e peut ??tre ALL, NOBODY, BODY, TITLE, AUTHOR, DATE, DESC, FORMAT |
write_metadata | ??crit la m??tadonn??e sur le fichier | MVAR=$1, METADATA=$2, META_FILE=$3 | $META_FILE | exemple : "write_metadata UPDATED "`date`" $meta-file" |
read_metadata | extrait la m??tadonn??e du fichier (entr??e) | MVAR=$1, META_FILE=$2 | $METADATA | voir comme bon exemple recent_entries.sh |
write_var | cr??e/modifie le champs de la m??tadonn??e utilisateur | WRITE_MVAR=$1, WRITE_MVARVALUE=$2, WRITEMETAVAR_FILE=$3 | $WRITEMETAVAR_FILE | exemple : write_var MODTIME "$(date)" $meta-file |
loop_archive | boucle et ex??cute les instructions par ann??es ou mois | looparch_list=$1, looparch_type=$2, looparch_exec=$3 | d??termin?? par $looparch_exec | exemple : "query_db max; loop_archive "$DB_RESULTS" months make_monthlink" |
load_entry | charge les donn??es pour les templates | ENTRY_FILE=$1, ENTRY_DATATYPE=$2, ENTRY_CACHETYPE=$3 | $NB_EntryTitle, $NB_EntryBody, ... | voir comme bon exemple le plugin atom.sh |
make_page | cr??e les pages du blog ?? partir des fichiers texte | MKPAGE_SRCFILE=$1, MKPAGE_TMPLFILE=$2, MKPAGE_OUTFILE=$3 | $MKPAGE_CONTENT, $NB_MetaBody | voir comme bon exemple le plugin articles_text.sh |
weblog_page | cr??e la page du blog ?? partir du m??ta-fichier | BLOGPAGE_SRCFILE=$1, BLOGPAGE_TEMPLATE=$2, $BLOGPAGE_OUTFILE=$3 | $MKPAGE_CONTENT, $NB_MetaBody | voir comme bon exemple le plugin articles_meta.sh |
Configurer la commande de publication
la variable BLOG_PUBLISH_CMD permet d'affecter une commande pour la publication sur votre blog. ??a peut ??tre aussi simple qu'une commande FTP pour transf??rer des fichiers ou que des t??ches plus complexe par script.
Publication ?? distance
FTP, SSH (scp, sftp, etc.), RSYNC ou WebDAV, sont toutes les m??thodes qui peuvent ??tre utilis??es pour la publication du blog.
exemple : publier automatiquement avec ftp et .netrc.
blog.conf:BLOG_PUBLISH_CMD="ftp exemple.weblog.com".netrc:
machine exemple.weblog.com login foo password RIGHT! macdef init passive on prompt off lcd ~/public_html/blog mput *.* cd archives lcd archives mput *
Publication locale
Si vous choisissez de publier localement, vous voudrez probablement d??sactiver la commande de publication. Pour ce faire vous pouvez nullifier BLOG_PUBLISH_CMD par ex. BLOG_PUBLISH_CMD=""
En premier lieu pour importer des entr??es, les donn??es doivent d'abord ??tre converties au format de NanoBlogger.
Format d'une entr??e
Un nom de fichier d'une entr??e a pour format :
CCYY-MM-DDTHH_MM_SS.txtAinsi le fichier d'une entr??e sera typiquement nomm?? comme suit :
2004-06-25T22_24_37.txt
Le format d'une entr??e est fait de m??ta-tags. Beaucoup de ces m??ta-tags sont du format "VAR: VALUE" suivi d'un retour chariot qui le s??pare du suivant. L'ordre des m??ta-tags n'est pas significatif. La variable BODY est particuli??re et doit ??tre ferm??e par la marque END-----. Par d??faut, le contenu de la variable BODY doit contenir du code HTML valide avec toutes les entit??s correctement prot??g??es.
Exemple de format d'une entr??e :TITLE: Une nouvelle entr??e AUTHOR: toto DATE: Janvier 30 2004, 12:00 PM DESC: mots cl?? ou une courte ligne d'introduction FORMAT: raw ----- BODY: <p>Ceci est ma nouvelle entr??e...</p> END-----
Conversion des entr??es
Avant l'importation des entr??es, elles doivent d'abord ??tre converties dans un format pr??cis.
??tapes de conversion des entr??es :
1. Convertir chaque entr??e pour qu'elle contienne les m??ta-tags suivants : TITLE, AUTHOR, DATE, DESC, FORMAT, BODY 2. Le m??ta-tag BODY doit se terminer par "END-----". 3. Renommer chaque fichier des entr??es avec la date et l'heure correspondantes.
S'il y a de beaucoup d'entr??es, ce pourrait ??tre une bonne id??e que d'automatiser tout ??a par un script.
Mise ?? jour du r??pertoire "Data" du blog
Les entr??es import??es devraient ??tre copi??es dans le r??pertoire data de votre blog.
Mettre ?? jour le blog avec les nouvelles entr??es :
nb [-b blog_rep] --force update all
Commandes d'??dition pratiques
Cr??er un nouveau m??ta-fichier :nb [-b blog_rep] make-file un_fichier.txtImporter le m??ta-fichier comme nouvelle entr??e de blog :
nb [-b blog_rep] import entry un_fichier.txtou exporter le m??ta-fichier comme nouvelle page de blog :
nb [-b blog_rep] --makepage un_fichier.txt un_fichier.html?? noter que ces t??ches sont plus faciles quand l'??diteur supporte un sub-shell ou quand vous pouvez suspendre votre ??diteur du shell actif (en supposant qu'il y en ait un).
??criture des m??ta-tags au vol
Les m??ta-tags sont simplement des tags qui englobent des m??ta-fichiers. Ainsi le formatage du texte peut ??tre fait ?? partir de la ligne de commande :
nb [-b blogdir] --var FORMAT --set-var "markdown" make-page un_texte.txt un_texte.html
Actuellement, un seul m??ta-tag ne peut ??tre sp??cifi?? qu'?? la fois.
D??finir un r??pertoire de blog par d??faut
Normalement vous devez sp??cifier le r??pertoire du blog, mais en d??finissant BLOG_DIR, vous n'avez plus ?? le faire. ??ditez nb.conf ou bien $HOME/.nb.conf:
BLOG_DIR="/chemin/vers/blog"
D??sactiver les plugins
Vous pouvez souhaiter d??sactiver les plugins globaux ou bien tous.
Pour d??sactiver les plugins globaux, ??diter blog.conf et changer PLUGINS_DIR d'un r??pertoire pr??-existant :
PLUGINS_DIR="$BLOG_DIR/plugins"
Pour d??sactiver tous les plugins, y compris ceux de l'utilisateur, ??diter blog.conf et changer PLUGINS_DIR et USR_PLUGINSDIR pour un r??pertoire (vide) pr??existant:
PLUGINS_DIR="$BLOG_DIR/no-plugins" USR_PLUGINSDIR="$BLOG_DIR/no-plugins"
Comme not?? plus haut, les plugins peuvent ??tre d??sactiv??s individuellement en changeant leur suffixe en autre chose que ".sh".
Ajout d'un script shell ?? vos templates
IL est possible d'employer une commande de substitution dans vos templates suivant une des formes suivantes :
$(commande) ou `commande`
Ajouter une introduction ?? votre blog
Cr??er un fichier texte dans le r??pertoire de votre blog, appel?? "intro.txt". ??diter le fichier texte ?? votre guise, puis ajouter ce qui suit dans le template principal :
$(< "$BLOG_DIR/intro.txt")
Int??gration de parties de votre blog dans un site Web existant
Beaucoup de parties du blog sont stock??es et construites dans le r??pertoire parts. Disons que vous avez d??j?? un site Web avec vos scripts "c??t?? serveur" maison, mais que vous aimeriez y ajouter une nouvelle section de news. C'est l?? que le fichier "parts/index.html" convient. Il contient les plus r??centes entr??es; ainsi ajouter une section news/diary/blog consiste ?? ajouter du code pour inclure "parts/index.html" dans la page.
Des personnes astucieuses combinent la sortie de page statique de NanoBlogger avec du PHP ou du Perl. Par exemple, supposons que vous aimiez avoir quelques liens dans la barre lat??rale, comme les entr??es r??centes : utilisant PHP, mettez votre NB_FILETYPE ?? "php" et modifiez le template concern?? pour y inclure le code PHP qui extrait les donn??es du r??pertoire "parts". Un des principaux avantages ?? ??a est qu'il n'y a pas ?? reconstruire l'int??gralit?? des archives du blog, seulement ?? y conserver les liens courants.
Encapsuler d'autres variables dans les templates
Tout caract??re similaire ?? l'une des variables du shell ou d'une commande de substitution de caract??re, aura ?? ??tre prot??g?? avant son inclusion dans les templates.
Exemple d'utilisation de variables dans le code PHP :
<?php \$VAR = array (); echo "\\\$VAR=\$VAR"; php?>
Remerciements ?? Adrien "ze" Urban, Paul Drain, Pavel Janik, and O.R.Senthil Kumaran pour toutes les contributions et suggestions. Remerciements ?? Bowie J. Poag, l'auteur de MicroBlogger, pour l'inspiration de ce projet. Reconnaissance particuli??re au "Ted Walther's Diary"[4], qui inspira ?? Bowie la cr??ation de MicroBlogger. Enfin, merci ?? ceux ayant contribu?? ?? un patch ou une demande de fonctionnalit??. Voir le ChangeLog.
1. http://blogkomm.com
2. http://js-kit.com
3. http://www.haloscan.com
4. http://reactor-core.org/~djw/diary/
13. Ajout du support des commentaires
Services de commentaire et add-on's :NanoBlogger Comments, CGIComment, blogkomm[1], JS-Kit[2], and Haloscan.com[3].
Choisissez l'un d'eux et suivez leurs instructions d'installation.