Browse Source

Un squelette basé sur le design créé par Jordan

cf la capture écran sur l'article https://contrib.spip.net/Refonte-de-l-identite-graphique

Ce squelette Z et SCSS est conçu pour être surchargé par des thèmes spécialisé, sous la forme d'autres plugins à installer.

Ce ne sont pas des thèmes au sens de ceux qui existent pour la dist ou pour Spipr, ces thèmes là peuvent déclarer des dépendances, des configurations, des options etc.
Ils s'installent donc comme des plugins et pas avec Zen-Garden.

Deux thèmes pour l'instant : programmer.spip.net, et spip.net

C'est un travail en cours, j'uploade tout ça sur la zone pour le partager et en discuter.

TODO : une documentation du squelette et de la façon de créer un thème (surcharges).
svn/root
nicolas.dorigny@gmail.com 4 years ago
commit
fb41ed3320
44 changed files with 1608 additions and 0 deletions
  1. +44
    -0
      .gitattributes
  2. +1
    -0
      aside/article.html
  3. +28
    -0
      aside/dist.html
  4. +1
    -0
      aside/mot.html
  5. +1
    -0
      aside/rubrique.html
  6. +68
    -0
      aside/secteur.html
  7. +1
    -0
      aside/sommaire.html
  8. +0
    -0
      breadcrumb/secteur.html
  9. +68
    -0
      content/mot.html
  10. +68
    -0
      content/plan.html
  11. +72
    -0
      content/rubrique.html
  12. +27
    -0
      content/secteur.html
  13. +37
    -0
      content/site.html
  14. +27
    -0
      content/sommaire.html
  15. +56
    -0
      galactic_spip_net_fonctions.php
  16. +81
    -0
      galactic_spip_net_options.php
  17. +2
    -0
      head/mot.html
  18. +11
    -0
      header/dist.html
  19. BIN
      images/logo_relief.png
  20. +8
    -0
      images/telecharger.svg
  21. BIN
      images/web_independant-logo.gif
  22. +1
    -0
      inclure/head-theme.html
  23. +13
    -0
      inclure/menu_lang.html
  24. +99
    -0
      javascript/jquery.innerfade.js
  25. +24
    -0
      lang/galactic_spip_net.xml
  26. +34
    -0
      lang/galactic_spip_net_ar.php
  27. +34
    -0
      lang/galactic_spip_net_de.php
  28. +34
    -0
      lang/galactic_spip_net_en.php
  29. +34
    -0
      lang/galactic_spip_net_es.php
  30. +34
    -0
      lang/galactic_spip_net_fa.php
  31. +32
    -0
      lang/galactic_spip_net_fr.php
  32. +34
    -0
      lang/galactic_spip_net_nl.php
  33. +34
    -0
      lang/galactic_spip_net_sk.php
  34. +12
    -0
      lang/paquet-galactic_spip_net_fr.php
  35. +17
    -0
      modeles/uzine.html
  36. +49
    -0
      nav/dist.html
  37. +18
    -0
      paquet.xml
  38. BIN
      prive/themes/spip/images/galactic_spip_net-128.png
  39. BIN
      prive/themes/spip/images/galactic_spip_net-32.png
  40. BIN
      prive/themes/spip/images/galactic_spip_net-64.png
  41. +7
    -0
      rubrique.html
  42. +281
    -0
      scss/galactic_theme.scss
  43. +3
    -0
      secteur.html
  44. +213
    -0
      urls/trad.php

+ 44
- 0
.gitattributes View File

@ -0,0 +1,44 @@
* text=auto !eol
aside/article.html -text
aside/dist.html -text
aside/mot.html -text
aside/rubrique.html -text
aside/secteur.html -text
aside/sommaire.html -text
breadcrumb/secteur.html -text
content/mot.html -text
content/plan.html -text
content/rubrique.html -text
content/secteur.html -text
content/site.html -text
content/sommaire.html -text
/galactic_spip_net_fonctions.php -text
/galactic_spip_net_options.php -text
head/mot.html -text
header/dist.html -text
images/logo_relief.png -text
images/telecharger.svg -text
images/web_independant-logo.gif -text
inclure/head-theme.html -text
inclure/menu_lang.html -text
javascript/jquery.innerfade.js -text
lang/galactic_spip_net.xml -text
lang/galactic_spip_net_ar.php -text
lang/galactic_spip_net_de.php -text
lang/galactic_spip_net_en.php -text
lang/galactic_spip_net_es.php -text
lang/galactic_spip_net_fa.php -text
lang/galactic_spip_net_fr.php -text
lang/galactic_spip_net_nl.php -text
lang/galactic_spip_net_sk.php -text
lang/paquet-galactic_spip_net_fr.php -text
modeles/uzine.html -text
nav/dist.html -text
/paquet.xml -text
prive/themes/spip/images/galactic_spip_net-128.png -text
prive/themes/spip/images/galactic_spip_net-32.png -text
prive/themes/spip/images/galactic_spip_net-64.png -text
/rubrique.html -text
scss/galactic_theme.scss -text
/secteur.html -text
urls/trad.php -text

+ 1
- 0
aside/article.html View File

@ -0,0 +1 @@
<INCLURE{fond=aside/dist} />

+ 28
- 0
aside/dist.html View File

@ -0,0 +1,28 @@
[(#REM) Aide : questions et reponses ]
<BOUCLE_aide_rub(RUBRIQUES){id_rubrique=116}>
<BOUCLE_aide_articles(ARTICLES){branche}{0,1}>
<BOUCLE_aide_articles_trad(ARTICLES){traduction}{lang=#ENV{lang}}><BOUCLE_aide_rub_trad(HIERARCHIE){id_rubrique}{1,1}{doublons aide}>
#SET{aide,<a href="#URL_RUBRIQUE">#TITRE</a>}
</BOUCLE_aide_rub_trad></BOUCLE_aide_articles_trad>
</BOUCLE_aide_articles>
</BOUCLE_aide_rub>
<div class="bloc bloc--liens">
<ul>
<BOUCLE_espace_trad(RUBRIQUES){id_rubrique=4}>
<li><a href="#URL_RUBRIQUE"><:galactic_spip_net:trad_espace:></a></li>
</BOUCLE_espace_trad>
<li><a href="@?lang=#LANG"><:galactic_spip_net:glossaire:></a></li>
<li><a href="[(#URL_PAGE{plan}|parametre_url{lang,#LANG})]"><:plan_site:></a></li>
[(#REM) Liens utiles ]
<BOUCLE_sites_secteur(RUBRIQUES){lang}{racine}{id_rubrique !IN 4,324}>
<li><BOUCLE_sites(SITES){branche}{0,1}><a href="[(#URL_PAGE{site}|parametre_url{lang,#LANG})]"><:galactic_spip_net:liens_utiles:></a></BOUCLE_sites></li>
</BOUCLE_sites_secteur>
[<li>(#GET{aide})</li>]
</ul>
</div>

+ 1
- 0
aside/mot.html View File

@ -0,0 +1 @@
<INCLURE{fond=aside/dist} />

+ 1
- 0
aside/rubrique.html View File

@ -0,0 +1 @@
<INCLURE{fond=aside/dist} />

+ 68
- 0
aside/secteur.html View File

@ -0,0 +1,68 @@
<INCLURE{fond=aside/dist} />
<BOUCLE_rubrique(RUBRIQUES){id_rubrique}>
<div class="bloc">
[(#REM) Derniers articles mis en ligne ]
<B_articles_maj>
<div class="liste-articles">
<h2 class="h4"><:derniers_articles:></h2>
<ul>
<BOUCLE_articles_maj(ARTICLES){id_secteur} {!par date} {0,7} {doublons}>
<li><a href="#URL_ARTICLE">#TITRE</a></li>
</BOUCLE_articles_maj>
</ul>
</div>
</B_articles_maj>
</div>
</BOUCLE_rubrique>
[(#REM)
Derniers sites sous SPIP references :
On part de l'article de reference en francais, le 884, pour chercher ses traductions
et afficher les derniers sites references dans la langue du contexte.
Sinon, on affiche les derniers sites references dans toutes les langues.
]
<BOUCLE_petition(ARTICLES){id_article=884}>
<BOUCLE_petition_trad(ARTICLES){traduction}{lang=#ENV{lang}}>
<B_signatures_trad>
<div class="sites_sous_spip">
<h2 class="menu-titre">#TITRE</h2>
<ul>
<BOUCLE_signatures_trad(SIGNATURES) {id_article} {!par date} {0,1}>
[(#SET{img,#VAL{http://www.apercite.fr/api/apercite/240x180/oui/oui/#URL_SITE}|copie_locale{modif}})]
<li><a href="#URL_ARTICLE#signatures"[ title="(#NOM_SITE|couper{80}|attribut_html)"]><img src="#GET{img}"[ alt="(#NOM_SITE|couper{60}|attribut_html)"] class="spip_logos" /></a></li>
</BOUCLE_signatures_trad>
</ul>
<p>
<span class="suite"><a href="#URL_ARTICLE"><:lien_tout_afficher:></a></span><br />
<BOUCLE_signatures_trad_total(SIGNATURES)> </BOUCLE_signatures_trad_total>#GRAND_TOTAL <:sites_web:></B_signatures_trad_total>
</p>
</div>
</B_signatures_trad>
</BOUCLE_petition_trad>
<B_signatures_toutes>
<div class="sites_sous_spip">
<h2 class="menu-titre"><:galactic_spip_net:derniers_sites_realises_avec_spip:></h2>
<ul>
<BOUCLE_signatures_toutes(SIGNATURES) {!par date} {0,1}>
[(#SET{img,#VAL{http://www.apercite.fr/api/apercite/240x180/oui/oui/#URL_SITE}|copie_locale{modif}})]
<li>[(#GET{img}|balise_img|inserer_attribut{alt,[(#NOM_SITE|couper{60}|attribut_html)]}|inserer_attribut{class,spip_logos})]</li>
</BOUCLE_signatures_toutes>
</ul>
<p><BOUCLE_signatures_toutes_total(SIGNATURES)> </BOUCLE_signatures_toutes_total>#GRAND_TOTAL <:sites_web:></B_signatures_toutes_total></p>
</div>
</B_signatures_toutes>
<//B_petition_trad>
<script type="text/javascript">
$('.sites_sous_spip ul').innerfade({ speed: 'slow', timeout: 4000, type: 'sequence', containerheight: '100px' });
</script>
</BOUCLE_petition>

+ 1
- 0
aside/sommaire.html View File

@ -0,0 +1 @@
<INCLURE{fond=aside/dist} />

+ 0
- 0
breadcrumb/secteur.html View File


+ 68
- 0
content/mot.html View File

@ -0,0 +1,68 @@
<div class="cartouche visuallyhidden">
<h1><:galactic_spip_net:glossaire:></h1>
</div>
[(#REM)
Seuls les groupes de mot-clefs dont
le titre comporte un numero sont affiches sur cette page.
Les mots-clefs se presentent en listes de definitions, comme explique ici :
http://pompage.net/pompe/listesdefinitions
Pour chacun, on cherche d'abord
les articles francais lies au mot, et qui servent de reference.
Puis, selon les traductions disponibles pour chaque article,
on affiche sa traduction dans la langue souhaitee, si elle existe,
sinon on affiche l'article de reference en francais.
]
<BOUCLE_groupes_mots(GROUPES_MOTS) {titre==^[0-9]}{par num titre}>
<div class="groupe_mot" id="groupe#ID_GROUPE">
<h2>#TITRE</h2>
<BOUCLE_mots(MOTS) {id_groupe} {par titre}>
<dl>
<a href="#mot#ID_MOT" name="mot#ID_MOT" id="mot#ID_MOT"></a>
<dt lang="#LANG" xml:lang="#LANG" dir="#LANG_DIR">#TITRE</dt>
<BOUCLE_article_fr(ARTICLES){lang=fr}{id_mot}{!par popularite}>
<BOUCLE_article(ARTICLES){traduction}{lang=#ENV{lang}}>
<dd><a href="[(#URL_ARTICLE|ancre_url_propre{#_mots:TITRE})]">#TITRE</a></dd>
</BOUCLE_article>
<dd lang="#LANG" xml:lang="#LANG" dir="#LANG_DIR"><em><a href="[(#_article_fr:URL_ARTICLE|ancre_url_propre{#_mots:TITRE})]">#_article_fr:TITRE</a></em></dd>
<//B_article>
</BOUCLE_article_fr>
</dl>
</BOUCLE_mots>
</div>
</BOUCLE_groupes_mots>
<script type='text/javascript'><!--
$(document).ready(function(){
var open_item=$('empty');
$('dd').hide();
$('dt').click(function(){
var dl = $(this.parentNode);
if ($('dd',dl).is(':hidden')){
$('dd',open_item).slideUp('fast');
$('dd',dl).slideDown("fast");
open_item=dl;
}
else{
$('dd',open_item).slideUp('fast');
open_item=$('empty');
}
return false;
});
});
--></script>

+ 68
- 0
content/plan.html View File

@ -0,0 +1,68 @@
<div class="cartouche visuallyhidden">
<h1><:plan_site:></h1>
</div>
[(#REM)
Hors contexte de langue,
ce squelette affiche le plan de site general de spip.net
Sinon, il affiche le plan du secteur de la langue.
L'espace de traduction n'est pas oublie,
et affiche de meme les contenus dans la langue demandee,
sinon tous.
]
<BOUCLE_archives(ARTICLES){id_mot=9}{doublons}> </BOUCLE_archives>
<BOUCLE_archives_rub(RUBRIQUES){id_mot=9}{doublons}> </BOUCLE_archives_rub>
[(#REM) Debut du plan du site ]
<div id="plan_site">
[(#REM) D'abord le secteur de la langue ]
<BOUCLE_secteurs(RUBRIQUES) {lang ?} {racine}{id_rubrique !IN 4,324} {par lang} {doublons}>
<h2 class="menu-titre">#TITRE</h2>
[(#REM) Articles par sous-rubriques ]
<B_rubriques>
<ul>
<BOUCLE_rubriques(RUBRIQUES) {id_parent} {par num titre} {doublons}>
<li>
<strong><a href="#URL_RUBRIQUE">#TITRE</a></strong>
<B_articles>
<ul>
<BOUCLE_articles(ARTICLES) {lang} {id_rubrique} {par num titre, titre} {doublons}>
<li><a href="#URL_ARTICLE">[(#TITRE|supprimer_tags)]</a></li>
</BOUCLE_articles>
</ul>
</B_articles>
<BOUCLE_sous_rubriques(BOUCLE_rubriques)></BOUCLE_sous_rubriques>
</li>
</BOUCLE_rubriques>
</ul>
</B_rubriques>
</BOUCLE_secteurs>
[(#REM) N'oublions pas l'espace de traduction ]
<B_espace_trad_rub>
<h2 class="menu-titre"><:galactic_spip_net:trad_espace:></h2>
<ul>
<li>
<BOUCLE_espace_trad(RUBRIQUES){id_rubrique=4}>[(#LOGO_RUBRIQUE|#URL_RUBRIQUE|image_reduire{77})]</BOUCLE_espace_trad>
<BOUCLE_espace_trad_rub(RUBRIQUES) {lang ?} {id_secteur=4}{id_rubrique!=4}>
<ul lang="#LANG" xml:lang="#LANG" dir="#LANG_DIR" style="text-align: #LANG_LEFT;">
<li>
<strong><a href="#URL_RUBRIQUE">#TITRE</a></strong>
<BOUCLE_espace_trad_rub_articles(BOUCLE_articles)></BOUCLE_espace_trad_rub_articles>
</li>
</ul>
</BOUCLE_espace_trad_rub>
</li>
</ul>
</B_espace_trad_rub>
</div>

+ 72
- 0
content/rubrique.html View File

@ -0,0 +1,72 @@
<BOUCLE_rubrique_principal(RUBRIQUES) {id_rubrique}>
<article>
<div class="cartouche">
[(#LOGO_RUBRIQUE|image_reduire{180,120})]
<h1 class="#EDIT{titre}">#TITRE</h1>
</div>
[<div class="#EDIT{descriptif} descriptif">(#DESCRIPTIF|PtoBR)</div>]
[<div class="#EDIT{texte} chapo">(#TEXTE)</div>]
[<div class="notes"><h2><:info_notes:></h2>(#NOTES)</div>]
<BOUCLE_archives(ARTICLES){id_mot=9}{doublons}> </BOUCLE_archives>
<BOUCLE_archives_rub(RUBRIQUES){id_mot=9}{doublons}> </BOUCLE_archives_rub>
[(#REM) Articles de la rubrique ]
<B_articles>
<div class="liste-articles">
<h2 class="visuallyhidden"><:articles_rubrique:></h2>
<ul>
<BOUCLE_articles(ARTICLES) {id_rubrique} {par num titre, titre} {doublons}>
<li><a class="h4" href="#URL_ARTICLE">#TITRE</a></li>
</BOUCLE_articles>
</ul>
</div>
</B_articles>
[(#REM) Sous-rubriques ]
<B_sousrub>
<div class="sous-rubriques">
<h2 class="menu-titre visuallyhidden"><:sous_rubriques:></h2>
<ul>
<BOUCLE_sousrub(RUBRIQUES) {id_parent} {par num titre, titre} {doublons}>
<li class="block-link-parent">
[(#LOGO_RUBRIQUE{#URL_RUBRIQUE}|image_reduire{80})]
<a class="h4" href="#URL_RUBRIQUE">#TITRE</a>
[<p>(#DESCRIPTIF|PtoBR|sinon{[(#INTRODUCTION|couper{100})]})]
</li>
</BOUCLE_sousrub>
</ul>
</div>
</B_sousrub>
[(#REM) Sites de la rubrique ]
<B_sites>
<div class="syndic">
<h2 class="menu-titre"><:galactic_spip_net:liens_utiles:></h2>
<ul>
<BOUCLE_sites(SITES){id_rubrique}{par num nom_site, nom_site}>
<li class="box">
<div class="#EDIT{hyperlien} box__titre">
[(#LOGO_SITE|image_reduire{50,0}|inserer_attribut{class,spip_logos}|sinon{[(#CHEMIN{images/favicon.png}|image_reduire{40,0}|inserer_attribut{class,spip_logos})]})]
<a href="#URL_SITE" class="spip_out">#NOM_SITE</a>
</div>
[<p class="#EDIT{descriptif}">(#DESCRIPTIF|PtoBR)</p>]
<B_syndic>
<ul>
<BOUCLE_syndic(SYNDIC_ARTICLES) {id_syndic} {age<150}{!par date} {0,3}>
<li class="link"><a href="#URL_ARTICLE" class="spip_out">#TITRE</a></li>
</BOUCLE_syndic>
</ul>
</B_syndic>
</li>
</BOUCLE_sites>
</ul>
</div>
</B_sites>
</article>
</BOUCLE_rubrique_principal>

+ 27
- 0
content/secteur.html View File

@ -0,0 +1,27 @@
<BOUCLE_principale(RUBRIQUES){id_rubrique}>
<div class="cartouche">
<h1 class="visuallyhidden">#TITRE</h1>
[(#CHEMIN{images/logo_relief.png}|image_reduire{300,0})]
</div>
[(#REM) Texte de presentation de SPIP : ]
[<div class="texte">(#TEXTE)</div>]
[(#REM) Articles de la rubrique ]
<B_articles>
<div class="liste-articles"><ul>
<BOUCLE_articles(ARTICLES) {id_rubrique} {par num titre, titre} {doublons}>
<li><a href="#URL_ARTICLE">#TITRE</a></li>
</BOUCLE_articles>
</ul></div>
</B_articles>
<BOUCLE_maj(ARTICLES){id_secteur} {!par date_modif} {0,1}>
[<div class="statut">
<p><:galactic_spip_net:maj:> : (#DATE_MODIF|affdate)</p>
</div>]
</BOUCLE_maj>
</BOUCLE_principale>

+ 37
- 0
content/site.html View File

@ -0,0 +1,37 @@
<div class="cartouche">
<h1><:galactic_spip_net:liens_utiles:></h1>
</div>
[(#REM)
Hors contexte de langue,
ce squelette affiche tous les sites references sur spip.net
Sinon, il affiche seulement ceux references dans le secteur de la langue.
]
<BOUCLE_secteurs(RUBRIQUES) {lang ?} {racine}{id_rubrique !IN 4,324} {par lang}>
[(#REM) Sites de la rubrique ]
<B_sites>
<div class="syndic" lang="#LANG" xml:lang="#LANG" dir="#LANG_DIR" style="text-align: #LANG_LEFT;">
<h2 class="menu-titre">#_rubriques:TITRE</h2>
<ul>
<BOUCLE_sites(SITES) {id_secteur} {par num nom_site, nom_site} {doublons}>
<li class="box">
[(#LOGO_SITE|image_reduire{50,0}|inserer_attribut{class,spip_logos}|sinon{<img src="[(#CHEMIN{img/site.png})]" class="spip_logos" />})]
<strong class="#EDIT{hyperlien} titre"><a href="#URL_SITE" class="spip_out">#NOM_SITE</a></strong>
[<p class="#EDIT{descriptif}">(#DESCRIPTIF|PtoBR)</p>]
<B_syndic>
<ul>
<BOUCLE_syndic(SYNDIC_ARTICLES) {id_syndic} {age<150}{!par date} {0,3}>
<li class="link"><a href="#URL_ARTICLE" class="spip_out">#TITRE</a></li>
</BOUCLE_syndic>
</ul>
</B_syndic>
</li>
</BOUCLE_sites>
</ul>
</div>
</B_sites>
</BOUCLE_secteurs>

+ 27
- 0
content/sommaire.html View File

@ -0,0 +1,27 @@
<h1 class="visuallyhidden">#NOM_SITE_SPIP</h1>
<h2 class="visuallyhidden"><:info_langues:></h2>
<p>La page d'accueil actuelle, avec le choix des langues.</p>
<p>À supprimer ? redirection automatique suivant la langue de l'utilisateur ?</p>
<BOUCLE_langue_ref(RUBRIQUES){racine}{id_rubrique !IN 4,324}{lang=fr} {doublons}>
<p class="center block-link-parent">
<a href="#URL_RUBRIQUE"[ title="(#TITRE|attribut_html)]">
<strong>[(#LANG|afficher_nom_langue)]</strong>
<br><small>Documentation de r&eacute;f&eacute;rence
<BOUCLE_total_lang_ref(ARTICLES){id_secteur}></BOUCLE_total_lang_ref><br>(<:icone_articles:>&nbsp;: #TOTAL_BOUCLE)<//B_total_lang_ref></small>
</a>
</p>
</BOUCLE_langue_ref>
<div class="center langues">
<BOUCLE_langues(RUBRIQUES){racine}{id_rubrique !IN 4,324}{lang!=fr} {par lang} {doublons}>
<p class="center block-link-parent" dir="#LANG_DIR">
<a href="#URL_RUBRIQUE" rel="alternate" hreflang="#LANG"[ title="(#TITRE|attribut_html)]">
<strong>[(#LANG|afficher_nom_langue)]</strong>
<BOUCLE_total_lang(ARTICLES){id_secteur}></BOUCLE_total_lang><br><small>[(<:icone_articles:>: (#TOTAL_BOUCLE))]</small><//B_total_lang>
</a>
</p>
</BOUCLE_langues>
</div>

+ 56
- 0
galactic_spip_net_fonctions.php View File

@ -0,0 +1,56 @@
<?php
$GLOBALS['puce'] = '- ';
# pour ceux qui ont le vieux modele et utilisent [-><version|stableurl>]
function filtres_telecharger($texte) {
return str_replace('&lt;version|stableurl&gt;', 'https://files.spip.net/spip/', $texte);
}
// pour les forums
function raccourcir_nom($nom) {
if (strpos($nom, "@")) {
$nom = substr($nom, 0, strpos($nom, "@"));
}
return $nom;
}
// pour afficher proprement le nom des langues
function afficher_nom_langue ($lang) {
if (preg_match(",^oc(_|$),", $lang))
return "occitan";
else
return traduire_nom_langue($lang);
}
// hack pour ne jamais afficher les secteurs d'aide en ligne
// sauf evidemment dans le cas de l'aide en ligne, ou dans l'espace prive
define('secteurs_aide', '324');
if (!defined('aide_en_ligne')
AND !_DIR_RACINE) {
function boucle_ARTICLES($id_boucle, &$boucles) {
$boucles[$id_boucle]->where[] = array("'NOT IN'", "'articles.id_secteur'", '"('.secteurs_aide.')"');
return boucle_DEFAUT_dist($id_boucle, $boucles);
}
function boucle_RUBRIQUES($id_boucle, &$boucles) {
$boucles[$id_boucle]->where[] = array("'NOT IN'", "'rubriques.id_secteur'", '"('.secteurs_aide.')"');
return boucle_DEFAUT_dist($id_boucle, $boucles);
}
function boucle_HIERARCHIE($id_boucle, &$boucles) {
$boucles[$id_boucle]->where[] = array("'NOT IN'", "'rubriques.id_secteur'", '"('.secteurs_aide.')"');
return boucle_HIERARCHIE_dist($id_boucle, $boucles);
}
}
// Prend une URL et lui ajoute/retire une ancre après l'avoir nettoyee
// pour l'ancre on vire les non alphanum du debut, et on remplace ceux dans le mot par -
// https://code.spip.net/@ancre_url replace{}
function ancre_url_propre($url, $ancre) {
// lever l'#ancre
if (preg_match(',^([^#]*)(#.*)$,', $url, $r)) {
$url = $r[1];
}
$ancre = preg_replace(array('/^[^-_a-zA-Z0-9]+/', '/[^-_a-zA-Z0-9]/'), array('', '-'), $ancre);
return $url .'#'. $ancre;
}

+ 81
- 0
galactic_spip_net_options.php View File

@ -0,0 +1,81 @@
<?php
/**
* Fichier d'options de spip.net
*
* Penser à activer les URLs 'trad'.
* et à intégrer le htaccess.txt dans le .htaccess ou le vhost.
*/
define('_SPIP_TOPNAV', true);
// pas d'autobr dans l'aide, ca casse des images (autobr a debug donc)
if (_request('lang_aide')) {
define('_AUTOBR','');
}
// raccourcis [->spip19] etc
function generer_url_ecrire_spip($rac,$args,$ancre) {
return generer_url_spip($rac, $args, $ancre);
}
function generer_url_spip($rac, $args, $ancre) {
static $liens_spip = array(
1 => 1309,
10 => 1309,
103 => 1309,
104 => 1309,
105 => 1309,
12 => 1310,
121 => 1310,
13 => 1253,
14 => 1832,
15 => 1911,
16 => 1965,
17 => 2102,
171 => 2102,
172 => 2102,
18 => 2991,
181 => 2991,
182 => 3173,
183 => 3333,
19 => 3368,
191 => 3462,
192 => 3567,
20 => 3784,
21 => 4728,
30 => 5427,
);
if (isset($liens_spip[$rac])) {
$id = $liens_spip[$rac];
$id_trad = sql_getfetsel('id_article', 'spip_articles',
"id_trad=" . $id
. " AND lang=" . sql_quote($GLOBALS['spip_lang'])
);
if ($id_trad) {
$id = $id_trad;
}
return array('article', $id);
}
spip_log("raccourci spip$id inconnu");
return '';
}
// antispam de signature de forum (a integrer dans akismet ?)
function inc_controler_signature($id_article, $nom_email, $adresse_email, $message, $nom_site, $url_site, $url_page) {
if (
$a = @unserialize($GLOBALS['meta']['spampetitions'])
AND strlen($a = $a['regexp'])
AND (
preg_match($a, $nom_email)
OR preg_match($a, $adresse_email)
OR preg_match($a, $message)
)
) {
spip_log("spam detecte sur la petition $id_article", 'spam');
return false; // spam detecte
}
return inc_controler_signature_dist($id_article, $nom_email, $adresse_email, $message, $nom_site, $url_site, $url_page);
}

+ 2
- 0
head/mot.html View File

@ -0,0 +1,2 @@
<title><:galactic_spip_net:glossaire:> - [(#NOM_SITE_SPIP|textebrut)]</title>
[<meta name="description" content="(#DESCRIPTIF_SITE_SPIP|couper{150}|attribut_html)" />]

+ 11
- 0
header/dist.html View File

@ -0,0 +1,11 @@
<div class="header__nav">
<BOUCLE_LangueCourante(RUBRIQUES){id_secteur}>#SET{languecourante,#LANG}</BOUCLE_LangueCourante>
[<a rel="start" href="[(#URL_PAGE{sommaire}|parametre_url{lang,#GET{languecourante,fr}}|url_absolue)]">
(#LOGO_SITE_SPIP|image_reduire{0,50}|inserer_attribut{alt,#NOM_SITE_SPIP|textebrut})
<span class="visuallyhidden"><:accueil_site:></span>
</a>]
<INCLURE{fond=inclure/menu_lang}{lang} />
</div>
<div class="header__search">
#FORMULAIRE_RECHERCHE
</div>

BIN
images/logo_relief.png View File

Before After
Width: 1000  |  Height: 743  |  Size: 132 KiB

+ 8
- 0
images/telecharger.svg View File

@ -0,0 +1,8 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 12.1 11" enable-background="new 0 0 12.1 11" xml:space="preserve">
<path fill="#FFFFFF" d="M11.4,6.4c-0.3,0-0.6,0.2-0.6,0.5V10H1.3V6.9c0-0.3-0.4-0.5-0.6-0.5S0,6.6,0,6.9v3.7C0,10.8,0.6,11,0.8,11
h10.3c0.3,0,0.9-0.2,0.9-0.4V6.9C12.1,6.6,11.7,6.4,11.4,6.4"/>
<path fill="#FFFFFF" d="M5.4,8.5c0,0.2,0.3,0.4,0.5,0.4c0.2,0,0.3-0.1,0.4-0.2c0,0,0,0,0,0l2.5-2.5C9,6.1,9,5.8,8.8,5.6
c-0.2-0.2-0.6-0.2-0.7,0L6.3,7.2V0.5C6.3,0.2,6.3,0,6,0C5.8,0,5.7,0.2,5.7,0.5v6.6L4,5.6c-0.2-0.2-0.6-0.2-0.8,0
C3.1,5.8,3,6.1,3.2,6.3L5.4,8.5z"/>
</svg>

BIN
images/web_independant-logo.gif View File

Before After
Width: 90  |  Height: 65  |  Size: 3.5 KiB

+ 1
- 0
inclure/head-theme.html View File

@ -0,0 +1 @@
[<script src="(#CHEMIN{javascript/jquery.innerfade.js})"></script>]

+ 13
- 0
inclure/menu_lang.html View File

@ -0,0 +1,13 @@
<B_langues>
<div class="menu-lang">
<span class='menu-lang__select'>[(#LANG|traduire_nom_langue|ucfirst)]</span>
<ul class="menu-lang__items">
<BOUCLE_langues(RUBRIQUES){racine}{id_rubrique !IN 4,324} {fusion lang} {par lang} {lang!=#LANG}>
[<li lang="#LANG" xml:lang="#LANG" dir="#LANG_DIR" class="menu-lang__item">
<a href="#URL_RUBRIQUE" rel="alternate" hreflang="#LANG">(#LANG|afficher_nom_langue|ucfirst)</a>
</li>]
</BOUCLE_langues>
</ul>
</div>
</B_langues>

+ 99
- 0
javascript/jquery.innerfade.js View File

@ -0,0 +1,99 @@
/* =========================================================
// jquery.innerfade.js
// Datum: 2007-01-29
// Firma: Medienfreunde Hofmann & Baldes GbR
// Autor: Torsten Baldes
// Mail: t.baldes@medienfreunde.com
// Web: http://medienfreunde.com
// based on the work of Matt Oakes http://portfolio.gizone.co.uk/applications/slideshow/
// ========================================================= */
(function($) {
$.fn.innerfade = function(options) {
this.each(function(){
var settings = {
animationtype: 'fade',
speed: 'normal',
timeout: 2000,
type: 'sequence',
containerheight: 'auto',
runningclass: 'innerfade'
};
if(options)
$.extend(settings, options);
var elements = $(this).children();
if (elements.length > 1) {
$(this).css('position', 'relative');
$(this).css('height', settings.containerheight);
$(this).addClass(settings.runningclass);
for ( var i = 0; i < elements.length; i++ ) {
$(elements[i]).css('z-index', String(elements.length-i)).css('position', 'absolute');
$(elements[i]).hide();
};
if ( settings.type == 'sequence' ) {
setTimeout(function(){
$.innerfade.next(elements, settings, 1, 0);
}, settings.timeout);
$(elements[0]).show();
} else if ( settings.type == 'random' ) {
setTimeout(function(){
do { current = Math.floor ( Math.random ( ) * ( elements.length ) ); } while ( current == 0 )
$.innerfade.next(elements, settings, current, 0);
}, settings.timeout);
$(elements[0]).show();
} else {
alert('type must either be \'sequence\' or \'random\'');
}
}
});
};
$.innerfade = function() {}
$.innerfade.next = function (elements, settings, current, last) {
if ( settings.animationtype == 'slide' ) {
$(elements[last]).slideUp(settings.speed, $(elements[current]).slideDown(settings.speed));
} else if ( settings.animationtype == 'fade' ) {
$(elements[last]).fadeOut(settings.speed);
$(elements[current]).fadeIn(settings.speed);
} else {
alert('animationtype must either be \'slide\' or \'fade\'');
};
if ( settings.type == 'sequence' ) {
if ( ( current + 1 ) < elements.length ) {
current = current + 1;
last = current - 1;
} else {
current = 0;
last = elements.length - 1;
};
} else if ( settings.type == 'random' ) {
last = current;
while ( current == last ) {
current = Math.floor ( Math.random ( ) * ( elements.length ) );
};
} else {
alert('type must either be \'sequence\' or \'random\'');
};
setTimeout((function(){$.innerfade.next(elements, settings, current, last);}), settings.timeout);
};
})(jQuery);

+ 24
- 0
lang/galactic_spip_net.xml View File

@ -0,0 +1,24 @@
<traduction module="galactic_spip_net" gestionnaire="salvatore" url="https://trad.spip.net" source="svn://zone.spip.org/spip-zone/_galaxie_/www.spip.net/squelettes/branches/2008/lang/" reference="fr">
<langue code="ar" url="https://trad.spip.net/tradlang_module/galactic_spip_net?lang_cible=ar" total="9" traduits="9" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Davood Hossein" lien="https://trad.spip.net/auteur/davood-hossein" />
</langue>
<langue code="de" url="https://trad.spip.net/tradlang_module/galactic_spip_net?lang_cible=de" total="9" traduits="9" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Nils T." lien="https://trad.spip.net/auteur/nils-t" />
</langue>
<langue code="en" url="https://trad.spip.net/tradlang_module/galactic_spip_net?lang_cible=en" total="9" traduits="9" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="kent1" lien="https://trad.spip.net/auteur/kent1" />
</langue>
<langue code="es" url="https://trad.spip.net/tradlang_module/galactic_spip_net?lang_cible=es" total="9" traduits="9" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
</langue>
<langue code="fa" url="https://trad.spip.net/tradlang_module/galactic_spip_net?lang_cible=fa" total="9" traduits="9" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Davood Hossein" lien="https://trad.spip.net/auteur/davood-hossein" />
</langue>
<langue code="fr" url="https://trad.spip.net/tradlang_module/galactic_spip_net?lang_cible=fr" total="9" traduits="9" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
</langue>
<langue code="nl" url="https://trad.spip.net/tradlang_module/galactic_spip_net?lang_cible=nl" total="9" traduits="9" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Hanjo" lien="https://trad.spip.net/auteur/hanjo" />
</langue>
<langue code="sk" url="https://trad.spip.net/tradlang_module/galactic_spip_net?lang_cible=sk" total="9" traduits="9" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="jaro" lien="https://trad.spip.net/auteur/jaro" />
</langue>
</traduction>

+ 34
- 0
lang/galactic_spip_net_ar.php View File

@ -0,0 +1,34 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de https://trad.spip.net/tradlang_module/galactic_spip_net?lang_cible=ar
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
// C
'chercher_parmi_les_signataires' => 'جستجو در ميان امضاء كنندگان',
// D
'derniers_sites_realises_avec_spip' => 'آخرين سايت‌هاي ساخته شده با اسپيپ',
// G
'glossaire' => 'واژ‌ه نامه ',
// L
'liens_utiles' => 'پيوندهاي مفيد ',
// M
'maj' => 'به روز آوري ',
// T
'trad_bilan' => 'بيلان ترجمه‌ها ',
'trad_espace' => 'جاي ترجمه ',
// W
'web_independant' => 'براي يك وب مستقل ',
'web_independant_manifeste' => 'مانيفست براي وب مستقل '
);

+ 34
- 0
lang/galactic_spip_net_de.php View File

@ -0,0 +1,34 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de https://trad.spip.net/tradlang_module/galactic_spip_net?lang_cible=de
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
// C
'chercher_parmi_les_signataires' => 'Chercher parmi les signataires',
// D
'derniers_sites_realises_avec_spip' => 'Neuste Website mit SPIP',
// G
'glossaire' => 'Glossar',
// L
'liens_utiles' => 'nützliche Verbindungen',
// M
'maj' => 'mis à jour le ',
// T
'trad_bilan' => 'Bilan des traductions',
'trad_espace' => 'Espace de traduction',
// W
'web_independant' => 'Pour un web indépendant',
'web_independant_manifeste' => 'Manifeste pour un web indépendant'
);

+ 34
- 0
lang/galactic_spip_net_en.php View File

@ -0,0 +1,34 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de https://trad.spip.net/tradlang_module/galactic_spip_net?lang_cible=en
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
// C
'chercher_parmi_les_signataires' => 'Search among the signatories',
// D
'derniers_sites_realises_avec_spip' => 'Last websites made with SPIP',
// G
'glossaire' => 'Glossary',
// L
'liens_utiles' => 'Useful links',
// M
'maj' => 'updated on',
// T
'trad_bilan' => 'Translation balance',
'trad_espace' => 'Translation area',
// W
'web_independant' => 'For an independant web',
'web_independant_manifeste' => 'Manifesto for an independant web'
);

+ 34
- 0
lang/galactic_spip_net_es.php View File

@ -0,0 +1,34 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de https://trad.spip.net/tradlang_module/galactic_spip_net?lang_cible=es
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
// C
'chercher_parmi_les_signataires' => 'Chercher parmi les signataires',
// D
'derniers_sites_realises_avec_spip' => 'Derniers sites réalisés avec SPIP',
// G
'glossaire' => 'Glosario',
// L
'liens_utiles' => 'Enlaces de interés',
// M
'maj' => 'mis à jour le ',
// T
'trad_bilan' => 'Bilan des traductions',
'trad_espace' => 'Espace de traduction',
// W
'web_independant' => 'Pour un web indépendant',
'web_independant_manifeste' => 'Manifeste pour un web indépendant'
);

+ 34
- 0
lang/galactic_spip_net_fa.php View File

@ -0,0 +1,34 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de https://trad.spip.net/tradlang_module/galactic_spip_net?lang_cible=fa
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
// C
'chercher_parmi_les_signataires' => 'جستجو در ميان امضاء كنندگان',
// D
'derniers_sites_realises_avec_spip' => 'اخرين سايت‌هاي ساخته شده با اسپيپ ',
// G
'glossaire' => 'واژه‌ نامه ',
// L
'liens_utiles' => 'پيوندهاي مفيد ',
// M
'maj' => 'روزآمد سازي در ',
// T
'trad_bilan' => 'بيلان ترجمه‌ها',
'trad_espace' => 'جايگاه ترجمه ',
// W
'web_independant' => 'براي يك وب مستقل ',
'web_independant_manifeste' => 'مانيفست وب مستقل '
);

+ 32
- 0
lang/galactic_spip_net_fr.php View File

@ -0,0 +1,32 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_galaxie_/www.spip.net/squelettes/branches/2008/lang/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
// C
'chercher_parmi_les_signataires' => 'Chercher parmi les signataires',
// D
'derniers_sites_realises_avec_spip' => 'Derniers sites réalisés avec SPIP',
// G
'glossaire' => 'Glossaire',
// L
'liens_utiles' => 'Liens utiles',
// M
'maj' => 'mis à jour le ',
// T
'trad_bilan' => 'Bilan des traductions',
'trad_espace' => 'Espace de traduction',
// W
'web_independant' => 'Pour un web indépendant',
'web_independant_manifeste' => 'Manifeste pour un web indépendant'
);

+ 34
- 0
lang/galactic_spip_net_nl.php View File

@ -0,0 +1,34 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de https://trad.spip.net/tradlang_module/galactic_spip_net?lang_cible=nl
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
// C
'chercher_parmi_les_signataires' => 'Zoek in de ondertekenaars',
// D
'derniers_sites_realises_avec_spip' => 'Nieuwste met SPIP gerealiseerde sites',
// G
'glossaire' => 'Woordenlijst',
// L
'liens_utiles' => 'Nuttige koppelingen',
// M
'maj' => 'aangepast op ',
// T
'trad_bilan' => 'Balans van vertalingen',
'trad_espace' => 'Vertaalruimte',
// W
'web_independant' => 'Voor een onafhankelijk web',
'web_independant_manifeste' => 'Handvest voor een onafhankelijk web'
);

+ 34
- 0
lang/galactic_spip_net_sk.php View File

@ -0,0 +1,34 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de https://trad.spip.net/tradlang_module/galactic_spip_net?lang_cible=sk
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
// C
'chercher_parmi_les_signataires' => 'Vyhľadať medzi podpísanými ľuďmi',
// D
'derniers_sites_realises_avec_spip' => 'Najnovšie stránky vytvorené v SPIPe',
// G
'glossaire' => 'Slovník termínov',
// L
'liens_utiles' => 'Užitočné odkazy',
// M
'maj' => 'Aktualizované',
// T
'trad_bilan' => 'Bilancia prekladov',
'trad_espace' => 'Prekladateľská zóna',
// W
'web_independant' => 'Pre nezávislý web',
'web_independant_manifeste' => 'Manifest pre nezávislý web'
);

+ 12
- 0
lang/paquet-galactic_spip_net_fr.php View File

@ -0,0 +1,12 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
if (!defined('_ECRIRE_INC_VERSION')) return;
$GLOBALS[$GLOBALS['idx_lang']] = array(
'galactic_spip_net_nom' => 'Galactic - spip.net',
'galactic_spip_net_slogan' => 'Surcharge le squelette Galactic',
'galactic_spip_net_description' => ''
);

+ 17
- 0
modeles/uzine.html View File

@ -0,0 +1,17 @@
<div class="uzine">
<a href="http://www.uzine.net/[(#ENV{lang}|=={fr}|?{'article60',
[(#ENV{lang}|couper{2}|=={es}|?{'article61',
[(#ENV{lang}|couper{2}|=={oc}|?{'article62',
[(#ENV{lang}|couper{2}|=={en}|?{'article63',
[(#ENV{lang}|couper{2}|=={it}|?{'article64',
[(#ENV{lang}|couper{2}|=={de}|?{'article65',
[(#ENV{lang}|couper{2}|=={pt}|?{'article66',
[(#ENV{lang}|couper{2}|=={dk}|?{'article655','rubrique65'})]
})]
})]
})]
})]
})]
})]
})].html" title="<:galactic_spip_net:web_independant_manifeste:>">[(#CHEMIN{images/web_independant-logo.gif}|balise_img{<:galactic_spip_net:web_independant:>})]</a>
</div>

+ 49
- 0
nav/dist.html View File

@ -0,0 +1,49 @@
<BOUCLE_selection_secteur_langue(RUBRIQUES){racine}{lang}{0,1}>#SET{origine,#ID_RUBRIQUE}</BOUCLE_selection_secteur_langue>
<B_racine>
<ul>
[(#REM) liste des articles a la racine du secteur ]
<BOUCLE_articles_secteur(ARTICLES) {enfants #GET{origine,0}}>
<li class="article [(#ID_ARTICLE|=={#ENV{id_article}}|oui) active]"><a href="#URL_ARTICLE">#TITRE</a></li>
</BOUCLE_articles_secteur>
<BOUCLE_racine(RUBRIQUES){id_parent=#GET{origine,0}}{titre==^[0-9]+\.} {par num titre} {0,4} {id_rubrique !IN #GET{id_aide}}>
<li class="rubrique[ (#EXPOSE|oui)ouverte][ (#ID_RUBRIQUE|=={#ENV{id_rubrique}}|et{#ENV{id_article}|non}|oui)active][ (#ENV{juste_rubriques}|oui)done]"><a href="#URL_RUBRIQUE"><span>[(#TITRE)]</span></a>
<BOUCLE_rub(RUBRIQUES){id_rubrique}{si #EXPOSE|oui}>
[(#REM) liste des articles ]
<B_articles>
<ul class="articles">
<BOUCLE_articles(ARTICLES){si (#ENV{juste_rubriques}|non|ou{(#_rub:EXPOSE|et{#ENV{id_article}})})}{enfants}>
<li[(#ID_ARTICLE|=={#ENV{id_article}}|oui) class="active"]><a href="#URL_ARTICLE">#TITRE</a></li>
</BOUCLE_articles>
</ul>
</B_articles>
[(#REM) sous rubriques ]
<B_sous_rubriques>
<ul>
<BOUCLE_sous_rubriques(RUBRIQUES){id_parent}{si #_rub:EXPOSE}>
<li class="rubrique[ (#EXPOSE|oui)ouverte][ (#ID_RUBRIQUE|=={#ENV{id_rubrique}}|et{#ENV{id_article}|non}|oui)active]"><a href="#URL_RUBRIQUE"><span>[(#TITRE)]</span></a>
[(#REM) liste des articles ]
<BOUCLE_si_sous_rubriques_expose(CONDITION){si #_sous_rubriques:EXPOSE}>
<B_sous_articles>
<ul class="articles">
<BOUCLE_sous_articles(ARTICLES){enfants}>
<li[(#ID_ARTICLE|=={#ENV{id_article}}|oui) class="active"]><a href="#URL_ARTICLE">#TITRE</a></li>
</BOUCLE_sous_articles>
</ul>
</B_sous_articles>
</BOUCLE_si_sous_rubriques_expose>
[(#REM) recursion sous rubriques ]
<BOUCLE_m2(BOUCLE_sous_rubriques)></BOUCLE_m2>
</li>
</BOUCLE_sous_rubriques>
</ul>
</B_sous_rubriques>
</BOUCLE_rub>
</li>
</BOUCLE_racine>
</ul>
</B_racine>

+ 18
- 0
paquet.xml View File

@ -0,0 +1,18 @@
<paquet
prefix="galactic_spip_net"
categorie="squelette"
version="1.0.0"
etat="stable"
compatibilite="[3.1.0;3.2.*]"
logo="prive/themes/spip/images/galactic_spip_net-64.png"
>
<nom>Galactic - spip.net</nom>
<auteur>Jordan Zucchiatti : graphisme</auteur>
<auteur>nicod_ : intégration</auteur>
<licence lien="http://www.gnu.org/licenses/gpl-3.0.html">GPL 3</licence>
<necessite nom="galactic" compatibilite="[1.0.0;]" />
</paquet>

BIN
prive/themes/spip/images/galactic_spip_net-128.png View File

Before After
Width: 129  |  Height: 128  |  Size: 11 KiB

BIN
prive/themes/spip/images/galactic_spip_net-32.png View File

Before After
Width: 33  |  Height: 32  |  Size: 1.5 KiB

BIN
prive/themes/spip/images/galactic_spip_net-64.png View File

Before After
Width: 65  |  Height: 64  |  Size: 3.8 KiB

+ 7
- 0
rubrique.html View File

@ -0,0 +1,7 @@
<BOUCLE_skel(RUBRIQUES){id_rubrique}{racine}>
<INCLURE{fond=structure,env,type-page=secteur,composition=#COMPOSITION} />
</BOUCLE_skel>
<BOUCLE_principale_rubrique(RUBRIQUES){id_rubrique}>
<INCLURE{fond=structure,env,id_secteur=#ID_SECTEUR,type-page=rubrique,composition=#COMPOSITION} />
</BOUCLE_principale_rubrique>
<//B_skel>

+ 281
- 0
scss/galactic_theme.scss View File

@ -0,0 +1,281 @@
.contentMain {
.liste-articles,
.sous-rubriques {
@include text-block();
ul {
list-style: none;
margin-left: 0;
}
}
.sous-rubriques {
overflow: hidden;
clear: both;
padding-top: $typo-margin-vertical;
a {
margin-bottom: 0.2em;
}
.spip_logos {
float: right;
margin-left: 1em;
}
ul {
@include media($bp-small-up) {
@include flex();
flex-wrap: wrap;
flex-direction: row;
li {
width: 45%;
margin-bottom: $typo-margin-vertical;
padding-top: $typo-margin-vertical;
border-top: 1px solid #DDD;
&:nth-child(even) {
margin-left: 2.5%;
}
&:nth-child(odd) {
margin-right: 2.5%;
}
}
}
}
p {
margin-bottom: 0;
}
}
.syndic > ul {
list-style: none;
margin-left: 0;
}
.box {
border: 1px solid $couleur-gris5;
padding: 1em;
@include text-block();
p:last-child {
margin-bottom: 0;
}
.box__titre {
display: block;
font-weight: bold;
margin-bottom: 1em;
.spip_logos {
margin-right: 0.3em;
}
}
}
.statut p.auteurs {
display: none;
}
.uzine {
float: right;
margin-left: 1em;
margin-bottom: 1em;
}
}
.contentNav__main {
padding: 0;
& > ul {
& > li > ul:first-of-type {
margin-top: 0.8em;
}
& > li > ul:last-of-type {
margin-bottom: 0.8em;
}
& > li.rubrique {
& > a {
font-weight: bold;
font-style: italic;
color: white;
font-size: 110%;
background: $couleur-nav;
padding-top: 0.3em;
padding-bottom: 0.3em;
margin-bottom: em(4px);
&:hover {
color: white;
}
}
&.ouverte > a {
background: $couleur-nav-alt;
}
}
}
li.active > a {
margin: 0;
}
$padding-depart: 1.2em;
li.active > a {
padding-left: $padding-depart;
}
li li.active > a {
padding-left: $padding-depart *2;
}
li li li.active > a {
padding-left: $padding-depart *3;
}
li li li li.active > a {
padding-left: $padding-depart *4;
}
}
.contentMain__extra {
.navigation__precedent_suivant {
a {
display: block;
padding: 1em;
font-style: italic;
@include ombre();
margin-bottom: 1em;
}
@include media($bp-small-up) {
@include flex();
justify-content: space-between;
a {
@include flex();
-webkit-flex-direction: column;
flex-direction: column;
justify-content: center;
min-height: em(64px);
width: 49%;
padding: 0 1em;
margin-bottom: 0;
&.navigation__suivant {
padding-right: 2.5em;
}
&.navigation__precedent {
padding-left: 2.5em;
}
}
}
}
.navigation__precedent {
position: relative;
background: white;
color: $couleur-texte-gris;
text-align: right;
&:after {
content: '';
position: absolute;
top: 50%;
transform: translateY(-50%) rotate(-90deg);
left: 1em;
width: 0;
height: 0;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid $couleur-texte-gris;
}
}
.navigation__suivant {
position: relative;
background: #37D36C;
color: white;
text-align: left;
&:after {
content: '';
position: absolute;
top: 50%;
transform: translateY(-50%) rotate(90deg);
right: 1em;
width: 0;
height: 0;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid white;
}
}
}
.contentNav__aside {
.bouton {
position: relative;
background: white;
margin-bottom: em(4px);
padding-right: 1em + em(16px);
font-size: 90%;
@include ombre();
a {
display: block;
padding: 1em;
color: $couleur-texte;
&:hover {
color: $couleur-lien;
}
}
span {
@include media($bp-large) {
display: block;
}
}
.svg-icone {
width: em(14px);
float: right;
right: 1em;
position: absolute;
top: 50%;
transform: translateY(-50%);
}
}
}
.sites_sous_spip {
text-align: center;
ul {
margin: 0 0 1em 0;
padding: 0;
list-style: none;
}
ul li {
width: 100%;
margin: 0;
padding: 0;
}
ul li img {
margin: 0 auto;
background: #EEEEEC;
border: 3px solid #BABDB6;
}
.suite {
font-weight: bold;
}
}
.body--sommaire {
.langues p {
display: inline-block;
padding: 0 1em;
}
}
.body--secteur {
.cartouche {
@include text-block();
text-align: center;
}
}
.menu-lang.open,
.menu-lang__items {
width: 20em;
}
.menu-lang__items {
-moz-column-count: 2;
-webkit-column-count: 2;
column-count: 2;
}
.menu-lang__item {
padding: 0.2em 1em;
}

+ 3
- 0
secteur.html View File

@ -0,0 +1,3 @@
<BOUCLE_principale(RUBRIQUES){lang=#ENV{sitelang}}{racine}{id_rubrique !IN 4,324}>
<INCLURE{fond=structure,env,id_secteur=#ID_SECTEUR,type-page=secteur,composition=#COMPOSITION} />
</BOUCLE_principale>

+ 213
- 0
urls/trad.php View File

@ -0,0 +1,213 @@
<?php
// executer une seule fois
if (defined("_INC_URLS2")) return;
define("_INC_URLS2", "1"); // est-ce encore utile ?
// Les cles de ce tableau sont reperees par le htaccess
$GLOBALS['articles_aide_en_ligne'] = array(
'download' => 2670,
'update' => 1318,
'suivi' => 2275,
'article(\d+)\.html' => 0
);
define('_TRAD_ARTICLE', "#^(([a-z_]+)_)?(" .
join('|', array_keys($GLOBALS['articles_aide_en_ligne'])) .
")$#");
define('_TRAD_AIDE', "#^aide/([^-]*)-aide\.html$#");
define('_TRAD_MOT', "#^(@[a-z_0-9,-]+)$#");
define('_TRAD_RUBRIQUE', "#^([a-z_]+)_$#");
define('URLS_TRAD_EXEMPLE', 'fr_rubrique_91.html');
function langue_choix ($id, $type='article') {
switch ($type) {
case 'article':
if ($a = sql_fetsel('lang, id_secteur', "spip_articles", "id_article='$id'")) {
if ($a['id_secteur'] == 324) # aide en ligne
return "aide/".$a['lang'].'-aide.html';
if ($a['lang'] == 'cpf_hat')
return 'cpf_hat';
return preg_replace(",_.*,","",$a['lang']);
}
case 'rubrique':
if ($a = sql_fetsel('lang, id_secteur', "spip_rubriques", "id_rubrique='$id'")) {
if ($a['id_secteur'] == 324) # aide en ligne
return "aide/".$a['lang'].'-aide.html';
if ($a['lang'] == 'cpf_hat')
return 'cpf_hat';
return preg_replace(",_.*,","",$a['lang']);
}
case 'forum':
include_spip('inc/forum');
if ($racine = racine_forum($id))
return langue_choix($racine[1], $racine[0]);
}
return '';
}
function _generer_url_trad($type, $id, $args='', $ancre='')
{
$args = ($args ? "?$args" : '') . ($ancre ? "#$ancre" : '');
$lang = langue_choix ($id, $type);
if (function_exists($f = "generer_url_trad_$type"))
return _DIR_RACINE.$f($lang, $id, $args);
else return '';
}
function generer_url_trad_rubrique($lang, $id, $args) {
return ($lang ? "{$lang}_" : '') . 'rubrique' . $id . '.html' . $args;
}
function generer_url_trad_auteur($lang, $id, $args) {
return "./?page=auteur&amp;id_auteur=$id&amp;$args";
}
function generer_url_trad_breve($lang, $id, $args) {
return ($lang ? "{$lang}_" : '') . 'breve' . $id . '.html' . $args;
}
function generer_url_trad_article($lang, $id_article, $args) {
if (preg_match(',aide/,', $lang))
return $lang;
else if ($lang)
return $lang."_article$id_article.html$args";
else
return "article$id_article.html$args";
}
function generer_url_trad_forum($lang, $id_forum, $args) {
$t = sql_fetsel("id_thread, id_forum", 'spip_forum', "id_forum=$id_forum");
if (!$t) return '';
$url = $lang."_".$t['id_thread'].'.html';
if ($t['id_forum'] <> $t['id_thread']) $url .= '#forum'.$t['id_forum'];
return $url;
}
function generer_url_trad_mot($lang, $id_mot, $args) {
include_spip('inc/charsets');
$q = sql_fetsel('titre', 'spip_mots', "id_mot=$id_mot");
if (!$q) return "mot$id_mot.html$args";
$url = '@'.preg_replace(';[^a-z0-9_,-];', '',
strtolower(translitteration($q['titre'])));
$extra = serialize(array('url'=>$url));
sql_updateq('spip_mots', array('extra' => $extra), "id_mot=$id_mot");
return $url . $args;
}
function generer_url_trad_document($lang, $id_document, $args) {
include_spip('inc/documents');
return get_spip_doc(sql_getfetsel('fichier', 'spip_documents', 'id_document=' . sql_quote($id_document)));
}
function urls_trad_dist($i, &$entite, $args='', $ancre=''){
if (is_numeric($i))
return _generer_url_trad($entite, $i, $args, $ancre);
$url = $i;
$id_objet = $type = 0;
$url_redirect = null;
// recuperer les &debut_xx;
if (is_array($args))
$contexte = $args;
else
parse_str($args,$contexte);
$lang = (isset($contexte['sitelang'])?$contexte['sitelang']:null); //RewriteRule ?page=secteur&sitelang=URI
// recuperer les rubriques meres demandees par "www.spip.net/LANG"
if (preg_match(_TRAD_RUBRIQUE, $url, $regs) || $lang) {
$entite = 'rubrique';
if ($regs[1]) $lang = $regs[1];
if ($lang == 'fr'){
// cas particulier du francais qui a plusieurs rubriques
$contexte['id_rubrique'] = 91;
}
else {
$where = "id_parent=0 AND lang LIKE "
. sql_quote($lang .'%')
. " AND statut='publie'";
$t = sql_getfetsel("id_secteur", 'spip_rubriques', $where . " AND NOT (titre LIKE '%-aide.html%')");
if (!$t)
$t = sql_getfetsel("id_secteur", 'spip_rubriques', $where);
if ($t){
$contexte['id_rubrique'] = $t;
}
else {
$sites_redirection = Array (
'da' => 'http://listes.rezo.net/mailman/listinfo/spip-da',
// 'de' => 'http://www.spip.de/',