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 le joueb / blog

Ceci s’adresse aux utilisateurs de Ubuntu Server, voire Ubuntu.

Je vous suggère de :

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 :

<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.

        <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é)

Balises META ajoutées

<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 :