Compare commits

...

19 Commits

Author SHA1 Message Date
chankalan
e34bddb933 v2.5.14 2024-03-28 18:01:03 +01:00
chankalan
d3ed887275 corrections pour la page mot et liste articles 2024-03-28 17:57:43 +01:00
chankalan
7bb921474a sans adaptive images qui peine sur les installations de type
mutualisation
2023-05-15 16:14:39 +02:00
chankalan
7b17c554b5 pas de pagination dans l'url mais dans l'inclure 2023-04-03 10:17:43 +02:00
chankalan
24979e29e8 ajax sur liste articles blog 2023-04-03 10:06:03 +02:00
chankalan
094b4e62b9 coquille : .liste_articles = .liste.articles 2023-04-03 09:17:10 +02:00
chankalan
444ba6a0ad on tente une dissuasion de plus face aux spams d'inscription à la liste 2023-03-30 13:34:39 +02:00
chankalan
1018d151ea compatible SPIP 4.2 2023-03-30 11:00:44 +02:00
chankalan
108dcf5fe1 liste article resumé avec pagination page sans precedent/suivant 2022-12-05 12:05:12 +01:00
chankalan
93d7e64559 pagination visible en petit écran + v2.5.13 2022-12-05 11:54:52 +01:00
chankalan
86f556bff9 par défaut pas de paramètre url de pagination de liste d'articles 2022-11-22 17:20:05 +01:00
chankalan
070df59457 readme nettoyé 2022-10-04 15:54:40 +02:00
chankalan
3ba5271a93 oups, les bonnes options en serveur_mod dev/preprod 2022-10-04 15:14:00 +02:00
chankalan
680505166a v2.5.11 2022-10-03 08:00:10 +02:00
chankalan
e3f6a378b1 ajout du bloc head_js 2022-10-03 07:59:23 +02:00
chankalan
07e7167dbf chaine lang recherche 2022-05-26 11:52:20 +02:00
chankalan
bda51673e0 correction formulaire abomailmans mini une liste 2022-02-16 23:49:20 +01:00
chankalan
e314369ab9 fix pagination spip4 + formatage css 2022-01-19 15:37:40 +01:00
chankalan
a4e023ef8a page 404 personnalisée si l'article page=quatrecentquatre existe 2022-01-19 15:36:42 +01:00
22 changed files with 288 additions and 350 deletions

View File

@ -18,6 +18,7 @@ $GLOBALS['z_blocs'] = array(
'aside', 'aside',
'connex', 'connex',
'footer', 'footer',
'head_js',
); );
define('_CONTENT_WIDTH', 990); define('_CONTENT_WIDTH', 990);

View File

@ -1,8 +1,8 @@
#CACHE{0} #CACHE{0}
<div class="formulaire_spip formulaire_#FORM" id="formulaire_#FORM[_(#ENV{id_abomailman})]"> <div class="formulaire_spip formulaire_#FORM" id="formulaire_#FORM[_(#ENV{id_abomailman})]">
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>] [<div class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</div>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] [<div class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</div>]
[(#ENV*{editable}|oui) [(#ENV*{editable}|oui)
<form method='post' action='#ENV{action}'> <form method='post' action='#ENV{action}'>

View File

@ -53,6 +53,7 @@ function formulaires_abomailman_mini_une_liste_verifier_dist($id_abomailman = ""
function formulaires_abomailman_mini_une_liste_traiter_dist($id_abomailman = ""){ function formulaires_abomailman_mini_une_liste_traiter_dist($id_abomailman = ""){
include_spip('inc/abomailmans'); include_spip('inc/abomailmans');
function baz_april_abo() {
$nom = _request('nom'); $nom = _request('nom');
$email = _request('email'); $email = _request('email');
@ -67,28 +68,39 @@ function formulaires_abomailman_mini_une_liste_traiter_dist($id_abomailman = "")
// on initialise l'envoi // on initialise l'envoi
// on traite chaque liste via une fonction reutilisable ailleurs // on traite chaque liste via une fonction reutilisable ailleurs
// on passe abonnement a true d'office // on passe abonnement a true d'office
$traiter=abomailman_traiter_abonnement($id_abomailman,true); $traiter = abomailman_traiter_abonnement($id_abomailman,true);
$titre = $traiter[0]; $titre = $traiter[0];
$proprio_email=$traiter[1]; $proprio_email = $traiter[1];
$liste_email=$traiter[2]; $liste_email = $traiter[2];
$sujet=$traiter[3]; $sujet = $traiter[3];
$body="$nom - $email ".$traiter[4]; $body = "$nom - $email ".$traiter[4];
$headers=$traiter[5]; $headers = $traiter[5];
if (abomailman_mail($nom, $email, $proprio_email,$liste_email, $sujet, $body,$headers)){ if (abomailman_mail($nom, $email, $proprio_email, $liste_email, $sujet, $body, $headers)){
$message_listes .= "<p><strong>$titre</strong><p>"; $message_listes .= "<p><strong>$titre</strong><p>";
}else{ } else {
$message_listes .= "<p><strong>". _T('pass_erreur_probleme_technique')."</strong></p>"; $message_listes .= "<p><strong>". _T('pass_erreur_probleme_technique')."</strong></p>";
$probleme=true; $probleme=true;
} }
$message .= $body."". _T("abomailmans:message_confirmation_unique_a");
$message .= $message_listes;
$message .= "<p>" . _T("abomailmans:message_confirm_suite") . "</p>"; $message .= "<p>" . _T("abomailmans:message_confirm_suite") . "</p>";
if ($probleme==false) if ($probleme==false) {
return $message; return array('message_ok' => $message);
else } else {
return $message_listes; return array('message_erreur' => $message_listes);
}
}
// conditionner l'action au rechargement de la page
// https://contrib.spip.net/NoSPAM#S-assurer-que-l-internaute-recharge-la-page-avant-de-lancer-l-action
include_spip('inc/nospam');
if (function_exists('nospam_confirm_action_html')) {
$html_confirm = nospam_confirm_action_html("baz_april_abo", "action abomailmans", $args);
$res['message_ok'] .= $html_confirm;
}
else {
// ICI lancer normalement mafonction()
baz_april_abo();
}
} }
?>

View File

@ -99,4 +99,6 @@ Par défaut, les résumés darticles sont composés des 180 premiers caractè
Elle est gérée par une page unique. Elle est gérée par une page unique.
', ',
'votre_recherche' => 'Votre recherche',
); );

View File

@ -47,7 +47,7 @@ switch (_SERVEUR_MODE) {
ini_set('display_errors', 1); ini_set('display_errors', 1);
define('_DEBUG_AUTORISER', true); define('_DEBUG_AUTORISER', true);
define('_LOG_FILTRE_GRAVITE', 8); define('_LOG_FILTRE_GRAVITE', 8);
define('_TEST_EMAIL_DEST', 'nd@dataetic.fr'); define('_TEST_EMAIL_DEST', 'courriel@domain.tld');
define('_SCSS_SOURCE_MAP', true); define('_SCSS_SOURCE_MAP', true);
break; break;
case 'PROD': case 'PROD':

View File

@ -1,10 +1,10 @@
<paquet <paquet
prefix="baz_april" prefix="baz_april"
categorie="squelette" categorie="squelette"
version="2.5.9" version="2.5.14"
schema="1.0.1" schema="1.0.1"
etat="stable" etat="stable"
compatibilite="[3.2.0;4.0.*]" compatibilite="[3.2.0;4.2.*]"
logo="prive/themes/spip/images/baz_april-64.png" logo="prive/themes/spip/images/baz_april-64.png"
documentation="" documentation=""
> >
@ -25,7 +25,7 @@
<necessite nom="tri_par_rubrique"/> <necessite nom="tri_par_rubrique"/>
<necessite nom="scssphp"/> <necessite nom="scssphp"/>
<necessite nom="zcore"/> <necessite nom="zcore"/>
<necessite nom="adaptive_images" /> <!-- <necessite nom="adaptive_images" /> -->
<necessite nom="centre_image"/> <necessite nom="centre_image"/>
<necessite nom="pages" /> <necessite nom="pages" />
<necessite nom="porte_plume_intertitres" /> <necessite nom="porte_plume_intertitres" />

View File

@ -1,60 +1,2 @@
Base de squelettes pour les sites de l'APRIL Base de squelettes pour les sites de l'APRIL
à partir de zboot : https://git.spip.net/spip-contrib-squelettes/zboot
Nécessite :
git clone https://git.spip.net/spip-contrib-extensions/z-core.git
git clone https://git.spip.net/spip-contrib-extensions/facteur.git
git clone https://git.spip.net/spip-contrib-extensions/saisies.git
git clone https://git.spip.net/spip-contrib-extensions/nospam.git
git clone https://git.spip.net/spip-contrib-extensions/scssphp.git
git clone https://git.spip.net/spip-contrib-extensions/cache.git
git clone https://git.spip.net/spip-contrib-extensions/crayons.git
git clone https://git.spip.net/spip-contrib-extensions/porte_plume_partout.git
git clone https://git.spip.net/spip-contrib-extensions/basicone.git
git clone https://git.spip.net/spip-contrib-extensions/mailcrypt.git
git clone https://git.spip.net/spip-contrib-extensions/feuillederoute.git
git clone https://git.spip.net/spip-contrib-extensions/compositions.git
git clone https://git.spip.net/spip-contrib-extensions/pages.git
git clone https://github.com/mistergraphx/porte_plume_intertitres.git
git clone https://git.spip.net/spip-contrib-extensions/tri_par_rubrique.git
git clone https://git.spip.net/spip-contrib-extensions/roles_documents.git
git clone https://git.spip.net/spip-contrib-extensions/menus.git
git clone https://git.spip.net/spip-contrib-extensions/sociaux.git
git clone https://git.spip.net/spip-contrib-extensions/centre_image.git
git clone https://git.spip.net/spip-contrib-extensions/yaml.git
git clone https://git.spip.net/spip-contrib-extensions/court-circuit.git
git clone https://git.spip.net/spip/bigup.git
git clone https://git.spip.net/spip-contrib-extensions/rang.git
git clone https://git.spip.net/spip-contrib-extensions/champs_extras_core.git
git clone https://git.spip.net/spip-contrib-extensions/sommaire.git
git clone https://git.spip.net/spip-contrib-extensions/abomailmans.git
git clone https://git.spip.net/spip-contrib-extensions/formidable.git
git clone https://git.spip.net/spip-contrib-extensions/fulltext.git

3
squelettes/404.html Normal file
View File

@ -0,0 +1,3 @@
<BOUCLE_principale_article(ARTICLES){page=quatrecentquatre}>
<INCLURE{fond=structure,env,id_article,id_rubrique,id_secteur,type-page=article,composition=#COMPOSITION} />
</BOUCLE_principale_article>

View File

@ -6,7 +6,7 @@
</div>] </div>]
[(#REM) Articles dans la meme rubrique ] [(#REM) Articles dans la meme rubrique ]
<INCLURE{fond=inclure/liste/articles-resume,env,ajax,parpage=5} /> <INCLURE{fond=inclure/liste/articles-resume, env, ajax, parpage=5, debut_articlesdate=@#ID_ARTICLE, debut_articles=@#ID_ARTICLE} />
[(#PS|ou{#GET{plusdun}|=={oui}}|oui)</aside>] [(#PS|ou{#GET{plusdun}|=={oui}}|oui)</aside>]
</BOUCLE_article> </BOUCLE_article>

View File

@ -11,7 +11,18 @@
<aside> <aside>
[(#REM) Articles lies au mot-cle ] [(#REM) Articles lies au mot-cle ]
<INCLURE{fond=inclure/liste/articles-resume,env,ajax,id_mot,titre=<:baz_april:articles_lies:>} /> <B_articles>
<div class="liste articles">#ANCRE_PAGINATION
<h2 class="h2"><:baz_april:articles_lies:></h2>
<ul class="liste-items">
<BOUCLE_articles(ARTICLES){id_mot}{lang}{!par date}{pagination 10}>
<li class="item"><INCLURE{fond=inclure/resume/article, id_article, env, h=h3, expose=#EXPOSE} /></li>
</BOUCLE_articles>
</ul>
[<nav class="pagination" role="pagination">(#PAGINATION{page})</nav>]
</div>
</B_articles>
[(#REM) Rubriques liees au mot-cle ] [(#REM) Rubriques liees au mot-cle ]
<B_rubriques> <B_rubriques>

View File

@ -9,30 +9,8 @@
<div class="main"> <div class="main">
[<div class="#EDIT{texte} chapo">(#TEXTE|adaptive_images{#CONST{_CONTENT_WIDTH}})</div>] [<div class="#EDIT{texte} chapo">(#TEXTE|adaptive_images{#CONST{_CONTENT_WIDTH}})</div>]
#SET{'debut_mois', (#ENV{datetri}|baz_moisdecal{0,'Y-m-d'})} [(#REM) inclure en ajax la liste des articles]
#SET{'fin_mois', (#ENV{datetri}|baz_moisdecal{1,'Y-m-d'})} <INCLURE{fond=inclure/liste/articles-blog, env, ajax} />
<B_articlesdate>
<div class="liste articles blog">
[<h2 class="h2[ (#ENV{datetri}|oui)date]">(#ENV{datetri}|affdate{nom_mois})[(#ENV{datetri}|affdate{Y}|!={[(#VAL{Y}|date)]}|oui)[ (#ENV{datetri}|affdate{Y})]]</h2>]
<ul class="liste-items">
<BOUCLE_articlesdate(ARTICLES){si #ENV{datetri}|?{' '}}{date < #GET{fin_mois}}{date >= #GET{debut_mois}}{id_rubrique}{tri_rubrique}>
<li class="item clearfix">#INCLURE{fond=inclure/resume/article,id_article,env,composition=blog,h=h3,pagination=oui}</li>
</BOUCLE_articlesdate>
</ul>
</div>
</B_articlesdate>
<div class="liste articles blog">
[<h2 class="h2[ (#ENV{datetri}|oui)date]"><:baz_april:aucun_article_dans_cette_periode:> : (#ENV{datetri}|affdate{nom_mois})[(#ENV{datetri}|affdate{Y}|!={[(#VAL{Y}|date)]}|oui)[ (#ENV{datetri}|affdate{Y})]]</h2>]
<B_articles>#ANCRE_PAGINATION
<ul class="liste-items">
<BOUCLE_articles(ARTICLES){id_rubrique}{lang}{tri_rubrique}{pagination 10}>
<li class="item clearfix">#INCLURE{fond=inclure/resume/article,id_article,env,composition=blog,h=h3,pagination=oui}</li>
</BOUCLE_articles>
</ul>
[<div class="pagination">(#PAGINATION)</div>]
</B_articles>
</div>
<//B_articlesdate>
[(#REM) pour les sous-rubriques, on utilise le modele <rubriqueXX|rubriques> dans le texte si on veut] [(#REM) pour les sous-rubriques, on utilise le modele <rubriqueXX|rubriques> dans le texte si on veut]

View File

@ -0,0 +1,4 @@
[(#REM)
Ce bloc permet l'insertion de JS specifiques a une page
]

View File

@ -0,0 +1,26 @@
<BOUCLE_rubrique(RUBRIQUES){id_rubrique}>
#SET{'debut_mois', (#ENV{datetri}|baz_moisdecal{0,'Y-m-d'})}
#SET{'fin_mois', (#ENV{datetri}|baz_moisdecal{1,'Y-m-d'})}
<B_articlesdate>
<div class="liste articles blog">
[<h2 class="h2[ (#ENV{datetri}|oui)date]">(#ENV{datetri}|affdate{nom_mois})[(#ENV{datetri}|affdate{Y}|!={[(#VAL{Y}|date)]}|oui)[ (#ENV{datetri}|affdate{Y})]]</h2>]
<ul class="liste-items">
<BOUCLE_articlesdate(ARTICLES){si #ENV{datetri}|?{' '}}{date < #GET{fin_mois}}{date >= #GET{debut_mois}}{id_rubrique}{tri_rubrique}>
<li class="item clearfix">#INCLURE{fond=inclure/resume/article,id_article,env,composition=blog,h=h3,pagination=oui}</li>
</BOUCLE_articlesdate>
</ul>
</div>
</B_articlesdate>
<div class="liste articles blog">
[<h2 class="h2[ (#ENV{datetri}|oui)date]"><:baz_april:aucun_article_dans_cette_periode:> : (#ENV{datetri}|affdate{nom_mois})[(#ENV{datetri}|affdate{Y}|!={[(#VAL{Y}|date)]}|oui)[ (#ENV{datetri}|affdate{Y})]]</h2>]
<B_articles>#ANCRE_PAGINATION
<ul class="liste-items">
<BOUCLE_articles(ARTICLES){id_rubrique}{lang}{tri_rubrique}{pagination 10}>
<li class="item clearfix">#INCLURE{fond=inclure/resume/article,id_article,env,composition=blog,h=h3,pagination=oui}</li>
</BOUCLE_articles>
</ul>
[<nav class="pagination">(#PAGINATION)</nav>]
</B_articles>
</div>
<//B_articlesdate>
</BOUCLE_rubrique>

View File

@ -1,12 +1,12 @@
<B_articles> <B_articles>
<div class="liste_articles">#ANCRE_PAGINATION <div class="liste articles">#ANCRE_PAGINATION
[(#ENV{titre}|!={non}|oui)[<h2 class="h2">(#ENV{titre})</h2>]] [(#ENV{titre}|!={non}|oui)[<h2 class="h2">(#ENV{titre})</h2>]]
<ul class="liste-items[ (#ENV{liste_class})]"> <ul class="liste-items[ (#ENV{liste_class})]">
<BOUCLE_articles(ARTICLES){id_rubrique!=-1}{id_rubrique?}{id_secteur?}{id_mot?}{lang}{tri_rubrique}{! par date}{0,#ENV{nb,1001}}{pagination #ENV{parpage,10}}> <BOUCLE_articles(ARTICLES){id_rubrique!=-1}{id_rubrique?}{id_secteur?}{id_mot?}{lang}{tri_rubrique}{! par date}{0,#ENV{nb,1001}}{pagination #ENV{parpage,10}}>
<li class="item"><INCLURE{fond=inclure/resume/article, id_article, env, couper=#ENV{couper}, compteur=#COMPTEUR_BOUCLE, h=h3,pagination=oui,expose=#EXPOSE} /></li> <li class="item"><INCLURE{fond=inclure/resume/article, id_article, env, couper=#ENV{couper}, compteur=#COMPTEUR_BOUCLE, h=h3,pagination=oui,expose=#EXPOSE} /></li>
</BOUCLE_articles> </BOUCLE_articles>
</ul> </ul>
[<nav class="pagination" role="pagination">(#PAGINATION{page_precedent_suivant})</nav>] [<nav class="pagination" role="pagination">(#PAGINATION{page})</nav>]
[(#ENV{voirtous}|oui)#MODELE{bouton,lienobjet=#ENV{lienobjet}|sinon{rubrique},lienidobjet=#ENV{lienidobjet}|sinon{#ENV{id_rubrique}}|sinon{#ENV{id_secteur}},align=#ENV{align,right},class=voirtous #ENV{class},icone=#ENV{icone},texte=#ENV{voirtous}}] [(#ENV{voirtous}|oui)#MODELE{bouton,lienobjet=#ENV{lienobjet}|sinon{rubrique},lienidobjet=#ENV{lienidobjet}|sinon{#ENV{id_rubrique}}|sinon{#ENV{id_secteur}},align=#ENV{align,right},class=voirtous #ENV{class},icone=#ENV{icone},texte=#ENV{voirtous}}]
</div> </div>
</B_articles> </B_articles>

View File

@ -8,6 +8,6 @@
<li class="item clearfix"><INCLURE{fond=inclure/resume/rubrique,id_rubrique,recherche=#ENV{recherche},composition,env} /></li> <li class="item clearfix"><INCLURE{fond=inclure/resume/rubrique,id_rubrique,recherche=#ENV{recherche},composition,env} /></li>
</BOUCLE_rubriques> </BOUCLE_rubriques>
</ul> </ul>
[<div class="pagination">(#PAGINATION)</div>] [<nav class="pagination">(#PAGINATION)</nav>]
</div> </div>
</B_rubriques> </B_rubriques>

View File

@ -12,7 +12,7 @@
] ]
[(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|oui)</a>][(#LOGO_ARTICLE_NORMAL|oui)</div>] [(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|oui)</a>][(#LOGO_ARTICLE_NORMAL|oui)</div>]
<div class="article-resume__texte"> <div class="article-resume__texte">
<[(#ENV{h,h2})] class="article-resume__titre"><a href="[(#ENV{pagination}|=={oui}|oui)[(#URL_ARTICLE|parametre_url{debut_articles,@#ID_ARTICLE})]][(#ENV{pagination}|!={oui}|oui)#URL_ARTICLE]" class="[(#ENV{hero}|=={oui}|oui)[(#ENV{compteur}|=={1}|non)block-link]][(#ENV{hero}|=={oui}|non)block-link][ (#ENV{class_link})][ (#ENV{expose})]">#TITRE</a></[(#ENV{h,h2})]> <[(#ENV{h,h2})] class="article-resume__titre"><a href="#URL_ARTICLE" class="[(#ENV{hero}|=={oui}|oui)[(#ENV{compteur}|=={1}|non)block-link]][(#ENV{hero}|=={oui}|non)block-link][ (#ENV{class_link})][ (#ENV{expose})]">#TITRE</a></[(#ENV{h,h2})]>
[<p class="article-resume__soustitre">(#SOUSTITRE)</p>][(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|oui)[(#COMPOSITION|=={blog}|non) [<p class="article-resume__soustitre">(#SOUSTITRE)</p>][(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|oui)[(#COMPOSITION|=={blog}|non)
<a href="#URL_ARTICLE" class="btn[ (#ENV{class_link})][ (#EXPOSE)]"><:baz_april:lire:></a>]] <a href="#URL_ARTICLE" class="btn[ (#ENV{class_link})][ (#EXPOSE)]"><:baz_april:lire:></a>]]
[(#GET{date}|=={oui}|oui)<div class="article-resume__infos"> [(#GET{date}|=={oui}|oui)<div class="article-resume__infos">

View File

@ -1,36 +0,0 @@
<BOUCLE_articles(ARTICLES) {id_article}>#SET{date,non}#SET{intro,non}[
(#COMPOSITION|=={blog}|oui)#SET{date,oui}#SET{intro,oui}][
(#COMPOSITION|=={blog}|non)#SET{date,non}#SET{intro,non}][
(#ENV{date}|=={oui}|oui)#SET{date,oui}][
(#ENV{intro}|=={oui}|oui)#SET{intro,oui}]
<article class="article-resume[ article-resume--(#ENV{class})] block-link-parent[(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|oui) hero]">
[(#LOGO_ARTICLE_NORMAL|oui)<div class="article-resume__logo">][(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|oui)<a href="#URL_ARTICLE" title="#TITRE">]
[(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|oui)
[(#LOGO_ARTICLE_NORMAL|sinon{#CHEMIN{images/nologo.png}}|image_recadre{#CONST{_IMAGE_RATIO}, -, focus}|image_reduire{240})]
][(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|non)
[(#LOGO_ARTICLE_NORMAL|sinon{#CHEMIN{images/nologo.png}}|image_recadre{#CONST{_IMAGE_RATIO}, -, focus}|image_reduire{140})]
]
[(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|oui)</a>][(#LOGO_ARTICLE_NORMAL|oui)</div>]
<div class="article-resume__texte">
<[(#ENV{h,h2})] class="article-resume__titre"><a href="[(#ENV{pagination}|=={oui}|oui)[(#URL_ARTICLE|parametre_url{debut_articles,@#ID_ARTICLE})]][(#ENV{pagination}|!={oui}|oui)#URL_ARTICLE]" class="[(#ENV{hero}|=={oui}|oui)[(#ENV{compteur}|=={1}|non)block-link]][(#ENV{hero}|=={oui}|non)block-link][ (#ENV{class_link})][ (#ENV{expose})]">#TITRE</a></[(#ENV{h,h2})]>
[<p class="article-resume__soustitre">(#SOUSTITRE)</p>][(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|oui)[(#COMPOSITION|=={blog}|non)
<a href="#URL_ARTICLE" class="btn[ (#ENV{class_link})][ (#EXPOSE)]"><:baz_april:lire:></a>]]
[(#GET{date}|=={oui}|oui)<div class="article-resume__infos">
[<span class="article-resume__date">(#DATE|nom_jour|ucfirst) [(#DATE|affdate)]</span>]
</div>][(#GET{intro}|=={oui}|oui)
<div class="article-resume__intro">
[(#INTRODUCTION{#ENV{longueur,180}}|PtoBR)]
</div>][(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|ou{#COMPOSITION|=={blog}}|non|et{#ENV{lire}|=={oui}|oui})
<a href="#URL_ARTICLE" class="tp"><:baz_april:lire:></a>]
<BOUCLE_groupes(GROUPES_MOTS){si #ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|oui}{par titre}>
<B_tags>
<p class="mots">
#TITRE <BOUCLE_tags(MOTS){id_article}{id_groupe}>
<a href="#URL_MOT">#TITRE</a>
</BOUCLE_tags>
</p>
</B_tags>
</BOUCLE_groupes>
</div>
</article>
</BOUCLE_articles>

View File

@ -1,43 +1,43 @@
.page_footer { .page_footer {
padding:($spacer*1.5) 0; padding: ($spacer*1.5) 0;
color:white; color: white;
background-color:$couleurPrincipale; background-color: $couleurPrincipale;
p { p {
font-size:0.8rem; font-size: 0.8rem;
} }
a { a {
display:inline-block; display: inline-block;
margin:0 0.4em; margin: 0 0.4em;
border:0; border: 0;
color:white; color: white;
} }
.page_connexplus { .page_connexplus {
@include clearfix; @include clearfix;
padding-bottom:($spacer*1.5); padding-bottom: ($spacer*1.5);
a { a {
color:$grayDark; color: $grayDark;
} }
} }
.menus_footer { .menus_footer {
@include flex; @include flex;
justify-content: space-between; justify-content: space-between;
font-size:0.8em; font-size: 0.8em;
.menu-liste { .menu-liste {
flex-basis:18%; flex-basis: 18%;
margin:0 0 ($spacer*2); margin: 0 0 ($spacer*2);
list-style:none; list-style: none;
.h4 { .h4 {
margin:$spacer 0 0; margin: $spacer 0 0;
font-size:1.15em; font-size: 1.15em;
color:$white; color: $white;
} }
a { margin:0; } a { margin: 0; }
} }
} }
.formulaire_spip.formulaire_recherche { .formulaire_spip.formulaire_recherche {
max-width:100%; max-width: 100%;
margin-top:$spacer; margin-top: $spacer;
input.placeholder, input.placeholder,
textarea.placeholder { textarea.placeholder {
color: $couleurPrincipale; color: $couleurPrincipale;
@ -57,28 +57,28 @@
} }
} }
.april { // logo april .april { // logo april
float:right; float: right;
width:80px; width: 80px;
margin-left:($spacer*2); margin-left: ($spacer*2);
} }
.sociaux { .sociaux {
a { a {
display:inline-block; display: inline-block;
font-size:0.8em; font-size: 0.8em;
.socicon { .socicon {
background:transparent; background: transparent;
} }
.name { .name {
display:inline; display: inline;
@include visuallyhidden; @include visuallyhidden;
} }
} }
} }
.colophon { .colophon {
.menu-liste { .menu-liste {
display:inline; display: inline;
.menu-entree { .menu-entree {
display:inline; display: inline;
} }
} }
} }

View File

@ -31,6 +31,7 @@
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
flex-wrap: wrap;
.on { .on {
color: #FFF; color: #FFF;
background-color: $couleur-lien; background-color: $couleur-lien;
@ -51,19 +52,12 @@
color: #838383; color: #838383;
} }
@include media($bp-small) {
.pages .lien_pagination,
.pages .tbc {
display: none;
}
}
} }
.pagination_ancre { .pagination_ancre {
@include visuallyhidden; @include visuallyhidden;
padding:0 !important; padding: 0 !important;
margin:0 !important; margin: 0 !important;
} }
.col .prev, .col .prev,
@ -75,31 +69,31 @@
.pagination, .aside .nav .pagination { .pagination, .aside .nav .pagination {
margin: 2em 0; margin: 2em 0;
.pagination-items { .pagination-items {
display:flex; display: flex;
justify-content:center; justify-content: center;
flex-wrap:wrap; flex-wrap: wrap;
list-style:none; list-style: none;
} }
.pagination-item { .pagination-item {
padding:0; padding: 0;
background:none; background: none;
margin:0 0.15em 0.5em; margin: 0 0.15em 0.5em;
} }
.pagination-items a, .pagination-items span.on { .pagination-items a, .pagination-items span.on {
display:inline-block; display: inline-block;
text-decoration:none; text-decoration: none;
border:none; border: none;
padding:0.5em; padding: 0.5em;
@include vendor-prefix(border-radius,0.25em); @include vendor-prefix(border-radius,0.25em);
font-size:1em; font-size: 1em;
font-weight:700; font-weight: 700;
line-height:1.5; line-height: 1.5;
color:$couleur-lien; color: $couleur-lien;
} }
.pagination-items a:hover, .pagination-items span.on { .pagination-items a:hover, .pagination-items span.on {
background:$grayLighter !important; background: $grayLighter !important;
color:$couleur-lien-hover; color: $couleur-lien-hover;
text-decoration:none; text-decoration: none;
} }
.tbc { .tbc {
line-height: 2.4; line-height: 2.4;

View File

@ -24,7 +24,7 @@
padding:0; padding:0;
} }
li { li {
display:inline; display: inline;
line-height:1.2; line-height:1.2;
} }
a { a {
@ -38,7 +38,7 @@
font-weight:400; font-weight:400;
padding:0.5em; padding:0.5em;
margin:0.1rem 0.4rem; margin:0.1rem 0.4rem;
color:white; color: white;
border:0; border:0;
@include media($bp-medium) { @include media($bp-medium) {
padding:0.8rem; padding:0.8rem;
@ -65,27 +65,27 @@
top: 0px; top: 0px;
width: 100%; width: 100%;
height: 100%; height: 100%;
background:transparent; background: transparent;
z-index:8; z-index:8;
cursor:pointer; cursor: pointer;
&.cache { display:block;} &.cache { display: block;}
} }
// menu smart cf js/script.js // menu smart cf js/script.js
// ---------------------------------------- // ----------------------------------------
.btn-nav { .btn-nav {
position:absolute; position: absolute;
z-index:10; z-index:10;
right:$spacer; right:$spacer;
top:0; top:0;
padding:0.4rem; padding:0.4rem;
border:none; border:none;
background:$couleurPrincipale; background:$couleurPrincipale;
color:white; color: white;
font-size:0.9em; font-size:0.9em;
outline:none !important; outline: none !important;
display:none; display: none;
@media ($bp-medium) { @media ($bp-medium) {
display:block; display: block;
} }
&.actif { &.actif {
color:$couleurPrincipaleDowner; color:$couleurPrincipaleDowner;
@ -95,30 +95,30 @@
/* header = nav-principale */ /* header = nav-principale */
.page_header > .page_container { .page_header > .page_container {
.nav { .nav {
padding-top:($spacer/2); padding-top: ($spacer/2);
font-size:0.95rem; font-size:0.95rem;
@include media($bp-medium-up) { @include media($bp-medium-up) {
position:relative; position: relative;
} }
> ul { > ul {
text-align:right; text-align: right;
@include vendor-prefix(transition,all 0.3s ease-in-out); @include vendor-prefix(transition,all 0.3s ease-in-out);
@media ($bp-medium) { @media ($bp-medium) {
position:absolute; position: absolute;
background:$couleurPrincipale; background:$couleurPrincipale;
width:100%; width:100%;
top:36px; top:36px;
left:-100%; left:-100%;
padding:$spacer/2 $spacer; padding:$spacer/2 $spacer;
text-align:center; text-align: center;
z-index:10; z-index:10;
&.ouvert{ &.ouvert{
left:0; left:0;
} }
a { a {
color:white; color: white;
border:0; border:0;
display:block; display: block;
margin:0; margin:0;
padding:0.5rem; padding:0.5rem;
&:hover, &:focus, &.on { &:hover, &:focus, &.on {
@ -126,20 +126,20 @@
} }
} }
li { li {
display:block; display: block;
} }
.loupe { .loupe {
.fas { .fas {
color:white; color: white;
} }
.formulaire_recherche.vu { .formulaire_recherche.vu {
right:50%; right:50%;
margin-right:-160px; margin-right:-160px;
max-width:320px; max-width: 320px;
form { form {
padding:0.5rem; padding:0.5rem;
&:before { &:before {
display:none; display: none;
} }
} }
} }
@ -147,18 +147,18 @@
} }
.loupe { .loupe {
position:relative; position: relative;
display:inline-block !important; display: inline-block !important;
/* width: em(26px); */ /* width: em(26px); */
/* height: em(26px); */ /* height: em(26px); */
span { span {
@include visuallyhidden; @include visuallyhidden;
} }
a { a {
display:inline; display: inline;
padding:0; padding:0;
border:0; border:0;
background:none; background: none;
&:hover i.fa-search, &:focus i.fa-search { &:hover i.fa-search, &:focus i.fa-search {
background-color:$couleurSecondaire; background-color:$couleurSecondaire;
} }
@ -171,12 +171,12 @@
color:white; color:white;
} }
.formulaire_recherche { .formulaire_recherche {
position:absolute; position: absolute;
height:auto; height: auto;
width:em(350px); width: em(350px);
max-width:em(350px); max-width: em(350px);
top:-1000px; top:-1000px;
left:auto; left: auto;
right:0; right:0;
border-radius: $spacer/2; border-radius: $spacer/2;
z-index:2; z-index:2;
@ -205,7 +205,7 @@
.nav { .nav {
padding:0; padding:0;
li { li {
display:block; display: block;
} }
a { a {
width:100%; width:100%;
@ -245,22 +245,22 @@
color:white; color:white;
z-index:9; z-index:9;
.btn-initiatives { .btn-initiatives {
font-size:0.8rem; font-size: 0.8rem;
display:none; display: none;
padding:0.5rem; padding: 0.5rem;
margin-left:-$spacer; margin-left:-$spacer;
background:$couleurPrincipale; background:$couleurPrincipale;
color:white; color:white;
@media ($bp-medium) { @media ($bp-medium) {
display:block; display: block;
} }
} }
.nav { .nav {
font-size:0.8rem; font-size:0.8rem;
background:$couleurPrincipale; background:$couleurPrincipale;
@media ($bp-medium) { @media ($bp-medium) {
position:absolute; position: absolute;
width:100%; width: 100%;
top:36px; top:36px;
left:-100%; left:-100%;
@include vendor-prefix(transition,all 0.3s ease-in-out); @include vendor-prefix(transition,all 0.3s ease-in-out);
@ -268,7 +268,7 @@
left:0; left:0;
} }
ul, .initiatives { ul, .initiatives {
display:inline; display: inline;
} }
li { li {
margin:0; margin:0;
@ -287,7 +287,7 @@
float:right; float:right;
padding:0.5em; padding:0.5em;
@media ($bp-medium) { @media ($bp-medium) {
display:none; display: none;
} }
} }
.initiatives_april { .initiatives_april {
@ -295,20 +295,20 @@
} }
// un sous-menu dans initiatives : .menu-entree.sousinitiatives > .menu-items__lien.sousinitiatives // un sous-menu dans initiatives : .menu-entree.sousinitiatives > .menu-items__lien.sousinitiatives
.menu-entree.sousinitiatives { .menu-entree.sousinitiatives {
position:relative; position: relative;
> ul { > ul {
@include media($bp-medium-up) { @include media($bp-medium-up) {
position:absolute; position: absolute;
top:-999em; top:-999em;
left:0; left:0;
width:150px; width:150px;
&.ouvert { &.ouvert {
top:23px; top:23px;
li { li {
display:block; display: block;
background:$couleurPrincipale; background:$couleurPrincipale;
a { a {
display:block; display: block;
} }
} }
} }
@ -316,7 +316,7 @@
} }
@include media($bp-medium) { @include media($bp-medium) {
.menu-items__lien.sousinitiatives { .menu-items__lien.sousinitiatives {
display:none; display: none;
} }
} }
} }

View File

@ -272,7 +272,7 @@
@error "Direction must be either `top`, `right`, `bottom` or `left`."; @error "Direction must be either `top`, `right`, `bottom` or `left`.";
} }
display:block; display: block;
width: 0; width: 0;
height: 0; height: 0;
content: ''; content: '';

View File

@ -6,6 +6,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=#CHARSET" /> <meta http-equiv="Content-Type" content="text/html; charset=#CHARSET" />
<INCLURE{fond=head/#ENV{type-page},env}> <INCLURE{fond=head/#ENV{type-page},env}>
<INCLURE{fond=inclure/head}> <INCLURE{fond=inclure/head}>
<INCLURE{fond=head_js/#ENV{type-page},env}>
</head> </head>
<INCLURE{fond=body,env}> <INCLURE{fond=body,env}>
</html> </html>