Browse Source

Premier dépôt

svn/root/trunk
dominique.lepaisant@ac-caen.fr 3 years ago
commit
b44c6d4ccf
  1. 188
      .gitattributes
  2. 18
      aside/agenda.html
  3. 41
      aside/article.html
  4. 2
      aside/auteur.html
  5. 11
      aside/evenement.html
  6. 17
      aside/mot.html
  7. 8
      aside/rubrique.html
  8. 15
      aside/sommaire.html
  9. 81
      body.html
  10. 39
      content/article.html
  11. 3
      content/article.yaml
  12. 86
      content/mot.html
  13. 46
      content/rubrique.html
  14. 3
      content/rubrique.yaml
  15. 28
      content/sommaire.html
  16. 3
      content/sommaire.yaml
  17. 333
      css/spipr-dane-noisettes.less.html
  18. 17
      extra/_agenda.html
  19. 9
      extra/agenda.html
  20. 20
      extra/article.html
  21. 2
      extra/auteur.html
  22. 12
      extra/evenement.html
  23. 17
      extra/mot.html
  24. 7
      extra/rubrique.html
  25. 9
      extra/sommaire.html
  26. 18
      footer/dist.html
  27. 25
      formulaires/configurer_contact_site.html
  28. 22
      formulaires/configurer_sdn.html
  29. 69
      formulaires/layer_page.html
  30. 65
      formulaires/layer_page.php
  31. 21
      inclure/agenda-evenements-une.html
  32. 43
      inclure/article-resume-image.html
  33. 1
      inclure/conteneur_fermer.html
  34. 1
      inclure/conteneur_ouvrir.html
  35. 33
      inclure/documents.html
  36. 14
      inclure/footer_login.html
  37. 12
      inclure/listes-sites-syndics.html
  38. 37
      inclure/resume/article.html
  39. 28
      inclure/resume/evenement.html
  40. 28
      inclure/resume/site.html
  41. 49
      inclure/yaml/conf_avancee.yaml
  42. 174
      lang/noisettes_fr.php
  43. 14
      lang/paquet-sdn_fr.php
  44. 74
      lang/sdn_fr.php
  45. 11
      liste/agenda_mois.html
  46. 17
      liste/articles-resume.html
  47. 12
      liste/articles_mm_rub.html
  48. 15
      liste/auteurs-resume.html
  49. 13
      liste/breves-resume.html
  50. 14
      liste/rubriques-resume.html
  51. 10
      liste/sites-resume.html
  52. 15
      liste/videos.html
  53. 4
      noisettes-dev/article-aside.html
  54. 36
      noisettes-dev/article-aside.yaml
  55. 7
      noisettes-dev/carte_gis.html
  56. 193
      noisettes-dev/carte_gis.yaml
  57. 24
      noisettes-dev/partenaires.html
  58. 62
      noisettes-dev/partenaires.yaml
  59. 3
      noisettes-dev/rubrique-rub_conteneur.html
  60. 30
      noisettes-dev/rubrique-rub_conteneur.yaml
  61. 24
      noisettes/article-contenu.html
  62. 45
      noisettes/article-contenu.yaml
  63. 2
      noisettes/article-documents.html
  64. 64
      noisettes/article-documents.yaml
  65. 1
      noisettes/article-ecrire_auteur-preview.html
  66. 3
      noisettes/article-ecrire_auteur.html
  67. 8
      noisettes/article-ecrire_auteur.yaml
  68. 1
      noisettes/article-evenements.html
  69. 8
      noisettes/article-evenements.yaml
  70. 3
      noisettes/article-forum.html
  71. 16
      noisettes/article-forum.yaml
  72. 1
      noisettes/article-metas-preview.html
  73. 21
      noisettes/article-metas.html
  74. 32
      noisettes/article-metas.yaml
  75. 2
      noisettes/article-portfolio.html
  76. 37
      noisettes/article-portfolio.yaml
  77. 1
      noisettes/article-rubrique_articles_freres-preview.html
  78. 5
      noisettes/article-rubrique_articles_freres.html
  79. 66
      noisettes/article-rubrique_articles_freres.yaml
  80. 6
      noisettes/carousel-preview.html
  81. 48
      noisettes/carousel.html
  82. 105
      noisettes/carousel.yaml
  83. 5
      noisettes/liste_articles-preview.html
  84. 14
      noisettes/liste_articles.html
  85. 225
      noisettes/liste_articles.yaml
  86. 2
      noisettes/liste_breves-preview.html
  87. 3
      noisettes/liste_breves.html
  88. 75
      noisettes/liste_breves.yaml
  89. 4
      noisettes/liste_evenements-preview.html
  90. 5
      noisettes/liste_evenements.html
  91. 120
      noisettes/liste_evenements.yaml
  92. 5
      noisettes/liste_sites-preview.html
  93. 18
      noisettes/liste_sites.html
  94. 153
      noisettes/liste_sites.yaml
  95. 5
      noisettes/liste_syndics-preview.html
  96. 5
      noisettes/liste_syndics.html
  97. 58
      noisettes/liste_syndics.yaml
  98. 0
      noisettes/liste_videos-preview.html
  99. 17
      noisettes/liste_videos.html
  100. 50
      noisettes/liste_videos.yaml
  101. Some files were not shown because too many files have changed in this diff Show More

188
.gitattributes vendored

@ -0,0 +1,188 @@
* text=auto !eol
aside/agenda.html -text
aside/article.html -text
aside/auteur.html -text
aside/evenement.html -text
aside/mot.html -text
aside/rubrique.html -text
aside/sommaire.html -text
/body.html -text
content/article.html -text
content/article.yaml -text
content/mot.html -text
content/rubrique.html -text
content/rubrique.yaml -text
content/sommaire.html -text
content/sommaire.yaml -text
css/spipr-dane-noisettes.less.html -text
extra/_agenda.html -text
extra/agenda.html -text
extra/article.html -text
extra/auteur.html -text
extra/evenement.html -text
extra/mot.html -text
extra/rubrique.html -text
extra/sommaire.html -text
footer/dist.html -text
formulaires/configurer_contact_site.html -text
formulaires/configurer_sdn.html -text
formulaires/layer_page.html -text
formulaires/layer_page.php -text
inclure/agenda-evenements-une.html -text
inclure/article-resume-image.html -text
inclure/conteneur_fermer.html -text
inclure/conteneur_ouvrir.html -text
inclure/documents.html -text
inclure/footer_login.html -text
inclure/listes-sites-syndics.html -text
inclure/resume/article.html -text
inclure/resume/evenement.html -text
inclure/resume/site.html -text
inclure/yaml/conf_avancee.yaml -text
lang/noisettes_fr.php -text
lang/paquet-sdn_fr.php -text
lang/sdn_fr.php -text
liste/agenda_mois.html -text
liste/articles-resume.html -text
liste/articles_mm_rub.html -text
liste/auteurs-resume.html -text
liste/breves-resume.html -text
liste/rubriques-resume.html -text
liste/sites-resume.html -text
liste/videos.html -text
noisettes-dev/article-aside.html -text
noisettes-dev/article-aside.yaml -text
noisettes-dev/carte_gis.html -text
noisettes-dev/carte_gis.yaml -text
noisettes-dev/partenaires.html -text
noisettes-dev/partenaires.yaml -text
noisettes-dev/rubrique-rub_conteneur.html -text
noisettes-dev/rubrique-rub_conteneur.yaml -text
noisettes/article-contenu.html -text
noisettes/article-contenu.yaml -text
noisettes/article-documents.html -text
noisettes/article-documents.yaml -text
noisettes/article-ecrire_auteur-preview.html -text
noisettes/article-ecrire_auteur.html -text
noisettes/article-ecrire_auteur.yaml -text
noisettes/article-evenements.html -text
noisettes/article-evenements.yaml -text
noisettes/article-forum.html -text
noisettes/article-forum.yaml -text
noisettes/article-metas-preview.html -text
noisettes/article-metas.html -text
noisettes/article-metas.yaml -text
noisettes/article-portfolio.html -text
noisettes/article-portfolio.yaml -text
noisettes/article-rubrique_articles_freres-preview.html -text
noisettes/article-rubrique_articles_freres.html -text
noisettes/article-rubrique_articles_freres.yaml -text
noisettes/carousel-preview.html -text
noisettes/carousel.html -text
noisettes/carousel.yaml -text
noisettes/liste_articles-preview.html -text
noisettes/liste_articles.html -text
noisettes/liste_articles.yaml -text
noisettes/liste_breves-preview.html -text
noisettes/liste_breves.html -text
noisettes/liste_breves.yaml -text
noisettes/liste_evenements-preview.html -text
noisettes/liste_evenements.html -text
noisettes/liste_evenements.yaml -text
noisettes/liste_sites-preview.html -text
noisettes/liste_sites.html -text
noisettes/liste_sites.yaml -text
noisettes/liste_syndics-preview.html -text
noisettes/liste_syndics.html -text
noisettes/liste_syndics.yaml -text
noisettes/liste_videos-preview.html -text
noisettes/liste_videos.html -text
noisettes/liste_videos.yaml -text
noisettes/menu-preview.html -text
noisettes/menu.html -text
noisettes/menu.yaml -text
noisettes/nuage.html -text
noisettes/nuage.yaml -text
noisettes/rubrique-cartouche.html -text
noisettes/rubrique-cartouche.yaml -text
noisettes/rubrique-documents.html -text
noisettes/rubrique-documents.yaml -text
noisettes/rubrique-liste_sous_rubs-preview.html -text
noisettes/rubrique-liste_sous_rubs.html -text
noisettes/rubrique-liste_sous_rubs.yaml -text
noisettes/rubrique-rubriques_soeurs-preview.html -text
noisettes/rubrique-rubriques_soeurs.html -text
noisettes/rubrique-rubriques_soeurs.yaml -text
noisettes/rubrique-texte.html -text
noisettes/rubrique-texte.yaml -text
noisettes/socialtags.html -text
noisettes/socialtags.yaml -text
noisettes/tweets-preview.html -text
noisettes/tweets.html -text
noisettes/tweets.yaml -text
/paquet.xml -text
/partenaires-24.png -text
prive/squelettes/_navigation/configurer_sdn.html -text
prive/squelettes/contenu/configurer_sdn.html -text
prive/squelettes/contenu/suggestions_icones.html -text
prive/squelettes/inclure/blocs_exclus.html -text
prive/squelettes/inclure/contact_site.html -text
prive/squelettes/inclure/selection_layer_page.html -text
prive/squelettes/inclure/selection_layer_page_interface.html -text
prive/squelettes/inclure/update_blocs_exclus.html -text
prive/themes/spip/images/article_contenu-24.png -text
prive/themes/spip/images/article_evenements-24.png -text
prive/themes/spip/images/article_forum-24.png -text
prive/themes/spip/images/breves-24.png -text
prive/themes/spip/images/carousel-24.png -text
prive/themes/spip/images/cartouche-24.png -text
prive/themes/spip/images/documents-24.png -text
prive/themes/spip/images/ecrire-auteur-24.png -text
prive/themes/spip/images/evenements-24.png -text
prive/themes/spip/images/galerie-24.png -text
prive/themes/spip/images/galerie2-24.png -text
prive/themes/spip/images/layer-32.png -text
prive/themes/spip/images/layers-sdn/layer-1.png -text
prive/themes/spip/images/layers-sdn/layer-10.png -text
prive/themes/spip/images/layers-sdn/layer-11.png -text
prive/themes/spip/images/layers-sdn/layer-12.png -text
prive/themes/spip/images/layers-sdn/layer-2.png -text
prive/themes/spip/images/layers-sdn/layer-3.png -text
prive/themes/spip/images/layers-sdn/layer-4.png -text
prive/themes/spip/images/layers-sdn/layer-5.png -text
prive/themes/spip/images/layers-sdn/layer-6.png -text
prive/themes/spip/images/layers-sdn/layer-7.png -text
prive/themes/spip/images/layers-sdn/layer-8.png -text
prive/themes/spip/images/layers-sdn/layer-9.png -text
prive/themes/spip/images/liste-articles-24.png -text
prive/themes/spip/images/liste-articles-selection-24.png -text
prive/themes/spip/images/liste-evenements-24.png -text
prive/themes/spip/images/liste-rubriques-soeurs-24.png -text
prive/themes/spip/images/liste-sites-24.png -text
prive/themes/spip/images/liste_articles-24.png -text
prive/themes/spip/images/liste_sous-rubs-24.png -text
prive/themes/spip/images/liste_syndics-24.png -text
prive/themes/spip/images/metas_aricle-24.png -text
prive/themes/spip/images/noisettes/socialtags_badge_fb.png -text
prive/themes/spip/images/noisettes/socialtags_facebook_like.png -text
prive/themes/spip/images/noisettes/socialtags_facebook_like_box.png -text
prive/themes/spip/images/nuage-24.png -text
prive/themes/spip/images/partenaires-24.png -text
prive/themes/spip/images/rub-entreprise-24.png -text
prive/themes/spip/images/sdn-128.png -text
prive/themes/spip/images/sdn-32.png -text
prive/themes/spip/images/sdn-64.png -text
prive/themes/spip/images/socialtags-24.png -text
prive/themes/spip/images/societe-24.png -text
prive/themes/spip/images/sommaire-24.png -text
prive/themes/spip/images/texte-24.png -text
prive/themes/spip/images/texte-obj-24.png -text
prive/themes/spip/images/twitter-24.png -text
prive/themes/spip/images/video-24.png -text
/sdn_administrations.php -text
/sdn_autorisations.php -text
/sdn_fonctions.php -text
/sdn_options.php -text
/sdn_pipelines.php -text
/spipr-dane-noisettes.less.html -text
yaml/liste-modeles.yaml -text

18
aside/agenda.html

@ -0,0 +1,18 @@
[(#REM)
Squelette
(c) 2009 xxx
Distribue sous licence GPL
]
#SET{id_article,#ENV{id_article,''}}
<BOUCLE_ev(EVENEMENTS){id_evenement}>
#CALENDRIER_MINI{#DATE_DEBUT,date_debut,#URL_PAGE{jour},#URL_PAGE{calendrier_mini_event.json,id_article=#ID_ARTICLE}}
#SET{id_article,#ID_ARTICLE}
</BOUCLE_ev>
#CALENDRIER_MINI{#DATE_DEBUT,date_debut,#URL_PAGE{jour},#URL_PAGE{calendrier_mini_event.json}|parametre_url{id_article,#GET{id_article}}|parametre_url{id_rubrique,#GET{id_rubrique}}}
<//B_ev>
<INCLURE{fond=inclure/agenda-evenements-meme-article,id_article=#GET{id_article},env,ajax} />
#SET{layers_exclus, #ARRAY{0,content_aside_extra, 1,content-aside_extra-a, 2,content-aside_extra-b, 3,aside-content_extra-a, 4,aside-content_extra-b}}
[(#CONFIG{sdn/defaut/layer}|in_array{#GET{layers_exclus}}|oui)<INCLURE{fond=liste/agenda_mois,env} />]

41
aside/article.html

@ -0,0 +1,41 @@
<BOUCLE_noisettes(NOISETTES){type=article}{bloc=aside}{0,1}>
</BOUCLE_noisettes>
<BOUCLE_aside(ARTICLES){id_article}>
<div class="postmeta"><div class="liste">
<h2 class="h2"><:spipr_dane:publie_le:></h2>
<p class="center">
<time datetime="[(#DATE|date_iso)]" ><i class="icon-calendar"></i> [(#DATE|nom_jour) ][(#DATE|affdate)]</time>
[<small>(<:spipr_dane:modifie_le:> (#DATE_MODIF|affdate))</small>]
</p>
[<h2 class="h2"><:spipr_dane:auteurs:></h2>
<p class="authors center">(#LESAUTEURS)</p>]
<B_tags>
<h2 class="h2"><:spipr_dane:tags:></h2>
<span class="tags">
<ul class="inline center">
<BOUCLE_tags(MOTS){id_article}>
<li><a class="label" href="#URL_MOT"><i class="icon-tag icon-white"></i> #TITRE</a></li>
</BOUCLE_tags>
</ul>
</span>
</B_tags>
</div></div>
</BOUCLE_aside>
#SET{layer, #CONFIG{sdn/#ENV{type-page,defaut}/layer,content-aside_-extra-a}}
#SET{layers_exclus, #ARRAY{0,content_aside_extra, 1,content-aside_extra-a, 2,content-aside_extra-b, 3,aside-content_extra-a, 4,aside-content_extra-b}}
<BOUCLE_extra2_article(ARTICLES){id_article}>
[(#REM) Articles dans la meme rubrique ]
<B_articles_rubrique>
#ANCRE_PAGINATION
<div class="liste articles">
<h2 class="h2"><a href="#URL_RUBRIQUE"><:spipr_dane:meme_rubrique:></a></h2>
<ul class="liste-items">
<BOUCLE_articles_rubrique(ARTICLES){id_rubrique}{exclus}{par date}{inverse} {pagination 10}{si #GET{layer}|in_array{#GET{layers_exclus}}}>
<li class="item"><a href="#URL_ARTICLE"[ class="(#EXPOSE)"][(#VIRTUEL|oui) class="spip_out"]>#TITRE</a></li>
</BOUCLE_articles_rubrique>
</ul>
[<div class="pagination">(#PAGINATION)</div>]
</div>
</B_articles_rubrique>
</BOUCLE_extra2_article>
<//B_noisettes>

2
aside/auteur.html

@ -0,0 +1,2 @@
#SET{layers_exclus, #ARRAY{0,content_aside_extra, 1,content-aside_extra-a, 2,content-aside_extra-b, 3,aside-content_extra-a, 4,aside-content_extra-b}}
[(#CONFIG{sdn/defaut/layer}|in_array{#GET{layers_exclus}}|oui)<INCLURE{fond=liste/auteurs-resume, env}>]

11
aside/evenement.html

@ -0,0 +1,11 @@
[(#REM)
Squelette
(c) 2009 xxx
Distribue sous licence GPL
Fichier aside/evenement.html
]
#SET{layers_exclus, #ARRAY{0,content_aside_extra, 1,content-aside_extra-a, 2,content-aside_extra-b, 3,aside-content_extra-a, 4,aside-content_extra-b}}
[(#CONFIG{sdn/defaut/layer}|in_array{#GET{layers_exclus}}|oui)<INCLURE{fond=extra1/agenda,env} />]

17
aside/mot.html

@ -0,0 +1,17 @@
#SET{layers_exclus, #ARRAY{0,content_aside_extra, 1,content-aside_extra-a, 2,content-aside_extra-b, 3,aside-content_extra-a, 4,aside-content_extra-b}}
[(#CONFIG{sdn/defaut/layer}|in_array{#GET{layers_exclus}}|oui) #SET{afficher, oui}]
<BOUCLE_principale(MOTS) {id_mot} {doublons} {si #GET{afficher}}>
[(#REM) Menu de navigation mots-cles : les autres mots cles du meme groupe ]
<B_mots_freres>
<div class="liste mots">
#ANCRE_PAGINATION
<h2 class="h2">#TYPE</h2>
<ul class="liste-items">
<BOUCLE_mots_freres(MOTS) {type} {par titre} {pagination 20}>
<li class="item"><a href="#URL_MOT"[ class="(#EXPOSE)"]>#TITRE</a></li>
</BOUCLE_mots_freres>
</ul>
[<div class="pagination">(#PAGINATION)</div>]
</div>
</B_mots_freres>
</BOUCLE_principale>

8
aside/rubrique.html

@ -0,0 +1,8 @@
<BOUCLE_noisettes(NOISETTES){type=rubrique}{bloc=aside}{0,1}>
</BOUCLE_noisettes>
[(#REM) Breves du secteur ]
<INCLURE{fond=liste/breves-resume,env,titre=<:spipr_dane:les_breves:>,nb=6,largeur_logo=100,hauteur_logo=90,ajax} />
[(#REM) sous-rubriques ]
<INCLURE{fond=liste/rubriques-resume, env}/>
<//B_noisettes>

15
aside/sommaire.html

@ -0,0 +1,15 @@
<BOUCLE_noisettes(NOISETTES){type=sommaire}{bloc=aside}{0,1}>
</BOUCLE_noisettes>
[(#REM) Videos]
<INCLURE{fond=liste/videos,nb=1,env,ajax} />
[(#REM)
#SET{layers_exclus, #ARRAY{0,content_aside_extra, 1,content-aside_extra-a, 2,content-aside_extra-b, 3,aside-content_extra-a, 4,aside-content_extra-b}}
[(#CONFIG{sdn/defaut/layer}|in_array{#GET{layers_exclus}}|oui)]
][
(#REM) Liste breves]
<INCLURE{fond=liste/breves-resume,env,titre=<:spipr_dane:les_breves:>,nb=5,largeur_logo=150,hauteur_logo=100,ajax} />
[(#PLUGIN{agenda}|oui)<div class="liste long evenements clear "><INCLURE{fond=inclure/agenda-evenements-une,nb=3,env,ajax} /></div>]
<div class="liste tweets"><INCLURE{fond=inclure/tweets} /></div>
<//B_noisettes>

81
body.html

@ -0,0 +1,81 @@
[(#REM)
Plugin SPIPr-Dane-Config
Squelette body.html
(c) 2019 Dominique Lepaisant, Johan Pustoch
Distribue sous licence GPL3
]#SET{compo, #ENV{type-page}}
#SET{pages_exclues, #ARRAY{0,recherche}}[
(#ENV{composition}|oui) #SET{compo, #ENV{type-page}|concat{-#ENV{composition}}}
][(#CONFIG{sdn/#GET{compo}/layer}|non)#SET{compo,defaut}
]#SET{layer, #CONFIG{sdn/#GET{compo,defaut}/layer, content-aside_-extra-a}}
[(#ENV{type-page}|in_array{#GET{pages_exclues}}|oui)#SET{layer, content-aside_-extra-a}]
[(#REM) modele 1
][(#GET{layer}|=={content_aside_extra}|oui)#SET{span_content, span12}#SET{span_aside, span12}#SET{span_extra, span12}
][(#REM) modele 2
][(#GET{layer}|=={content-aside_extra-a}|oui)#SET{span_content, span8}#SET{span_aside, span4}#SET{span_extra, span12}
][(#REM) modele 3
][(#GET{layer}|=={content-aside_extra-b}|oui)#SET{span_content, span9}#SET{span_aside, span3}#SET{span_extra, span12}
][(#REM) modele 4
][(#GET{layer}|=={aside-content_extra-a}|oui)#SET{span_content, span8 right}#SET{span_aside, span4}#SET{span_extra, span12}
][(#REM) modele 5
][(#GET{layer}|=={aside-content_extra-b}|oui)#SET{span_content, span9 right}#SET{span_aside, span3}#SET{span_extra, span12}
][(#REM) modele 6
][(#GET{layer}|=={content-aside_-extra-a}|oui)#SET{span_content, span8}#SET{span_aside, span4}#SET{span_extra, span4 right}
][(#REM) modele 7
][(#GET{layer}|=={content-aside_-extra-b}|oui)#SET{span_content, span9}#SET{span_aside, span3}#SET{span_extra, span3 right}
][(#REM) modele 8
][(#GET{layer}|=={aside_-extra-content-a}|oui)#SET{span_content, span8 right}#SET{span_aside, span4}#SET{span_extra, span4}
][(#REM) modele 9
][(#GET{layer}|=={aside_-extra-content-b}|oui)#SET{span_content, span9 right}#SET{span_aside, span3}#SET{span_extra, span3}
][(#REM) modele 10
][(#GET{layer}|=={aside-content-extra}|oui)#SET{span_content, span6 right}#SET{span_aside, span3}#SET{span_extra, span3}
][(#REM) modele 11
][(#GET{layer}|=={content-aside-extra}|oui)#SET{span_content, span6}#SET{span_aside, span3}#SET{span_extra, span3}
][(#REM) modele 12
][(#GET{layer}|=={aside-extra-content}|oui)#SET{span_content, span6 right}#SET{span_aside, span3}#SET{span_extra, span3}]
<body class="[(#GET{layer, content-aside_-extra-a})] page[ secteur-(#ID_SECTEUR)][ rubrique-(#ID_RUBRIQUE)] [(#ENV{type-page})]">
[(#REM)#GET{layer}]
<div class="page[ page-(#GET{layer, content-aside_-extra-a})][ secteur-(#ID_SECTEUR)][ rubrique-(#ID_RUBRIQUE)]">
<div class="header" id="header">
<div class="container">
<INCLURE{fond=header/#ENV{type-page},env} />
</div>
</div>
[<div class="navbar navbar-inverse[ (#CONFIG{sdc/navbar/navbar_responsive}|oui)navbar-responsive]" id="nav">
(#INCLURE{fond=inclure/nav,env}|navbar_responsive)
</div>]
<div class="container container-main">
<div class="row">
[(#GET{layer}|=={aside-content-extra}|oui)
<div class="span9 content-aside"><div class="row">
] <div class="content[ (#GET{span_content})]" id="content">
<INCLURE{fond=breadcrumb/#ENV{type-page},type-page=#ENV{type-page},env} />
<div class="row-fluid">
<INCLURE{fond=content/#ENV{type-page},env} />
</div>
</div>
<div class="aside secondary col[ (#GET{span_aside}) ]" id="aside">
<INCLURE{fond=aside/#ENV{type-page},env} />
</div>
[(#GET{layer}|=={aside-content-extra}|oui)
</div></div>
][(#GET{layer}|=={aside-content_extra-a}|ou{#GET{layer}|=={aside-content_extra-b}}|ou{#GET{layer}|=={content-aside_extra-a}}|ou{#GET{layer}|=={content-aside_extra-b}}|oui)
</div>
<div class="row">
] <div class="extra secondary col[ (#GET{span_extra}) ]" id="extra">
<INCLURE{fond=extra/#ENV{type-page},env} />
</div>
</div>
</div>
<div class="container-footer">
[(#PLUGIN{menus}|oui)[<div class="container navbar-footer" id="nav-footer">
(#INCLURE{fond=inclure/menu, env, identifiant=pied})
</div>]
]<div class="footer" id="footer">
<!--noisettes-->
<INCLURE{fond=footer/#ENV{type-page},env} />
</div>
</div>
</div>
</body>

39
content/article.html

@ -0,0 +1,39 @@
<BOUCLE_content(ARTICLES){id_article}>
<BOUCLE_noisettes(NOISETTES){type=article}{bloc=content}{0,1}>
</BOUCLE_noisettes>
<article>
<header class="cartouche">
[(#LOGO_ARTICLE|image_reduire{200,200})]
[<p class="#EDIT{surtitre} surtitre">(#SURTITRE)</p>]
<h1><span class="#EDIT{titre}">#TITRE</span>[
<small class="#EDIT{soustitre} soustitre">(#SOUSTITRE)</small>
]</h1>
</header>
<div class="main">
[<div class="#EDIT{chapo} chapo surlignable">(#CHAPO|adaptive_images)</div>]
[<div class="#EDIT{texte} texte surlignable">(#TEXTE|adaptive_images)</div>]
[<p class="#EDIT{hyperlien} hyperlien"><:voir_en_ligne:> : <a href="(#URL_SITE)" class="spip_out">[(#NOM_SITE|sinon{[(#URL_SITE|couper{80})]})]</a></p>]
</div>
<footer>
[<div class="#EDIT{ps} ps surlignable"><h2><:info_ps:></h2>(#PS|adaptive_images)</div>]
[<div class="notes"><h2><:info_notes:></h2>(#NOTES)</div>]
</footer>
<aside>
[(#REM) Gestion du portfolio et des documents ]
[(#INCLURE{fond=inclure/documents,id_article})]
[(#PLUGIN{agenda}|oui)<INCLURE{fond=inclure/agenda-evenements-article,env} />]
[(#REM) Forum de l'article
NB : pour desactiver les forums de l'article, supprimez simplement la ligne ci-dessous ]
<INCLURE{fond=inclure/forum,id_article,repondre_url=(#PARAMETRES_FORUM|url_reponse_forum),repondre_titre=<:spipr_dane:repondre_article:>} />
</aside>
</article>
<//B_noisettes>
</BOUCLE_content>

3
content/article.yaml

@ -0,0 +1,3 @@
nom: '<:sdn:nom_page_article:>'
description: '<:sdn:description_page_article:>'
icon: 'article-24.png'

86
content/mot.html

@ -0,0 +1,86 @@
[(#REM) Calcul du nombre de colonnes]
<BOUCLE_test_articles(ARTICLES) {id_mot} {0,1}> #SET{mot_article, 1} </BOUCLE_test_articles>
<BOUCLE_test_rubriques(RUBRIQUES) {id_mot} {0,1}> #SET{mot_rubriques, 1} </BOUCLE_test_rubriques>
<BOUCLE_test_breves(BREVES) {id_mot} {0,1}> #SET{mot_breves, 1} </BOUCLE_test_breves>
<BOUCLE_test_sites(SITES) {id_mot} {0,1}> #SET{mot_sites, 1} </BOUCLE_test_sites>
#SET{span, #EVAL{#GET{mot_article}|plus{#GET{mot_rubriques}}|plus{#GET{mot_breves}}|plus{#GET{mot_sites}}}}
[(#GET{span}|=={1}|oui)#SET{span,12}]
[(#GET{span}|=={2}|oui)#SET{span,6}]
[(#GET{span}|=={3}|oui)#SET{span,4}]
[(#GET{span}|=={4}|oui)#SET{span,3}]
<BOUCLE_content(MOTS) {id_mot} {doublons}>
<section>
<header class="cartouche">
<h1 class="#EDIT{titre}">[(#LOGO_MOT|image_reduire)]#TITRE</h1>
</header>
<div class="main">
[<div class="#EDIT{texte} chapo">(#TEXTE|adaptive_images)</div>]
</div>
<aside>
[(#REM) Articles lies au mot-cle ]
<B_articles>
<div class="liste articles span#GET{span}">
#ANCRE_PAGINATION
<h2 class="h2"><:articles:></h2>
<ul class="liste-items">
<BOUCLE_articles(ARTICLES) {id_mot} {par popularite}{inverse} {pagination 50}>
<li class="item">
<a href="#URL_ARTICLE">#TITRE</a>
<div class="small">[<abbr class="published" title="[(#DATE|date_iso)]">(#DATE|affdate_jourcourt)</abbr>]</div></li>
</BOUCLE_articles>
</ul>
[<div class="pagination">(#PAGINATION)</div>]
</div>
</B_articles>
[(#REM) Breves liees au mot-cle ]
<B_breves>
<div class="liste breves span#GET{span}">
<h2 class="h2"><:breves:breves:></h2>
<ul class="liste-items">
<BOUCLE_breves(BREVES) {id_mot} {par titre} {pagination 50}>
<li class="item">
<a href="#URL_BREVE">#TITRE</a>
<div class="small">[<abbr class="published" title="[(#DATE|date_iso)]">(#DATE|affdate_jourcourt)</abbr>]</div></li>
</li>
</BOUCLE_breves>
</ul>
[<div class="pagination">(#PAGINATION)</div>]
</div>
</B_breves>
[(#REM) Rubriques liees au mot-cle ]
<B_rubriques>
<div class="liste rubriques span#GET{span}">
<h2 class="h2"><:rubriques:></h2>
<ul class="liste-items inline">
<BOUCLE_rubriques(RUBRIQUES) {id_mot} {par titre} {pagination 50}>
<li class="item"><a href="#URL_RUBRIQUE">#TITRE</a></li>
</BOUCLE_rubriques>
</ul>
[<div class="pagination">(#PAGINATION)</div>]
</div>
</B_rubriques>
[(#REM) Sites web lies au mot-cle ]
<B_sites>
<div class="liste sites span#GET{span}">
<h2 class="h2"><:sites_web:></h2>
<ul class="liste-items">
<BOUCLE_sites(SITES) {id_mot} {par nom_site} {pagination 50}>
<li class="item"><a href="#URL_SITE" class="spip_out">#NOM_SITE</a></li>
</BOUCLE_sites>
</ul>
[<div class="pagination">(#PAGINATION)</div>]
</div>
</B_sites>
</aside>
[<footer>
<div class="notes"><hr />(#NOTES)</div>
</footer>]
</section>
</BOUCLE_content>

46
content/rubrique.html

@ -0,0 +1,46 @@
<BOUCLE_content(RUBRIQUES){id_rubrique}>
<B_noisettes>
<BOUCLE_noisettes(NOISETTES){type=rubrique}{bloc=content}{0,1}>
</BOUCLE_noisettes>
</B_noisettes>
<section>
<header class="cartouche">
[(#LOGO_RUBRIQUE|image_reduire{200,200})]
<h1 class="#EDIT{titre}">#TITRE</h1>
</header>
<div class="main clear">
[<div class="#EDIT{texte} chapo">(#TEXTE|adaptive_images)</div>]
[(#REM) carousel ]
<INCLURE{fond=inclure/selection-carousel,id_rubrique,nb=5,span=span12}>
#SET{avec_articles,0}
[(#REM) Articles du secteur ]
<div class="liste articles offset clear">
<INCLURE{fond=liste/articles-resume,env,nb=10,coupe=180,ajax,titre=<:spipr_dane:articles_rubrique:>, branche=#ID_RUBRIQUE} />
</div>
</div>
<aside class="clear">
[(#REM) Gestion du portfolio et des documents ]
[(#INCLURE{fond=inclure/documents,id_rubrique})]
[(#REM) Sites de la rubrique ]
<div class="liste sites clear">
<INCLURE{fond=liste/sites-resume,nb=12,env,largeur_logo=180,hauteur_logo=120,titre=<:spipr_dane:sur_web:>,ajax}>
</div>
</aside>
<footer>
[<div class="notes"><h2><:info_notes:></h2>(#NOTES)</div>]
[<p class="publication"><time pubdate="pubdate" datetime="[(#DATE|date_iso)]"><:dernier_ajout:> : (#DATE|affdate_jourcourt).</time></p>]
</footer>
</section>
<//B_noisettes>
</BOUCLE_content>

3
content/rubrique.yaml

@ -0,0 +1,3 @@
nom: '<:sdn:nom_page_rubrique:>'
description: '<:sdn:description_page_rubrique:>'
icon: 'rubrique-24.png'

28
content/sommaire.html

@ -0,0 +1,28 @@
<B_noisettes>
<BOUCLE_noisettes(NOISETTES){type=sommaire}{bloc=content}{0,1}>
</BOUCLE_noisettes>
</B_noisettes>
<section>
<header class="cartouche hide">
<h1>#NOM_SITE_SPIP</h1>
</header>
<div class="main">
<div class="liste selection ">
<INCLURE{fond=inclure/selection-carousel,nb=3,span=12}>
</div>
<div class="liste articles span12">
<INCLURE{fond=liste/articles-resume,env,titre=<:spipr_dane:derniers_articles:>,nb=5,hauteur_logo=150,coupe=100,ajax}>
</div>
[(#REM)
<div class="liste sites syndic_articles span4">
<INCLURE{fond=inclure/listes-sites-syndics,nb=10,env,ajax}>
</div>
[(#PLUGIN{agenda}|oui)<div class="liste long evenements clear "><INCLURE{fond=inclure/agenda-evenements-une,env,ajax} /></div>]
]
</div>
</section>
<//B_noisettes>

3
content/sommaire.yaml

@ -0,0 +1,3 @@
nom: '<:sdn:nom_page_sommaire:>'
#description: '<:sdn:description_page_sommaire:>'
icon: 'sommaire-24.png'

333
css/spipr-dane-noisettes.less.html

@ -0,0 +1,333 @@
#CACHE{3600*100,cache-client}
#HTTP_HEADER{Content-Type: text/css; charset=iso-8859-15}
#HTTP_HEADER{Vary: Accept-Encoding}
// -----------------------------------------------------
// Plugin SPIPr-Dane-Noisettes
// Squelette spipr-dane-noisettes.less.html
// (c) 2019 Dominique Lepaisant
// Distribue sous licence GPL3
// -----------------------------------------------------
@import "css/variables.less";
@import "css/mixins.less";
/////////////////////
// AFFICHAGE EN COLONNES
// Peut être transfere dans spipr-dane.less
/////////////////////
/*#content,#extra{ */
.liste{
&.articles,&.sites,&.evenements{
.liste-items{
&.liste-span{
article.image-zoom-hover { //effet zoom au survol
background-color: transparent;
transition-duration: 500ms;
.spip_logo .img {transition-duration: 500ms;}
&:hover {
.spip_logo .img {
background-size: 110% !important;
transition-duration: 750ms;
}
li.item{background-color: transparent;}
}
}
margin-left: 0;
.item{
clear: none;
padding: 0 0 0.73333333em 0;
border: none !important;
margin-bottom: 0;
strong.h3-like{font-size:1em;}
.postmeta.tags{
font-size: .9em;
margin: 0 .5em 0 .5em;
ul {
li{
span.label{
margin: 0 .5em .2em 0;
border: none!important;
background-color: #eee!important;
color: #333!important;
text-shadow: none;
font-weight: 400;
.border-radius(2px);
letter-spacing: .5px;
}
i.fa{font-size: small;}
}
}
}
&:hover {background-color: transparent; }
&:first-child{float: left;}
&.span2 {
&:nth-child(6n+1){margin-left: 0;clear: left;}
}
&.span3 {
&:nth-child(4n+1){margin-left: 0;clear: left;}
}
&.span4 {
&:nth-child(3n+1){margin-left: 0;clear: left;}
}
&.span6 {
&:nth-child(2n+1){margin-left: 0;clear: left;}
}
article{
border: 1px solid @grayLighter;
min-height: 12em;
padding: .5em .5em .8em .5em;
text-align: center;
&:hover,&:focus,&:active{
background-color:@grayLighter;
transition:all 0.2s ease-in-out 0.0s;
}
.spip_logo{
margin: 0 auto ;
float: none;
}
.titre{display:block;margin-top:.5em;font-weight: bold;}
.publication{display: block;margin-bottom: 0;}
.txt-right{text-align:right;}
}
}
}
}
}
}
/////////////////////
// PLUGIN INSERTION AVANCEE D'IMAGES
// Peut être transfere dans spipr-dane.less
/////////////////////
/* modele slide */
.portfolio_slide_container {
overflow: hidden;
ul.portfolio_slide {
margin-left:0;
list-style: none;
}
}
///////////////////////
// MENU PIED DE PAGE
///////////////////////
#nav-footer {
text-align: center;
.menu-liste {
margin: 2em 0;
display: inline-flex;
flex-wrap: wrap;
}
.menu-logo {
margin:0 auto;
>a {
margin: 0 1em;
&:hover {background-color:transparent;}
}
}
}
/////////////////////
// SURCHARGES spipr-dane.less
/////////////////////
/* Agenda */
/* Surcharge spip.agenda.css */
#aside,#extra {
.liste-items {
.evenement {
padding-left: 0;
.banner{
display:block;
float: none;
margin: 0.3em auto;
}
}
}
}
/* Dates dans les liste d'articles (inclure/resume/article.html)
#content {
.liste {
ul.liste-items{
li.item .publication{ display: block;}
}
}
}
/* tweet h2 dans bloc aside */
#aside .liste.tweets h2.h2 > a {padding-right:0;letter-spacing:0;&:hover{text-decoration:none;}}
/* Liens des menus dans les blocs */
#content,#aside,#extra{
.nav > li {
> a:hover, > a:focus{
background-color: transparent;
}
}
/* Couleurs des liens titres de liste */
.liste h2.h2> a {color: #000;}
}
/* liste simple de sites */
.liste-items.liste-simple li > a > .logo-site {
float: right !important;
margin-top: -10px;
margin-bottom: -10px;
}
/* Documents dans les blocs aside */
.liste{
&.documents{
article{padding: 0;}
}
}
/* Portfolio dans bloc aside: meme comportement que dans bloc extra */
#aside .documents_portfolio {
clear: both;
margin: 1.5em auto;
text-align: center;
}
/* header sur petits ecrans */
@media (max-width: 980px) {
}
/////////////////////
// MODELES DE PAGE (layers)
/////////////////////
#SET{extra_large, #ARRAY{0,content_aside_extra, 1,content-aside_extra-a, 2,content-aside_extra-b, 3,aside-content_extra-a, 4,aside-content_extra-b}}
body {
/*** 1 colonne ***/
//N°1
&.content_aside_extra,
/*** 2 colonnes extra sur toute la largeur ***/
//N°2
&.content-aside_extra-a,
//N°3
&.content-aside_extra-b,
// N°4
&.aside-content_extra-a,
//N°5
&.aside-content_extra-b {
#extra{
//
}
}
/*** 2 colonnes extra sous aside ***/
//N°6
&.content-aside_-extra-a,
//N°7
&.content-aside_-extra-b,
//N°8
&.aside_-extra-content-a,
//N°9
&.aside_-extra-content-b {
//
}
/*** 3 colonnes ***/
//N°10
&.aside-content-extra,
//N°11
&.content-aside-extra,
//N°12
&.aside-extra-content {
#extra{
padding-top: 2em;
}
}
}
/////////////////////
// @media
/////////////////////
/* largeur de la zone texte sur grand ecran */
@media (min-width:979px) {
.page_article{
article.contenu,.formulaire_spip {margin: 0 2em}
}
}
/* titre des articles en vignette sur smartphone*/
@media (min-width:767px){
.liste{
.liste-items{
&.liste-span{
.item{
.h3-like{
> a {max-width:350px;margin: auto;}
}
}
}
}
}
}
/* entete sur smartphone*/
@media (max-width: 980px) {
//header
#header{
#logo-institution {
text-align:center;
img{max-width: 140px;}
}
header{
h1#logo_site_spip{
margin-bottom: 5px;
text-align: center;
.spip_logos,#nom_site_spip,#slogan_site_spip{display: block;margin: auto;}
.spip_logos {//float: none;
max-width: 150px;
img {}
}
#nom_site_spip{font-size: .7em;}
#slogan_site_spip{font-size: .5em;}
}
}
.form-search{bottom: 0;right: 0;position: relative;text-align: center;max-height: 60px;clear: both;}
}
}
@media (max-width:768px){
}
@media (max-width:640px){
#header{
header{
h1#logo_site_spip{
.spip_logos{
float: none;
display: block;
margin: auto;
max-width: 150px;
}
#nom_site_spip{font-size: 90%;}
#slogan_site_spip{font-size: .7em;}
}
}
}
}
@media (max-width:480px){
#header{
#logo-institution {
text-align:center;
//img{max-width: 140px;}
}
header{
h1#logo_site_spip{
margin-bottom: 5px;
text-align: center;
.spip_logos,#nom_site_spip,#slogan_site_spip{display: block;margin: auto;}
.spip_logos {float: none;
img {}
}
#nom_site_spip{font-size: .7em;}
#slogan_site_spip{font-size: .5em;}
}
}
.form-search{bottom: 0;right: 0;position: relative;text-align: center;}
}
}
/////////////////////
// Recuperation des metas
/////////////////////

17
extra/_agenda.html

@ -0,0 +1,17 @@
[(#REM)
Squelette
(c) 2009 xxx
Distribue sous licence GPL
]
#SET{layers_exclus, #ARRAY{0,content_aside_extra, 1,content-aside_extra-a, 2,content-aside_extra-b, 3,aside-content_extra-a, 4,aside-content_extra-b}}
#SET{id_article,#ENV{id_article,''}}
<BOUCLE_ev(EVENEMENTS){id_evenement}>
#CALENDRIER_MINI{#DATE_DEBUT,date_debut,#URL_PAGE{jour},#URL_PAGE{calendrier_mini_event.json,id_article=#ID_ARTICLE}}
#SET{id_article,#ID_ARTICLE}
</BOUCLE_ev>
[(#CONFIG{sdn/defaut/layer}|in_array{#GET{layers_exclus}}|non)#CALENDRIER_MINI{#DATE_DEBUT,date_debut,#URL_PAGE{jour},#URL_PAGE{calendrier_mini_event.json}|parametre_url{id_article,#GET{id_article}}|parametre_url{id_rubrique,#GET{id_rubrique}}}]
<//B_ev>
[(#CONFIG{sdn/defaut/layer}|in_array{#GET{layers_exclus}}|non)
<INCLURE{fond=inclure/agenda-evenements-meme-article,id_article=#GET{id_article},env,ajax} />]

9
extra/agenda.html

@ -0,0 +1,9 @@
[(#REM)
Squelette
(c) 2009 xxx
Distribue sous licence GPL
]
#SET{layers_exclus, #ARRAY{0,content_aside_extra, 1,content-aside_extra-a, 2,content-aside_extra-b, 3,aside-content_extra-a, 4,aside-content_extra-b}}
[(#CONFIG{sdn/defaut/layer}|in_array{#GET{layers_exclus}}|non)<INCLURE{fond=liste/agenda_mois,env} />]

20
extra/article.html

@ -0,0 +1,20 @@
<BOUCLE_noisettes(NOISETTES){type=article}{bloc=extra}{0,1}>
</BOUCLE_noisettes>
#SET{layers_exclus, #ARRAY{0,content_aside_extra, 1,content-aside_extra-a, 2,content-aside_extra-b, 3,aside-content_extra-a, 4,aside-content_extra-b}}
#SET{layer, #CONFIG{sdn/defaut/layer,content-aside_extra-a}}
<BOUCLE_extra2_article(ARTICLES){id_article}>
[(#REM) Articles dans la meme rubrique ]
<B_articles_rubrique>
#ANCRE_PAGINATION
<div class="liste articles">
<h2 class="h2"><a href="#URL_RUBRIQUE"><:spipr_dane:meme_rubrique:></a></h2>
<ul class="liste-items">
<BOUCLE_articles_rubrique(ARTICLES){id_rubrique}{exclus}{par date}{inverse} {pagination 10}{si #GET{layer} !IN #GET{layers_exclus}}>
<li class="item"><a href="#URL_ARTICLE"[ class="(#EXPOSE)"][(#VIRTUEL|oui) class="spip_out"]>#TITRE</a></li>
</BOUCLE_articles_rubrique>
</ul>
[<div class="pagination">(#PAGINATION)</div>]
</div>
</B_articles_rubrique>
</BOUCLE_extra2_article>
<//B_noisettes>

2
extra/auteur.html

@ -0,0 +1,2 @@
#SET{layers_exclus, #ARRAY{0,content_aside_extra, 1,content-aside_extra-a, 2,content-aside_extra-b, 3,aside-content_extra-a, 4,aside-content_extra-b}}
[(#CONFIG{sdn/defaut/layer}|in_array{#GET{layers_exclus}}|non)<INCLURE{fond=liste/articles-auteur, env}>]

12
extra/evenement.html

@ -0,0 +1,12 @@
[(#REM)
Squelette
(c) 2009 xxx
Distribue sous licence GPL
Fichier extra/evenement.html
Surcharge de agenda/squelettes/extra/evenement.html
]
#SET{layers_exclus, #ARRAY{0,content_aside_extra, 1,content-aside_extra-a, 2,content-aside_extra-b, 3,aside-content_extra-a, 4,aside-content_extra-b}}
[(#CONFIG{sdn/defaut/layer}|in_array{#GET{layers_exclus}}|non)<INCLURE{fond=extra1/agenda,env} />]

17
extra/mot.html

@ -0,0 +1,17 @@
#SET{layers_exclus, #ARRAY{0,content_aside_extra, 1,content-aside_extra-a, 2,content-aside_extra-b, 3,aside-content_extra-a, 4,aside-content_extra-b}}
[(#CONFIG{sdn/defaut/layer}|in_array{#GET{layers_exclus}}|non) #SET{afficher, oui}]
<BOUCLE_principale(MOTS) {id_mot} {doublons} {si #GET{afficher}}>
[(#REM) Menu de navigation mots-cles : les autres mots cles du meme groupe ]
<B_mots_freres>
<div class="liste mots">
#ANCRE_PAGINATION
<h2 class="h2">#TYPE</h2>
<ul class="liste-items">
<BOUCLE_mots_freres(MOTS) {type} {par titre} {pagination 20}>
<li class="item"><a href="#URL_MOT"[ class="(#EXPOSE)"]>#TITRE</a></li>
</BOUCLE_mots_freres>
</ul>
[<div class="pagination">(#PAGINATION)</div>]
</div>
</B_mots_freres>
</BOUCLE_principale>

7
extra/rubrique.html

@ -0,0 +1,7 @@
<BOUCLE_noisettes(NOISETTES){type=rubrique}{bloc=extra}{0,1}>
</BOUCLE_noisettes>
[(#REM) Breves du secteur
<div class="liste long breves">
<INCLURE{fond=liste/breves-resume,env,titre=<:spipr_dane:les_breves:>,nb=6,largeur_logo=100,hauteur_logo=90,ajax} />
</div>
]<//B_noisettes>

9
extra/sommaire.html

@ -0,0 +1,9 @@
<BOUCLE_noisettes(NOISETTES){type=sommaire}{bloc=extra}{0,1}>
</BOUCLE_noisettes>
[(#REM)#SET{layers_exclus, #ARRAY{0,content_aside_extra, 1,content-aside_extra-a, 2,content-aside_extra-b, 3,aside-content_extra-a, 4,aside-content_extra-b}}
[(#CONFIG{sdn/defaut/layer}|in_array{#GET{layers_exclus}}|non)<div class="liste long breves ">
<INCLURE{fond=liste/breves-resume,env,titre=<:spipr_dane:les_breves:>,nb=5,largeur_logo=150,hauteur_logo=100,ajax} />
</div>
<div class="liste tweets"><INCLURE{fond=inclure/tweets} /></div>
]]<//B_noisettes>

18
footer/dist.html

@ -0,0 +1,18 @@
<div class="container ">
<p class="colophon">
<BOUCLE_annee(ARTICLES){par date}{tous}{0,1}>[(#DATE|annee|!={#VAL{Y}|date}|oui)[(#DATE|annee)]]</BOUCLE_annee>-</B_annee>[(#DATE|annee)] - #NOM_SITE_SPIP
</p>[
(#SET{contact, #URL_AUTEUR{#CONFIG{eva_mentions/idwebmaster,1}}})
]<B_pages><BOUCLE_pages(ARTICLES){id_rubrique=-1}>[
(#PAGE|=={contact}|oui)#SET{contact,#URL_ARTICLE{#ID_ARTICLE}}][
(#PLUGIN{contact}|oui)#SET{contact,#URL_PAGE{contact}}
]</BOUCLE_pages></B_pages>[(#PLUGIN{contact}|oui)#SET{contact,#URL_PAGE{contact}}]<//B_pages>
<ul class="liste-items center">
<li class="item"><a rel="contents" href="#URL_PAGE{plan}"><:plan_site:></a></li>
<li class="item"><a href="#URL_PAGE{mentions}" ><:spipr_dane:mentions:></a></li>
<li class="item"><a href="#GET{contact}"><:spipr_dane:contact:></a></li>
<li class="item"><a href="#URL_PAGE{backend}"><:spipr_dane:flux_rss:></a></li>
</ul>
<INCLURE{fond=inclure/footer_login, env}/>
</div>

25
formulaires/configurer_contact_site.html

@ -0,0 +1,25 @@
<div class="formulaire_spip formulaire_configurer formulaire_#FORM">
<h3 class="titrem"><:sdn:cfg_titre_contact_site:>[<img class="cadre-icone" src="(#CHEMIN{prive/themes/spip/images/contact-24.png})"/>]</h3>
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
<form method="post" action="#ENV{action}">
<div>
#ACTION_FORMULAIRE
<div class="editer-groupe">
[(#SAISIE{auteurs, contact_site,
label=<:sdn:label_id_auteur_contact_site:>,
explication=<:sdn:explication_id_auteur_contact_site:>,
statut=#ARRAY{1comite, 0minirezo}})]
</div>
<input type="hidden" name="_meta_casier" value="sdn" />
<p class="boutons"><span class="image_loading">&nbsp;</span><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p>
</div>
</form>
</div>

22
formulaires/configurer_sdn.html

@ -0,0 +1,22 @@
<div class="formulaire_spip formulaire_configurer formulaire_#FORM">
<h3 class="titrem"><:sdn:cfg_titre_parametrages:></h3>
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
<form method="post" action="#ENV{action}">
<div>
#ACTION_FORMULAIRE
<div class="editer-groupe">
[(#SAISIE{oui_non, conf_avancee,
label=<:sdn:label_conf_avancee_noisettes:>,
explication=<:sdn:explication_conf_avancee_noisettes:>})]
</div>
<input type="hidden" name="_meta_casier" value="sdn" />
<p class="boutons"><span class="image_loading">&nbsp;</span><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p>
</div>
</form>
</div>

69
formulaires/layer_page.html

@ -0,0 +1,69 @@
[(#REM)
Plugin SPIPr-Dane-Config
Squelette #FORMULAIRE_LAYER_PAGE
* formulaire de configuration du modele de page
* param string : bloc - nom de la page a configurer
(c) 2019 Dominique Lepaisant
Distribue sous licence GPL3
][(#SET{id_unique,#EVAL{'rand();'}})]
#SET{layer, #CONFIG{sdn/#ENV{compo}/layer}|?{#CONFIG{sdn/#ENV{compo}/layer}, #CONFIG{sdn/defaut/layer, content-aside_-extra}}}
<div class="formulaire_spip formulaire_configurer formulaire_#FORM">
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
<form method="post" action="#ENV{action}" class="form[_(#GET{id_unique})]"><div>
#ACTION_FORMULAIRE{#ENV{action}}
<h3 class="legend"><:sdn:choisir_modele:></h3>
<div class="editer_layer">
<ul class="ul_#GET{id_unique}">
<BOUCLE_ls2(POUR){tableau #ENV{modeles}}>
<li style="width:30%;padding-left:5px;padding-bottom:10px;float:left;clear:[(#COMPTEUR_BOUCLE|=={4}|ou{#COMPTEUR_BOUCLE|=={7}}|?{both,none});]">
<div style="float:left;" class="divimg[ (#ENV{nbcols}|=={2_cols_gauche}|oui) active]">
<label for="#CLE" class="thumb" style="margin-left:0">
<img src="#CHEMIN{prive/themes/spip/images/layers-sdn/layer-#VALEUR.png}" title="[(#VAL{sdn:layer_#CLE}|_T)]" alt="[(#VAL{sdn:layer_#CLE}|_T)]" style="width:120px;margin-left:20px" /></label>
<p class="explication" style="clear:both;">
<input type="radio" name="layer" id="#CLE" value="#CLE" [ (#GET{layer}|=={#CLE}|oui)checked="checked" disabled="disabled"]/>
<label for="#CLE">[Modèle N°(#VALEUR)]</label></p>
</div>
</li>
</BOUCLE_ls2>
</ul>
</div>
[(#SAISIE{checkbox, largeur_content}
{label=<:sdc:background_fixer:>}
{datas=#ARRAY{
large, Oui}
}
{conteneur_class=long_label afficher_si_layer_#GET{id_unique}}
)]
<p class="boutons">
<input type="submit" name="enregistrer" class="submit save" value="<:bouton_enregistrer:>" />
<input type="submit" name="_cfg_delete" class="submit delette" value="<:sdn:bouton_supprimer:>" style="float:left"/>
</p>
</div></form>
</div>
<script type="text/javascript">// <![CDATA[
$(document).ready(function(){
$('.divimg > p input').on('change', function () {
if ( $(this).attr('value') == 'content-aside_extra'
|| $(this).attr('value') == 'aside-content_extra'
|| $(this).attr('value') == 'content-aside_-extra'
|| $(this).attr('value') == 'aside_-extra-content' ) {
$(".afficher_si_layer_#GET{id_unique}").show()
}else {
$(".afficher_si_layer_#GET{id_unique}").hide();
}
});
if ( '#ENV{layer}' == 'content-aside_extra'
|| '#ENV{layer}' == 'aside-content_extra'
|| '#ENV{layer}' == 'content-aside_-extra'
|| '#ENV{layer}' == 'aside_-extra-content' ) {
$(".afficher_si_layer_#GET{id_unique}").show();
} else {
$(".afficher_si_layer_#GET{id_unique}").hide();
}
});
//]]></script>

65
formulaires/layer_page.php

@ -0,0 +1,65 @@
<?php
/**
Plugin SPIPr-Dane-Config
Fichier #FORMULAIRE_LAYER_PAGE
* formulaire de configuration du modele de page
* param string : bloc - nom de la page a configurer
(c) 2019 Dominique Lepaisant
Distribue sous licence GPL3
*/
include_spip('inc/config');
include_spip('inc/yaml');
function formulaires_layer_page_charger_dist( $bloc ) {
// on charge les saisies et les champs
// la liste des modeles de page est dans le fichier
// yaml/liste-modeles.yaml
$valeurs = array(
'compo' => $bloc,
'modeles' => is_file(find_in_path('yaml/liste-modeles.yaml')) ? yaml_decode_file(find_in_path('yaml/liste-modeles.yaml'))
: array("content-aside_extra"=>"3","content_aside_extra"=>"1"),
'layer' => !is_null(lire_config('sdn/'.$bloc.'/layer') )? lire_config('sdn/'.$bloc.'/layer') : 'content-aside_-extra',
'largeur_content' => '',
);
return $valeurs;
}
function formulaires_layer_page_verifier_dist( $bloc ) {
$erreurs = array();
// Controle du layer
/* $modeles = yaml_decode_file(find_in_path('yaml/liste-modeles.yaml'));
if (!in_array($modeles, _request("layer")))
$erreurs["layer"]="Modèle non reconnu !";
*/
return $erreurs;
}
function formulaires_layer_page_traiter_dist( $bloc ) {
// Traitement des données reçues du formulaire,
if (!_request('_cfg_delete')){
if ( _request('layer')!='' ){
ecrire_config('sdn/'.$bloc.'/layer', _request('layer'));
ecrire_config('sdn/'.$bloc.'/largeur_content', _request('largeur_content'));
if(is_null(lire_config('sdn/'.$bloc.'/layer'))) {
$errs = 'La configuration des colonnes n\'a pas été enregistrée.';
}
else {
$oks = 'La configuration des colonnes a été enregistrée';
}
}
}
else
{
$oks = 'La configuration des colonnes a été suprimée';
effacer_config('sdn/'.$bloc.'/layer');
return array('message_ok'=>$oks);
}
// S'il y a des erreurs, elles sont retournées au formulaire
if( isset($errs) )
return array('message_erreur'=>$errs);
// Sinon, le message de confirmation est envoyé
else
return array('message_ok'=>$oks);
}
?>

21
inclure/agenda-evenements-une.html

@ -0,0 +1,21 @@
[(#REM) Ne pas afficher l'annee de depart, elle est dans le h2)]
[(#GET{date_debut}|annee|unique{annee}|non)]
[(#REM)
ENV{date_debut}=#ENV{date_debut}<br/>
GET{affichage_debut}=#GET{affichage_debut}<br/>
GET{date_debut}=#GET{date_debut}<br/>
GET{affichage_duree}=#GET{affichage_duree}<br/>
GET{date_fin}=#GET{date_fin}<br/>
]<B_ev>
#ANCRE_PAGINATION
[(#ENV{masquer_h2}|non)<h2 class="h2 center">[(#ENV{masquer_titre}|non)[(#ENV{titre,<:agenda:agenda:>})] ][(#ENV{masquer_picto}|non)<a href="#URL_PAGE{agenda}" title="<:agenda:agenda:>"><span class="picto"><i class="fa fa-#ENV{picto,calendar}"></i></span></a>]</h2>]
<ul class="liste-items">
<BOUCLE_ev(EVENEMENTS){par date_debut}{!evenement_passe}{age_fin>=-180}{pagination #ENV{nb,5}}>
<li class="item[(#DATE_FIN|agenda_date_passee)fini]">
#INCLURE{fond=inclure/resume/evenement,afficher_carte=non,id_evenement, env}
</li>
</BOUCLE_ev>
</ul>
[<div class="pagination">(#PAGINATION)</div>]
<p class="center small bt clear"><a href="#URL_PAGE{agenda}"><:spipr_dane:agenda_complet:></a></p>
</B_ev>

43
inclure/article-resume-image.html

@ -0,0 +1,43 @@
[(#REM) Retourne la première image de l'article
On prend une image parmi celles inclues dans le texte, sinon dans le portfolio
]<BOUCLE_test(CONDITION){si #ENV{utiliser_image_article}|non}>
<BOUCLE_image_inclue(DOCUMENTS){id_article}{vu=oui}{extension IN png,jpg,gif}{0,1}>
[(#ENV{image_passe_partout}|?{
[(#FICHIER
|image_passe_partout{#ENV{largeur_image,150},#ENV{hauteur_image,150}}
|image_recadre{#ENV{largeur_image,150},#ENV{hauteur_image,150},#ENV{align, center center},#ENV{couleur,transparent}}
|inserer_attribut{class,spip_logo spip_logos}
|responsive_logo)]
,
[(#FICHIER
|image_reduire{#ENV{largeur_image,150},#ENV{hauteur_image,150}}
|image_recadre{#ENV{largeur_image,150},#ENV{hauteur_image,150},#ENV{align, center center},#ENV{couleur,transparent}}
|inserer_attribut{class,spip_logo spip_logos}
|responsive_logo)]
})]
</BOUCLE_image_inclue>
<BOUCLE_image_portfolio(DOCUMENTS){id_article}{mode=document}{extension IN png,jpg,gif}{0,1}>
[(#ENV{image_passe_partout}|?{
[(#FICHIER
|image_passe_partout{#ENV{largeur_image,150},#ENV{hauteur_image,150}}
|image_recadre{#ENV{largeur_image,150},#ENV{hauteur_image,150},#ENV{align, center center},#ENV{couleur,transparent}}
|inserer_attribut{class,spip_logo spip_logos}
|responsive_logo)]
,
[(#FICHIER
|image_reduire{#ENV{largeur_image,150},#ENV{hauteur_image,150}}
|image_recadre{#ENV{largeur_image,150},#ENV{hauteur_image,150},#ENV{align, center center},#ENV{couleur,transparent}}
|inserer_attribut{class,spip_logo spip_logos}
|responsive_logo)]
})]
</BOUCLE_image_portfolio>
<//B_image_inclue>
</BOUCLE_test>
[(#REM)
[(#FICHIER
|image_reduire{#ENV{largeur_image,150},#ENV{hauteur_image,150}}
|image_recadre{[(#ENV{largeur_image}|plus{1})],[(#ENV{hauteur_image}|plus{1})],#ENV{align, center center},#ENV{couleur,transparent}}
|inserer_attribut{class,spip_logos}
|inserer_attribut{alt,[(#TITRE|attribut_html|couper{80})]}
|responsive_logo)]
]

1
inclure/conteneur_fermer.html

@ -0,0 +1 @@
[(#CONFIG{sdn/conf_avancee}|et{#ENV{fermer_conteneur}}|oui)[</(#ENV{sdn_conteneur})>]]

1
inclure/conteneur_ouvrir.html

@ -0,0 +1 @@
[(#CONFIG{sdn/conf_avancee}|et{#ENV{ouvrir_conteneur}}|oui)[<(#ENV{sdn_conteneur})[ class="(#ENV{sdn_conteneur_class})"]>]]

33
inclure/documents.html

@ -0,0 +1,33 @@
[(#REM) Portfolio : album d'images ]
#SET{masquer_h2,#ENV{masquer_titre}|et{#ENV{masquer_picto}}|?{on, ''}}
<B_documents_portfolio>
<div class="liste documents documents_portfolio">
[(#GET{masquer_h2}|non)<h2 class="h2">[(#ENV{masquer_titre}|non)<:medias:info_portfolio:>][(#ENV{masquer_picto}|non)<i class="fa fa-#ENV{picto,files}"></i>]</h2>]
<BOUCLE_documents_portfolio(DOCUMENTS) {si #ENV{quoi}|=={galerie}} {id_article?}{id_rubrique?}{objet?}{id_objet?} {mode=document}{extension IN png,jpg,gif} {par rang_lien, num titre, date}{vu=non}{doublons}>[
<a href="(#URL_DOCUMENT)"
type="#MIME_TYPE"
rel="documents_portfolio[-a(#ID_ARTICLE)][-r(#ID_RUBRIQUE)]"
[ title="(#TITRE|attribut_html|couper{80})"]>[(#FICHIER
|image_reduire{0,#ENV{hauteur_logo,100}}
|inserer_attribut{class,spip_logos}
|inserer_attribut{alt,[(#TITRE|attribut_html|couper{80})]}|inserer_attribut{data-photo,#URL_DOCUMENT}|inserer_attribut{data-photo-h,#HAUTEUR}|inserer_attribut{data-photo-w,#LARGEUR}|inserer_attribut{title,[(#TITRE|attribut_html)][ - (#DESCRIPTIF|attribut_html)]})]</a>
]</BOUCLE_documents_portfolio>
</div>
</B_documents_portfolio>
[(#REM)
Liste des autres documents joints
]
<B_documents_joints>
<div class="liste documents documents_joints">
[(#GET{masquer_h2}|non)<h2 class="h2">[(#ENV{masquer_titre}|non)<:medias:titre_documents_joints:>][(#ENV{masquer_picto}|non)<i class="fa fa-#ENV{picto,files}"></i>]</h2>]
<ul class="liste-items">
<BOUCLE_documents_joints(DOCUMENTS) {si #ENV{quoi}|=={documents}} {id_article?}{id_rubrique?}{objet?}{id_objet?} {extension !IN gif,jpg,png} {vu=non}{par rang_lien, num titre, date}{doublons}>
[(#REM) on passe les dimensions du logo dans l'environnement]
<li class="item">#INCLURE{fond=inclure/resume/document,id_document,largeur_logo=#ENV{largeur_logo,150},hauteur_logo=#ENV{hauteur_logo,150}}</li>
</BOUCLE_documents_joints>
</ul>
</div>
</B_documents_joints>

14
inclure/footer_login.html

@ -0,0 +1,14 @@
<ul class="liste-items right">
<?php if (isset($GLOBALS['visiteur_session']['id_auteur']) AND $GLOBALS['visiteur_session']['id_auteur']) {?>
<li class="item"><a href="#URL_LOGOUT" rel="nofollow"><:icone_deconnecter:></a></li><?php if (include_spip('inc/autoriser') AND autoriser('ecrire')){ ?>
<li class="item"><a href="#EVAL{_DIR_RESTREINT_ABS}"><:espace_prive:></a></li>
<?php }
}
else { ?>
<li class="item">
<a href="[(#URL_PAGE{login}|parametre_url{url,#SELF|parametre_url{url,''}})]" rel="nofollow" class='login_modal'><:lien_connecter:></a>
[<a href="[(#URL_PAGE{login}|parametre_url{url,#SELF|parametre_url{url,''}}|parametre_url{cicas,oui})]" rel="nofollow">(#CHEMIN{cicas.gif}|balise_img{<:cicas:>})</a>]
</li>
<?php } ?>
</ul>