LEFT | RIGHT |
1 {# | 1 {# |
2 # This file is part of website-defaults | 2 # This file is part of website-defaults |
3 # Copyright (C) 2016-2017 eyeo GmbH | 3 # Copyright (C) 2016-2017 eyeo GmbH |
4 # | 4 # |
5 # website-defaults is free software: you can redistribute it and/or | 5 # website-defaults is free software: you can redistribute it and/or |
6 # modify it under the terms of the GNU General Public License as published by | 6 # modify it under the terms of the GNU General Public License as published by |
7 # the Free Software Foundation, either version 3 of the License, or | 7 # the Free Software Foundation, either version 3 of the License, or |
8 # (at your option) any later version. | 8 # (at your option) any later version. |
9 # | 9 # |
10 # website-defaults is distributed in the hope that it will be useful, | 10 # website-defaults is distributed in the hope that it will be useful, |
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 # GNU General Public License for more details. | 13 # GNU General Public License for more details. |
14 # | 14 # |
15 # You should have received a copy of the GNU General Public License | 15 # You should have received a copy of the GNU General Public License |
16 # along with website-defaults. If not, see <http://www.gnu.org/licenses/>. | 16 # along with website-defaults. If not, see <http://www.gnu.org/licenses/>. |
17 #} | 17 #} |
18 | 18 |
19 {# open graph #} | 19 {% macro meta_tag(property, content, defaultContent=None) -%} |
| 20 {% if content %} |
| 21 <meta property="{{ property }}" content="{{ content }}"> |
| 22 {% elif defaultContent %} |
| 23 <meta property="{{ property }}" content="{{ defaultContent }}"> |
| 24 {% endif %} |
| 25 {%- endmacro %} |
20 | 26 |
21 {% if og_url %} | 27 {% set social_media_meta = [ |
22 <meta property="og:url" content="{{ og_url }}"> | 28 ('og:url', og_url, get_canonical_url(page)), |
23 {% else %} | 29 ('og:type', og_type, 'website'), |
24 <meta property="og:url" content="{{ get_canonical_url(page) }}"> | 30 ('og:site_name', og_site_name, get_string('site-name', 'global') if has_string
('site-name', 'global') else None), |
25 {% endif %} | 31 ('og:title', og_title, title | translate('page-title', 'Meta data') if title e
lse None), |
| 32 ('og:description', og_description, description | translate('page-description',
'Meta data') if description else None), |
| 33 ('og:image', og_image, image), |
| 34 ('og:image:alt', og_image_alt, image_alt), |
| 35 ('og:locale', og_locale, locale | to_og_locale), |
| 36 ('fb:app_id', facebook_id, None), |
| 37 ('twitter:site', twitter_site, '@eyeo'), |
| 38 ('twitter:card', twitter_card, 'summary_large_image' if og_image or twitter_im
age or image else 'summary'), |
| 39 ('twitter:image', twitter_image, None), |
| 40 ('twitter:image:alt', twitter_image_alt, None), |
| 41 ('p:domain_verify', pinterest_id, None), |
| 42 ] %} |
26 | 43 |
27 {% if og_type %} | 44 {% for property, content, defaultContent in social_media_meta %} |
28 <meta property="og:type" content="{{ og_type }}"> | 45 {{ meta_tag(property, content, defaultContent) }} |
29 {% else %} | 46 {% endfor %} |
30 <meta property="og:type" content="website"> | |
31 {% endif %} | |
32 | 47 |
33 {% if og_site_name %} | 48 {% for alternate_locale in available_locales %} |
34 <meta property="og:site_name" content="{{ og_site_name }}"> | |
35 {% elif has_string("site-name", "global") %} | |
36 <meta property="og:site_name" content="{{ get_string("site-name", "global") }}
"> | |
37 {% endif %} | |
38 | |
39 {% if og_title %} | |
40 <meta property="og:title" content="{{ og_title }}"> | |
41 {% elif title %} | |
42 <meta property="og:title" content="{{ title }}"> | |
43 {% endif %} | |
44 | |
45 {% if og_description %} | |
46 <meta property="og:description" content="{{ og_description }}"> | |
47 {% elif description %} | |
48 <meta property="og:description" content="{{ description }}"> | |
49 {% endif %} | |
50 | |
51 {% if og_image %} | |
52 <meta property="og:image" content="{{ og_image }}"> | |
53 {% elif image %} | |
54 <meta property="og:image" content="{{ image }}"> | |
55 {% endif %} | |
56 | |
57 <meta property="og:locale" content="{{ locale | tooglocale }}"> | |
58 | |
59 {% for alternate_locale in locales %} | |
60 {% if alternate_locale != locale %} | 49 {% if alternate_locale != locale %} |
61 <meta property="og:locale:alternate" content="{{ alternate_locale | toogloca
le }}"> | 50 {{ meta_tag(('og:locale:alternate', alternate_locale | to_og_locale)) }} |
62 {% endif %} | 51 {% endif %} |
63 {% endfor %} | 52 {% endfor %} |
64 | |
65 {# facebook #} | |
66 | |
67 {% if facebook_id %} | |
68 <meta property="fb:app_id" content="{{ facebook_id }}"> | |
69 {% endif %} | |
70 | |
71 {# twitter #} | |
72 | |
73 {% if twitter_site %} | |
74 <meta name="twitter:site" content="@{{ twitter_site }}"> | |
75 {% else %} | |
76 <meta name="twitter:site" content="@eyeo"> | |
77 {% endif %} | |
78 | |
79 {% if twitter_card %} | |
80 <meta name="twitter:card" content="{{ twitter_card }}"> | |
81 {% elif og_image or image %} | |
82 <meta name="twitter:card" content="summary_large_image"> | |
83 {% else %} | |
84 <meta name="twitter:card" content="summary"> | |
85 {% endif %} | |
86 | |
87 {% if twitter_image_alt %} | |
88 <meta name="twitter:image:alt" content="{{ twitter_image_alt }}"> | |
89 {% elif image_alt %} | |
90 <meta name="twitter:image:alt" content="{{ image_alt }}"> | |
91 {% endif %} | |
92 | |
93 {# pinterest #} | |
94 | |
95 {% if pinterest_id %} | |
96 <meta name="p:domain_verify" content="{{ pinterest_id }}"> | |
97 {% endif %} | |
LEFT | RIGHT |