source: spip-zone/_plugins_/metasplus/trunk/inclure/metasplus/dist.html @ 113601

Last change on this file since 113601 was 113601, checked in by tcharlss@…, 4 months ago

Utiliser #URl_SITE_SPIP sur la page d'accueil

  • Property svn:eol-style set to native
File size: 6.4 KB
Line 
1[(#REM)
2
3        Pour déboguer sur spip.php?page=inclure/metasplus/dist :
4        - var_mode=debug pour le débug normal (sql, etc.)
5        - debug=oui pour avoir un simple retour texte
6
7][(#ENV{var_mode}|=={debug}|?{#HTTP_HEADER{Content-Type:text/html},#ENV{debug}|?{#HTTP_HEADER{Content-Type:text/plain}}})]
8[(#REM)
9
10        Métas+ : ce squelette génère les métas pour Dublin Core, Open Graph et Twitter.
11
12        Il s'agit du squelette par défaut inclus automatiquement dans le <head>, il tente de générer au mieux les informations des pages.
13
14        On peut lui transmettre certaines valeurs à prendre en priorité par rapport à la récupération automatique.
15
16        Il est possible de créer des variantes pour des pages précises : inclure/metasplus/{page}.html
17        Plusieurs possibilités pour le contenu des variantes :
18        - vide = pas de métas (voir aussi la constante _METASPLUS_PAGES_EXCLUES)
19        - inclure ce squelette en ne transmettant *que* les paramètres à modifier
20        - inclure inc-dist.html en transmettant *tous* les paramètres
21        - tout faire à la main
22
23        Précisions :
24                - Sur une page d'objet, on met og-type = article par défaut
25                - Sur une page lambda, on omet volontairement le titre et la description puisqu'on ne les connait pas, twitter et facebook se rabattent sur les metas <title> et <description>.
26
27        Format des logos : https://goo.gl/L4StmD
28                - Twitter  : taille min 440 x 220
29                             taille recommandée 506 x 253
30                             taille max 1024 x 512
31                             poids max 5 Mo
32                             ratio 2:1
33                - Facebook : pas de taille min
34                             taille recommandée > 600 x 315 ou 1200 x 630 (hidpi)
35                             poids max 8 Mo
36                             ratio 1.91:1
37
38        Contexte :
39                - type-page
40                - objet
41                - id_objet
42                - id_patate
43
44        Paramètres :
45                - debug :      'Oui' quand on débogue le squelette
46                               spip.php?page=inclure/metasplus/dist&objet=truc&id_objet=N&debug=oui
47                - titre :      Titre de la ressource
48                - desc :       Description
49                - langue :     Langue au format iso. ex. fr
50                - territoire : Complète la langue pour former le duet langue_territoire, ex. UK
51                                     Si rien n'est renseigné, on tente un lang_LANG
52                - date :       Date de publication au format Y-m-d
53                - maj :        Date de mise à jour au format Y-m-d
54                - url :        URL de la ressource
55                - auteurs :    Soit un tableau linéaires
56                               Soit des auteurs séparés par des virgules
57                - logos :      Soit un tableau de tableaux associatifs avec URL et alt
58                               #LISTE{#ARRAY{url,...,alt...},#ARRAY{url,...,alt...}}
59                               Soit des URLs séparées par des virgules
60                - mots :       Soit un tableau linéaire
61                               Soit des mots-clés séparés par des virgules
62                - og-type :    (open graph) Type de la ressource : article, profile, book, etc.
63                - dc-type :    (dublin core) Type de la ressource : Text, Event, PhysicalObject, etc.
64
65        Paramètres dépréciés :
66                - auteur => auteurs
67                - logo => logos
68                - lang => langue
69]
70
71[(#REM)
72
73        =======================================
74        1. Récupération automatique des valeurs
75        =======================================
76
77]
78
79[(#REM)
80
81        Cas 1 : Page d'un objet éditorial
82
83]
84<BOUCLE_objet(CONDITION) {si #ENV{objet}|et{#ENV{id_objet}}}>
85#SET{og-type_auto,    article}
86#SET{dc-type_auto,    Text}
87#SET{titre_auto,      #INFO_TITRE{#ENV{objet},#ENV{id_objet}}|concat{" – ",#NOM_SITE_SPIP}}
88#SET{desc_auto,       #INFO_INTRODUCTION{#ENV{objet},#ENV{id_objet}}
89        |sinon{#INFO_DESCRIPTIF{#ENV{objet},#ENV{id_objet}}}
90        |sinon{#INFO_TEXTE{#ENV{objet},#ENV{id_objet}}}}
91#SET{url_auto,        #INFO_URL{#ENV{objet},#ENV{id_objet}}}
92#SET{date_auto,       #INFO_DATE{#ENV{objet},#ENV{id_objet}}}
93#SET{maj_auto,        #INFO_MAJ{#ENV{objet},#ENV{id_objet}}}
94#SET{langue_auto,     #INFO_LANG{#ENV{objet},#ENV{id_objet}}|sinon{#LANG}}
95#SET{territoire_auto, ''}
96
97[(#REM) Les auteurs ]
98#SET{auteurs_auto,#ARRAY}
99<BOUCLE_auteurs_objet(AUTEURS)
100        {objet}
101        {id_objet}
102        {par nom}
103        {si #ENV{auteurs}|non}
104        {si #EVAL{_METASPLUS_MASQUER_AUTEURS}|!={oui}}
105>
106#SET{auteurs_auto, #GET{auteurs_auto}|push{#NOM}}
107</BOUCLE_auteurs_objet>
108#SET{auteurs_auto, #GET{auteurs_auto}|push{#NOM_SITE_SPIP}}
109<//B_auteurs_objet>
110
111[(#REM) Les mots-clés ]
112#SET{mots_auto,#ARRAY}
113<BOUCLE_mots_objet(MOTS)
114        {objet}
115        {id_objet}
116        {par titre}
117        {si #ENV{mots}|non}
118>
119#SET{mots_auto, #GET{mots_auto}|push{#TITRE}}
120</BOUCLE_mots_objet>
121
122[(#REM) Les images : logo de l'objet puis images liées ]
123<BOUCLE_logo_objet(CONDITION){si #ENV{logos}|non}>
124#SET{logo_objet, #ENV{id_objet}|quete_logo_objet{#ENV{objet},on}}
125#SET{logos_auto, #GET{logo_objet}|?{#LISTE{#ARRAY{url,#GET{logo_objet/chemin}}},#ARRAY}}
126#SET{par,#SPIP_VERSION|floatval|>{3.1}|?{rang_lien,largeur}}
127#SET{defaut_tri,#ARRAY{
128        rang_lien, 1,
129        largeur, -1,
130}}
131<BOUCLE_images_objet(DOCUMENTS)
132        {objet}
133        {id_objet}
134        {media = image}
135        {!extension = svg}
136        {!fichier = #GET{logos_auto/0/url}|replace{#VAL{_NOM_PERMANENTS_ACCESSIBLES}|constant}|replace{'\.\./'}}
137        {tri #GET{par}, #GET{defaut_tri}}
138        {0,#GET{logos_auto}|?{2,3}}
139        {!par largeur}
140        {tout}
141>
142#SET{logos_auto, #GET{logos_auto}|push{#ARRAY{
143        url, #FICHIER,
144        alt, #TITRE|sinon{#DESCRIPTIF}|couper{80},
145}}}
146</BOUCLE_images_objet>
147</BOUCLE_logo_objet>
148</BOUCLE_objet>
149
150
151[(#REM)
152
153        Cas 2 : Page lambda
154
155]
156#SET{og-type_auto,    website}
157#SET{dc-type_auto,    Text}
158#SET{titre_auto,      ''}
159#SET{desc_auto,       ''}
160#SET{url_auto,        #ENV{type-page,sommaire}|=={sommaire}|?{#URL_SITE_SPIP,#URL_PAGE{#ENV{type-page}}}}
161#SET{date_auto,       #DATE}
162#SET{maj_auto,        ''}
163#SET{langue_auto,     #LANG}
164#SET{territoire_auto, ''}
165#SET{auteurs_auto,    ''}
166#SET{mots_auto,       ''}
167<//B_objet>
168
169[(#REM)
170
171        Cas 1 et 2 : compléments
172        Pas de logo ? On prend celui configuré par défaut, sinon celui du site
173
174]
175[(#ENV{logos}|non|et{#GET{logos_auto}|non}|oui)
176#SET{logos_auto,#INFO_FICHIER{document,#CONFIG{metasplus/id_doc_logo}}|sinon{#LOGO_SITE_SPIP|extraire_attribut{src}|supprimer_timestamp}}
177]
178
179
180[(#REM)
181
182        ====================
183        2. Code des metas
184        ====================
185
186]
187<INCLURE{fond=inclure/metasplus/inc-dist,
188        titre=#ENV{titre,#GET{titre_auto}},
189        desc=#ENV{desc,#GET{desc_auto}},
190        url=#ENV{url,#GET{url_auto}},
191        date=#ENV{date,#GET{date_auto}},
192        maj=#ENV{maj,#GET{maj_auto}},
193        langue=#ENV{langue,#GET{langue_auto}},
194        territoire=#ENV{territoire,#GET{territoire_auto}},
195        og-type=#ENV{og-type,#GET{og-type_auto}},
196        dc-type=#ENV{dc-type,#GET{dc-type_auto}},
197        logos=#ENV{logos,#GET{logos_auto}},
198        auteurs=#ENV{auteurs,#GET{auteurs_auto}},
199        mots=#ENV{mots,#GET{mots_auto}}
200}/>
201
202#FILTRE{trim}
Note: See TracBrowser for help on using the repository browser.