Skip to content

Commit

Permalink
Ajoute des champs DCMI aux pages des contenus - Rends le site compati…
Browse files Browse the repository at this point in the history
…ble avec Zotero (#4392)

* Ajoute des champs DCMI aux pages des contenus (#4261)

* Corrige le commit précédent pour les champs DCMI (#4392)

* Corrige le commit précédent pour les champs DCMI (#4392)

* Corrige le commit précédent pour les champs DCMI (#4392)

* Remplace les guillemets simples par des guillemets doubles

* Ajoute la documentation du tag 'joinby'

* N'affiche que les auteurs de la version courante

* Corrige une variable dans le template
  • Loading branch information
rezemika authored and pierre-24 committed Aug 4, 2017
1 parent fcf26ba commit a7ef93e
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 3 deletions.
19 changes: 18 additions & 1 deletion doc/source/front-end/template-tags.rst
Original file line number Diff line number Diff line change
Expand Up @@ -540,7 +540,7 @@ Exemple :
</option>
{% endfor %}

le module ``url_category``
Le module ``url_category``
==========================

Ce module défini un *templatetag* permetant d'accéder à l'url des listes de tutoriels et articles filtrés par tag. Il est employé pour l'affichage des *tags* des tutoriels et articles.
Expand Down Expand Up @@ -589,3 +589,20 @@ Exemple :
{% if search_result.text %}
{% highlight search_result "text" %}
{% endif %}

Le module ``joinby``
===========================

Ce module permet de lister le contenu d'un itérable en une seule ligne. C'est un équivalent un peu plus flexible de la fonction ``str.join`` en Python. Le séparateur peut être modifié et une option permet d'utiliser le même séparateur pour le dernier élément. Par défaut, le mot "et" est utilisé pour précéder le dernier élément.

Exemple :

.. sourcecode:: html

{% joinby fruits %}
{% joinby fruits ';' same_final_separator=True %}

.. sourcecode:: text

Clémentine, Orange et Citron
Clémentine;Orange;Citron
6 changes: 5 additions & 1 deletion templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,10 @@
<meta property="twitter:image" content="http://{{ meta_image }}">


{# DCMI cards #}
{% block DCMI_cards %}{% endblock %}


{# Stylesheets #}
<link rel="stylesheet" href="{% static "css/main.css" %}">
{% if not debug %}
Expand Down Expand Up @@ -721,7 +725,7 @@ <h2 class="subtitle" {% if schema %}itemprop="description"{% endif %}>{{ headlin
{% endif %}
{% if app.site.social.googleplus %}
<li><a href="{{app.site.social.googleplus}}" title="Retrouvez-nous sur Google+" class="btn ico-after google-plus light btn-google-plus btn-holder"></a></li>
{% endif %}
{% endif %}
</ul>

<ul class="links">
Expand Down
17 changes: 16 additions & 1 deletion templates/tutorialv2/view/content_online.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,28 @@
{% load interventions %}
{% load pluralize_fr %}
{% load displayable_authors %}
{% load joinby %}


{% block title %}
{{ content.title }}
{% endblock %}


{% block DCMI_cards %}
<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
<meta name="DC.publisher" lang="fr" content="{{ app.site.litteral_name }}" />
<meta name="DC.creator" content="{% joinby publishablecontent|displayable_authors:True %}" />
<meta name="DC.type" content="text" />
<meta name="DC.title" content="{{ content.title }}" />
<meta name="DC.abstract" content="{{ content.type.title }} : {{ content.title }}{% if content.description %} – {{ content.description }}{% endif %}" />
<meta name="DC.subject" lang="fr" content="{% joinby content.subcategory.all %}{% if content.tags.all %} – {% joinby content.tags.all separator=' ; ' same_final_separator=True %}{% endif %}" />
{% if content.description %}<meta name="DC.description" lang="fr" content="{{ content.description }}" />{% endif %}
<meta name="DC.date" content="{% if content.pubdate %}{{ content.pubdate|date:'Y/m/d' }}{% else %}{{ content.update_date|date:'Y/m/d' }}{% endif %}" />
<meta name="DC.format" content="text/html" />
{% if content.source %}<meta name="DC.source" content="{{ content.source }}" />{% endif %}
<meta name="DC.language" content="fr" />
<meta name="DC.rights" content="{{ content.licence }}" />
{% endblock %}

{% block description %}
{{ content.description }}
Expand Down
28 changes: 28 additions & 0 deletions zds/utils/templatetags/joinby.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# coding: utf-8

from django import template
from django.utils.translation import ugettext_lazy as _

register = template.Library()


@register.simple_tag
def joinby(values, separator=', ', same_final_separator=False):
"""
Returns a human readable list (of type string) of values separated
by a string definable with 'separator' (commas default, excepted
the last preceded by "et") from an iterable.
Set 'same_final_separator' to True to make the last also preceded
by the same separator.
"""
if not values:
return ''
if len(values) == 1:
return str(values[0])
if same_final_separator:
final_sep = separator
else:
final_sep = _(' et ')
return separator.join(map(str, values[:len(values) - 1])) + (
final_sep + str(values.last())
)

0 comments on commit a7ef93e

Please sign in to comment.