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

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

v2.0.15 : ajout d'un bouton dans la boite infos afin de permettre aux admins de prévisualiser les métas+. Pour l'instant il y a un petit bug : les URLs pointent vers le privé, on met un message de mise en garde temporaire le temps d'y remédier. On en profite pour faire un peu de rangement : l'identification du contexte et la sélection du fond sont dans des fonctions à part.

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