Présentation
Nanoblogger est un joueb / blog dit de “geek”. En effet ce joueb est entièrement visible sous forme de pages html statiques, mais la manière d’ajouter des billets ou de gĂ©nĂ©rer lesdites pages est pour le moins … spĂ©cial !
Ainsi l’auteur de Nanoblogger, Kevin Hood, a conçu son programme de manière Ă n’utiliser que certaines commandes BASH (Bourne Again Shell), mais son utilisation se fait Ă©galement par commandes BASH !
Ainsi la maintenance du site est possible à partir du moment où nous avons accès à la machine par une console, SSH ou pas.
Pour exemple de résultat, je vous invite à naviguer sur mon ancien blog .
Installation
Je ne dĂ©taillerais pas Ă©normĂ©ment l’installation, seuls quelques points seront abordĂ©s. Il faut savoir que l’installation a Ă©tĂ© effectuĂ©e sur Ubuntu Server 6.06 LTS.
L’installation commence par une simple commande sous Ubuntu :
apt-get install nanoblogger
Après quoi une nouvelle commande BASH est disponible :
nb
Grâce Ă cette commande, crĂ©ez un nouveau dossier pour contenir votre joueb / blog, Ă l’aide de la ligne suivante :
nb -b /home/olivier/joueb -a
Remplacez evidemment /home/olivier/joueb par le répertoire que vous désirez utiliser, forcément un répertoire où vous possédez tout les droits.
Ensuite vous devez configurer votre nouveau joueb (nanoblogger vous pose la question à laquelle vous répondez Y / Yes / Oui).
Voici mon fichier de configuration, sachant que je suis sur Ubuntu Server, que j’ai installĂ© les paquets fortune, et que je copie mes fichiers vers un serveur ftpperso.free.fr (dont nous donnerons les dĂ©tails ci après) :
# NanoBlogger Weblog Config File - blog.conf
##### Publishing Preferences #####
# set default editor for your weblog (default is $EDITOR).
EDITOR="vim"
# set default browser for previewing your weblog (defaults to "lynx")
BROWSER="elinks"
# set default language for your weblog (defaults to "en")
NB_LANG="fr"
# maximum number of entries to display on the main index page.
MAX_ENTRIES="4"
# date format used for a new entry (used by the "date" command).
# e.g. DATE_FORMAT="%Y-%m-%d %H:%M:%S"
DATE_FORMAT="%d/%m/%Y %H:%M:%S"
# Date's locale (language) to display in (e.g. DATE_LOCALE="$LANG")
# set as blank to have it automatically detected at runtime.
DATE_LOCALE="fr_FR.UTF8"
# date command arguments (see date's man page).
DATE_ARGS=""
# set the full URL to your weblog (required for absolute links and
# syndication feeds).
# e.g. BLOG_URL="http://weblog.user/~foo" ("/" gets appended automatically)
BLOG_URL="http://blanko.free.fr/joueb"
# stylesheet used for your weblog (should always be relative link).
BLOG_CSS="styles/nb_steelblue.css"
# shortcut icon for your weblog (should always be relative link).
BLOG_ICON="images/favicon.ico"
# action to perform on links to entries (e.g. run a server-side script)
# must be activated in templates.
BLOG_URL_ACTION=""
# e.g. (with BLOG_URL set) BLOG_URL_ACTION######"$BLOG_URL/cgi-bin/cgicomment.pl?article"
# e.g. (using BASE_URL in templates) BLOG_URL_ACTION######"cgi-bin/cgicomment.pl?article"
# set the Language (character encoding) used for your weblog.
BLOG_CHARSET="utf-8"
# set the mime type used for your weblog
# e.g. BLOG_MIMETYPE="text/html"
BLOG_MIMETYPE="application/xhtml+xml"
# set the timezone for your RSS/Atom feed (should follow W3CDTF date format).
# set as blank to have it automatically detected if your system supports "date +%z".
# e.g. BLOG_TZD="-05:00"
BLOG_TZD="+01:00"
# title of your weblog.
BLOG_TITLE="Le BlankoJoueb"
# description of your weblog.
BLOG_DESCRIPTION="Le JOUrnal wEB de Blanko"
# default author of your weblog.
BLOG_AUTHOR="Blankoworld"
# contact information for your weblog.
BLOG_CONTACT='<a href="http://bl4n.fr">'$BLOG_AUTHOR'</a>'
# e.g. BLOG_CONTACT='<a href="mailto:foo@null.org">'$BLOG_AUTHOR'</a>'
# toggles display of directory index file in links (strongly suggested
# for local file browsing) - 0/1 = off/on
SHOW_INDEXFILE="1"
# show permanent links for each entry - 0/1 = off/on.
PERMALINKS="1"
# show category links for each entry - 0/1 = off/on.
CATEGORY_LINKS="1"
# command to run when previewing your weblog.
# used by the option and prompt for previewing (when set).
BLOG_PREVIEW_CMD="$BROWSER $BLOG_DIR/index.html"
# command to run when publishing your weblog to a remote site.
# used by the option and prompt for publishing (when set).
BLOG_PUBLISH_CMD=""
# enable Interactive mode (classic behavior) - 0/1 = off/on.
BLOG_INTERACTIVE="1"
##### Archive Preferences #####
# maximum number of entries to display for each category page.
MAX_PAGE_ENTRIES="25"
# build individual archives of each entry - 0/1 = off/on.
ENTRY_ARCHIVES="0"
# enable absolute links - 0/1 = off/on.
ABSOLUTE_LINKS="0"
# set data type to load for category archives - ALL or NOBODY.
# ALL = full entry metadata (slow and bigger cache)
# NOBODY = all except entry's BODY metadata (faster and smaller cache)
# edit the category_entry.htm template accordingly.
CATARCH_DATATYPE="NOBODY"
# chronological order - 0/1 = normal/reverse.
CHRON_ORDER="1"
##### Plugin Preferences #####
# plugins directory, defaults to $NB_BASE_DIR/plugins.
# set as blank to have it automatically fallback to defaults.
PLUGINS_DIR="/usr/share/nanoblogger/plugins"
# user plugins directory, defaults to $BLOG_DIR/plugins.
# set as blank to have it automatically fallback to defaults.
USR_PLUGINSDIR=""
# set the Language for your RSS feeds.
BLOG_FEED_LANG="fr_FR"
# default entry text formatting (name of the text formatting plugin(s)).
# e.g. plugins/entry/format/autobr.sh = autobr
ENTRY_FORMAT="autobr"
# default article text formatting (name of the text formatting plugin(s)).
# e.g. plugins/page/format/markdown.sh = markdown
ARTICLE_FORMAT="markdown"
# maximum links to yearly archives (-1 = all)
#MAX_YEARLINKS="12" # defaults to 12
# maximum links to monthly archives (-1 = all)
#MAX_MONTHLINKS="12" # defaults to 12
# calendar plugin - command arguments for cal. see cal's man pages.
CAL_ARGS=""
# tidy plugin - command arguments for tidy. see tidy's man pages or
# http://tidy.sourceforge.net/
TIDY_HTML_ARGS="-asxhtml -n -utf8"
TIDY_XML_ARGS="-xml -n -utf8 -wrap 0"
# fortune plugin - specify fortune data file to use
FORTUNE_FILE="/usr/share/games/fortunes/fr/"
# enable category feeds - 0/1 = off/on.
ATOM_CATFEEDS="0"
RSS_CATFEEDS="1"
RSS2_CATFEEDS="0"
##### Cache Preferences #####
# maximum number of entries to store in cache
MAX_CACHE_ENTRIES="$MAX_ENTRIES"
# set cache management to automatic (1) or manual (0)
BLOG_CACHEMNG="1"
##### Metadata File Formatting Preferences #####
# the following settings are here for transitional reasons only.
# if upgrading from 3.1 you can either use METADATA_CLOSETAG="-----"
# or modify the format of all the entries to match the more preferred
# (METADATA_CLOSETAG="END-----") way.
# WARNING: changing the following may require manually modifying the
# format of all existing entry data files!
METADATA_CLOSETAG="END-----"
Le programme va générer automatiquement tout les fichiers adéquats.
De lĂ vous devez encore :
- Franciser votre joueb / blog
- Ajouter le code pour FORTUNE dans le template (si vous avez installĂ© FORTUNE et savez ce que c’est)
- Modifier les liens (main_links) (pour ajouter des liens vers d’autres jouebs ou sites internets)
- Ajouter une introduction (si cela vous chante d’avoir un petit texte sympa dans votre joueb)
- Envoyer sur un FTP (si vous aimez travailler sur votre machine mais publier ailleurs)
- Ajouter des billets
Franciser le joueb / blog
Ceci s’adresse aux utilisateurs de Ubuntu Server, voire Ubuntu.
Je vous suggère de :
- Télécharger le fichier nb-lang.tar.gz sur le site officiel
- Copier les fichiers en tant que root dans le répertoire lang de Nanoblogger, généralement /usr/share/nanoblogger/lang/fr.
Bien qu’il soit possible de configurer Nanoblogger pour prendre en compte une nouvelle langue, mon NB (nanoblogger) n’a pas fonctionnĂ© pour le choix de la langue, j’ai du remplacer les fichiers EN par ceux FR. Donc je vous invite Ă faire de mĂŞme.
Fortune
Le module Fortune s’ajoute très simplement :
- Éditez le fichier /home/olivier/joueb/templates/main_index.htm
- Repérez la balise
<div id="links"> - Ajoutez une balise
<div class="sidetitle">et le contenu $NB_Fortune tel que vous obteniez :
<div id="links">
<div class="calendar">
$NB_Calendar
</div>
<div class="sidetitle">
message du jour
</div>
<div class="side">
$NB_Fortune
</div>
$NB_ArticleLinks
<div class="sidetitle">
$template_links
</div>
[...]
</div>
Liens
Pour ajouter des liens il vous suffit d’Ă©diter le fichier /home/olivier/joueb/templates/main_links.htm, par exemple :
<a href="${BASE_URL}$NB_INDEX">$template_main</a><br />
<!-- add more links below this line -->
<br />
Amis:<br />
<a href="http://glenux.net">Chroniques d'un gnou Libre</a><br />
<a href="http://blog.bob6784.net/">Bob6784.NET</a><br />
<br />
Autre:<br />
<a href="http://blankoworld.googlepages.com/">Blanko sur le Web</a><br />
Ceci est mon fichier de liens, mais adaptez Ă votre situation 😆.
Introduction / ajout de textes
Comme nous l’avions expliquĂ© lors de l’ajout du module Fortune, il faut modifier le fichier /home/olivier/joueb/templates/main_index.htm.
- Éditez ledit fichier
- Repérez la balise
<div id="content"> - Ajoutez le code suivant :
<div id="introduction">$(< "$BLOG_DIR/intro.txt")</div>
Ceci aura pour effet d’afficher le contenu du fichier intro.txt. Vous l’avez compris, nous n’avons pas de fichier pour le moment !
Créons le ! Une commande touch /home/olivier/joueb/intro.txt et le tour est joué !
Il ne vous reste plus qu’Ă Ă©diter le fichier avec votre Ă©diteur prĂ©fĂ©rĂ©, ne demandez pas, vous savez d’avance que j’utilise Vim !
Note de dernière minute : Si vous voulez ajouter un texte ou un bout de code qui devra s’afficher sur l’ensemble des pages du Joueb / blog, il faut aussi modifier le fichier templates/makepage.htm qui s’occupe de toucher de plus près la structure principale commune.
Ajouter des billets
Pour ajouter des billets je vous suggère de lire la documentation dans un terminal Ă l’aide de la commande man nb ou encore de lire le chapitre sur la Gestion des EntrĂ©es dans le manuel utilisateur franchophone.
Astuces
La plupart des astuces sont disponibles sur l'archive de l'ancien site nb.homelinux.com .
Publication FTP
L’astuce a migrĂ© sur le Wiki non-officiel de la communautĂ© Francophone de Nanoblogger : Se rendre sur la page d'archive de NanobloggerFrancophone .
Référencement de Nanoblogger
(paragraphe non terminé)
- Modification du template et ajout de champs
- Modification revisit-after
- CrĂ©ation d’un sitemap.xml ??
Balises META ajoutées
- Dans main_index.htm,
<meta name="description" lang="fr" content="Le BlankoJoueb : Récits et nouvelles touchant de près ou de loin la vie d'un défenseur des libertés intellectuelles dans le monde informatique." />
<meta name="keywords" lang="fr" content="olivier,dossmann,blanko,blankoworld,joueb,lien,astuce,informatique,aide,linux,distribution,documentation,tutoriel,gnu,nouvelle,fantasme,fantasmablankoique,logiciel,web,libre,liberte" />
<meta name="identifier-url" content="http://olivier.dossmann.net/joueb/" />
<meta name="author" content="Olivier DOSSMANN" />
<meta name="owner" content="Olivier DOSSMANN" />
<meta name="reply-To" content="olivier@dossmann.net" />
<meta name="rating" content="General" />
<meta name="distribution" content="Global" />
<meta name="copyright" content="DOSSMANN.NET - (C) 2008" />
<meta name="language" content="fr" />
<meta name="title" content="Le BlankoJoueb, un Blanko en folie !" />
<meta http-equiv="Content-Style-Type" content="text/css" />
Sitemap
Sous Ubuntu il existe un logiciel très utile nommé sitemap (sous Debian vous trouverez google-sitemapgen spécifique pour Google).
Avec ce logiciel vous pouvez crĂ©er un fichier permettant d’indexer votre site Web, un peu comme un plan du site. Il suffit pour cela de crĂ©er un fichier de configuration, comme celui ci, dans /home/olivier/sitemapjouebrc :
[sitemap]
Hometitle=Espace d'Olivier DOSSMANN.NET
Homepage=http://olivier.dossmann.net/joueb/
Indextitle=Plan du site du BlankoJoueb (sitemap)
Encoding=UTF-8
Startdir=/home/olivier/joueb/
Prefix=http://olivier.dossmann.net/joueb/
Dirtitle=Archives
Fullname=Olivier DOSSMANN
Mailaddr=olivier@dossmann.net
Language=French
Indexfiles=index.html
Exclude=cache data image moods parts plugins style template
Après il suffit de lancer la commande suivante :
sitemap /home/olivier/sitemapjouebrc > /home/olivier/joueb/sitemap.html
Et vous avez un beau fichier sitemap.html sur votre Nanoblogger ! Ceci vous permettra d’informer Google des pages disponibles sur votre site Web.
NB : Après quelques Ă©changes avec Buje , il s’avère que la ligne *PREFIX// soit Ă supprimer, ce qui permettrait d’Ă©viter une rĂ©pĂ©tition de l’adressage des liens.
Thèmes
nb_steelblue.css
Il semblerait que ce style ait Ă©tĂ© dans la version 3.3RCS de Nanoblogger, mais qu’elle ait Ă©tĂ© retirĂ©e pour cause de non compatibilitĂ© avec MSIE 7 (Internet Explorer 7). Apparemment ce devait ĂŞtre un dĂ©passement ou que sais je encore.
Cependant, et utilisant cette feuille de style (un peu remaniĂ©e je vous l’accorde, mais de très peu), je n’ai rencontrĂ© qu’un souci : dĂ©passement de texte pour les balises contenant du code PRE. Ainsi j’ai modifiĂ© le CSS, et ait simplement ajoutĂ© ceci :
.blogbody div.item-description pre {
overflow: auto;
}
Ceci ajoute des menus déroulants sous le code, de sorte à pouvoir proposer un contenu qui ne dépassera jamais.
J’ose espĂ©rer que vous pourrer en faire de mĂŞme et utiliser cette merveilleuse feuille de style nb_steelblue !
Liens utiles
Je vous conseille d’utiliser les liens suivants :
- Site officiel
- Nanoblogger Francophone qui propose un manuel utilisateur francophone
- Nanoblogger de Philippe Latu qui possède une catégorie Nanoblogger Help très utile !