Carnet Wiki

Migrer un thème Zpip vers SPIPr

Cet article est un Work In Progress !

SPIPr est une évolution de Zpip : leurs thèmes ne sont pas compatibles. Les définitions des styles d’un thème Zpip se font dans un unique fichier habillage.css.
Or SPIPr repose sur Bootstrap, aussi la méthodologie évolue. On peut toujours « se contenter » de tout définir dans un fichier theme.css qui sera chargé après les styles de Bootstrap et de SPIPr, mais il y a des chances que cela ne suffise pas. Pour bien faire, il faut personnaliser directement Bootstrap par le biais de fichiers LESS : variables.less, bootswatch.less, boot-theme.less. Il y a également plusieurs autres point d’entrée prévus par SPIPr pour personnaliser le layout, les polices de caractères, etc. Tout ceci est exploqué en détail dans l’article sur l’écriture de thèmes SPIPr.

Pour rappel, Zpip a été séparé en 2 entités : d’un côté le « moteur » Z-core et de l’autre le squelette SPIPr. Les différences sont expliquées en détail dans cet article, et le framework Z est présenté dans cet autre article. On trouve aussi des notes concises sur la migration directement dans le repertoire de SPIPr : http://zone.spip.org/trac/spip-zone/browser/_squelettes_/spipr-dist/trunk/migration.txt.

1. images/

Renommer le dossier images en img.

2. theme.css

Renommer habillage.css en theme.css et le placer dans le dossier css/ (à créer si nécessaire).
Dedans, changer toutes les occurences de images/xxx.ext en img/xxx.ext.

3. body.html

Éditer body.html et faire les changements suivants :

  • Encapsuler le tout dans une balise <body>
  • #ENV{type}#ENV{type-page}
  • fond=navigationfond=aside
  • fond=entetefond=header
  • fond=piedfond=footer
  • fond=contenufond=content
  • fond=inclure/barre-navfond=inclure/nav

Ajouter le filtre navbar_responsive pour la barre de navigation : [(#INCLURE{fond=inclure/nav,env}|navbar_responsive)]

4. plugin.xml & paquet.xml
Pour que le thème soit détecté par le sélecteur de Zengarden, ajouter si nécessaire la balise <utilise nom="spipr" compatibilite="];[" /> dans paquet.xml et <utilise id="spipr" compatibilite="];[" /> plugin.xml.


À partir de là, le thème devrait être fonctionnel avec SPIPr, mais il reste sans doute à peaufiner quelques détails dans theme.css.

Sur la zone, les thèmes compatibles SPIPr sont rangés dans le répertoire http://zone.spip.org/trac/spip-zone/browser/_themes_/spipr/v1

À voir également : l’article sur l’écriture de thèmes SPIPr.

tcharlss - Mise à jour :9 février 2019 à 15h21min