Browse Source

Ajout d'un flux RSS des dernières publications (expérimental)

svn/root/tags/v3.6.0
joseph@larmarange.net 7 years ago
parent
commit
05d463cff5
9 changed files with 61 additions and 10 deletions
  1. +2
    -0
      .gitattributes
  2. +20
    -0
      biblio-rss.html
  3. +15
    -0
      contenu/zitem.html
  4. +8
    -0
      formulaires/configurer_zotspip.html
  5. +5
    -3
      inclure/zitem.html
  6. +4
    -0
      lang/zotspip_fr.php
  7. +2
    -2
      modeles/biblio.html
  8. +1
    -1
      paquet.xml
  9. +4
    -4
      prive/squelettes/contenu/zitems.html

+ 2
- 0
.gitattributes View File

@ -1,8 +1,10 @@
* text=auto !eol
action/zotspip_forcer_maj.php -text
base/zotspip.php -text
/biblio-rss.html -text
contenu/page-biblio.html -text
contenu/page-biblio.xml -text
contenu/zitem.html -text
csl/ama.csl -text
csl/apa.csl -text
csl/apsa.csl -text


+ 20
- 0
biblio-rss.html View File

@ -0,0 +1,20 @@
#CACHE{0}#HTTP_HEADER{Content-Type: text/xml; charset=#CHARSET}<B_RSS><?xml version="1.0" encoding="#CHARSET" ?>
<rss version="2.0" [(#REM) rss 2.0.9)]
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
>
<channel>
<title>[&#91;(#NOM_SITE_SPIP|texte_backend)&#93; <:zotspip:dernieres_publications:>]</title>
<link>[(#URL_PAGE{biblio}|url_absolue|texte_backend)]</link>
<language>[(#ENV{lang}|texte_backend)]</language>
<BOUCLE_RSS(ZITEMS){id_parent==0}{par date_ajout}{inverse}{0,50}{si #CONFIG{zotspip/flux_rss}}>
<item>
<title>[(#TITRE|texte_backend)]</title>
[(#CONFIG{zotspip/page_biblio}|oui)<link>[(#URL_PAGE{zitem,id=#ID_ZITEM}|url_absolue|texte_backend)]</link>]
<dc:format>text/html</dc:format>
<description>[(#MODELE{ref,id=#ID_ZITEM}|texte_backend)]</description>
<content:encoded>[(#INCLURE{fond=inclure/zitem,id_zitem,csl,details=complet,export=oui,nojs=on}|liens_absolus|texte_backend)]</content:encoded>
</item></BOUCLE_RSS>
</channel>
</rss>
</B_RSS>

+ 15
- 0
contenu/zitem.html View File

@ -0,0 +1,15 @@
<BOUCLE_zitem(ZITEMS){id_zitem=#ENV{id}}{si #CONFIG{zotspip/page_biblio}}>
[(#REM) Fil d'Ariane ]
<p id="hierarchie"><a href="#URL_SITE_SPIP/"><:accueil_site:></a> &gt; <a href="#URL_PAGE{biblio}"><:zotspip:titre_page_biblio:></a>[ &gt; <strong class="on">(#TITRE|couper{80})</strong>]</p>
<div class="contenu-principal">
<div class="cartouche">
[<p class="surtitre">(#ANNEE)</p>]
<h1 class="h1">#TITRE</h1>
[<p class="soustitre">(#AUTEURS)</p>]
</div>
</div>
#INCLURE{fond=inclure/zitem,id_zitem,csl,details=complet,export=oui,liens=oui,nojs=on}
</BOUCLE_zitem>

+ 8
- 0
formulaires/configurer_zotspip.html View File

@ -64,6 +64,14 @@
<label for="titre_page_biblio"><:zotspip:label_titre_page_biblio:></label>
<input type="text" name="titre_page_biblio" class="text" value="#ENV*{titre_page_biblio}" id="titre_page_biblio" [(#HTML5|oui)required='required']/>
</li>
<li class="editer_flux_rss[ (#ENV**{erreurs}|table_valeur{flux_rss}|oui)erreur]">
<label for='flux_rss'><:zotspip:label_flux_rss:></label>
<p class="explication"><:zotspip:explication_flux_rss:></p>
<select name="flux_rss" id="flux_rss">
<option value=""[(#ENV{flux_rss}|=={''}|oui)selected="selected"]><:item_non:></option>
<option value="on"[(#ENV{flux_rss}|=={on}|oui)selected="selected"]><:item_oui:></option>
</select>
</li>
<li class="editer_autoriser_modif_zotero[ (#ENV**{erreurs}|table_valeur{autoriser_modif_zotero}|oui)erreur]">
<label for='autoriser_modif_zotero'><:zotspip:label_autoriser_modif_zotero:></label>
<p class="explication"><:zotspip:explication_autoriser_modif_zotero:></p>


+ 5
- 3
inclure/zitem.html View File

@ -15,7 +15,7 @@
[(#FICHIER|non)[<a href="#URL">(#TITRE)</a>]]]
<abbr class="unapi-id" title="#ID_ZITEM"></abbr>
[(#ENV{details}|ou{#ENV{export}}|oui)
<div class="afficher_details" id="afficher_details_#ID_ZITEM" style="display:none;"><a href="javascript:void(0);" onClick="$('#details_#ID_ZITEM').toggle(400);"><:zotspip:afficher_masquer_details:></a></div>
[(#ENV{nojs}|non)<div class="afficher_details" id="afficher_details_#ID_ZITEM" style="display:none;"><a href="javascript:void(0);" onClick="$('#details_#ID_ZITEM').toggle(400);"><:zotspip:afficher_masquer_details:></a></div>]
<div class="details" id="details_#ID_ZITEM">]
[(#ENV{details}|oui)<div class="details">
[(#ENV{details}|=={complet}|non)
@ -42,10 +42,12 @@
[(#ENV{lien_voir}|oui)<div style="text-align:right;"><a href="[(#ID_ZITEM|voir_sur_zotero)]" target="_blank"><:zotspip:voir_sur_zotero:></a></div>]
[(#ENV{lien_modif}|oui)<div style="text-align:right;"><a href="[(#ID_ZITEM|modifier_sur_zotero)]" target="_blank"><:zotspip:modifier_en_ligne:></a></div>]
[(#ENV{liste}|?{</li>,</div>})]
<script type="text/javascript">// <![CDATA[
[(#ENV{nojs}|non)
<script type="text/javascript">
$(document).ready(function(){
$('#afficher_details_#ID_ZITEM').show();
$('#details_#ID_ZITEM').hide();
});
//]]></script>
</script>
]
</BOUCLE_zitem>

+ 4
- 0
lang/zotspip_fr.php View File

@ -26,6 +26,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'createurs' => 'Auteur(s)',
// D
'dernieres_publications' => 'Dernières publications',
'description_page-biblio' => 'Recherche et affichage des références bibliographiques de la librairie Zotero synchronisée avec ZotSpip.',
'deselectionner_tout' => 'Déselectionner tout',
'droits_insuffisants' => 'Vous n’avez pas les droits requis pour procéder à cette modification.',
@ -39,6 +40,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'explication_autoriser_modif_zotero' => 'Activer les options de modification de la librairie Zotero (par exemple, la fusion d’auteurs) ? Si oui, qui a les droits suffisants pour valider ces modifications ? ATTENTION : vous devez également vérifier que vote <em>Clé API</em> a les droits en écriture.',
'explication_corriger_date' => 'Zotero transmets les dates de publication telles qu’elles ont été saisies. Dès lors, le processeur CSL n’est pas toujours en capacité de décomposer correctement ces dernières en raison de la grande variété de formats différents. Si tel est le cas, la date de publication ne sera pas affichée une fois les références mises en forme. ZotSpip peut corriger en amont les dates de publications. Attention : seule l’année sera alors transmise au processeur CSL, sauf si la date est de la forme aaaa-mm-jj ou aaaa-mm. Cette option n’a par contre aucune répercussion sur la librairie Zotero elle-même.',
'explication_depuis' => 'Soit une année (par exemple : <em>2009</em>), soit une durée en année suivie du mot français <em>ans</em> (par exemple : <em>3ans</em>) ou du mot anglais <em>years</em> (par exemple : <em>3years</em>).',
'explication_flux_rss' => 'Accessible à l\'adresse <em>spip.php?page=biblio-rss</em>, ce flux RSS présente les 50 derniers ajouts à la base bibliographique.',
'explication_id_librairie' => 'Pour une librairie personnelle, le <em>userID</em> est indiqué sur la <a href="https://www.zotero.org/settings/keys">page Zotero de gestion des clés personnelles</a>. Pour un groupe, le <em>groupID</em> se trouve dans l’URL de configuration du groupe qui est de la forme <em>https://www.zotero.org/groups/&lt;groupID&gt;/settings</em>.',
'explication_maj_zotspip' => 'ZotSpip se synchronise à intervalles réguliers (environ toutes les 4 heures) avec le serveur Zotero. Seules les dernières modifications (depuis la dernière synchronisation) sont prises en compte. Au besoin, vous pouvez forcer une mise à jour complète de la base de données, toutes les références étant alors téléchargées à nouveau (si votre librairie est importante, cette synchronisation se fera en plusieurs étapes, seulement 50 références pouvant être mises à jour à la fois).',
'explication_ordre_types' => 'Vous pouvez personnaliser l’ordre utilisé pour les tris par type de référence (changez l’ordre par glisser/déposer).',
@ -74,6 +76,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'item_type_annee' => 'par type puis par année',
'item_type_librairie_group' => 'groupe',
'item_type_librairie_user' => 'utilisateur',
'item_updated' => 'par date de mise à jour',
'item_volume' => 'par numéro de volume',
'item_webmestre' => 'seulement les webmestres',
'items_zotero' => 'Références Zotero',
@ -92,6 +95,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'label_details' => 'Détails',
'label_editeur' => 'Maison d’édition',
'label_export' => 'Afficher les options d’exportation ?',
'label_flux_rss' => 'Activer le flux RSS ?',
'label_id_librairie' => 'Identifiant de la librairie',
'label_identifiants_zotero' => 'Identifiants Zotero',
'label_liens' => 'Afficher les liens ?',


+ 2
- 2
modeles/biblio.html View File

@ -18,7 +18,7 @@
<form method="get" action="spip.php" target="_blank">
<input type="hidden" name="page" value="zotspip_unapi">]
<ul class="spip">
<BOUCLE_biblio_type(ZITEMS spip_zitems_zcollections spip_zcollections){id_parent==0}{auteur?}{type_ref?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{spip_zcollections.zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{par_type_zotero}{pagination #ENV{max,50}}>
<BOUCLE_biblio_type(ZITEMS spip_zitems_zcollections spip_zcollections){id_parent==0}{id_zitem?}{auteur?}{type_ref?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{spip_zcollections.zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{par_type_zotero}{pagination #ENV{max,50}}>
#INCLURE{fond=inclure/zitem,id_zitem,csl,liste=oui,icones=oui,details=#GET{details},export=#GET{export},liens=#GET{liens},souligne=#GET{souligne},form_export=#GET{export}}
</BOUCLE_biblio_type>
</ul>
@ -34,7 +34,7 @@
<form method="get" action="spip.php" target="_blank">
<input type="hidden" name="page" value="zotspip_unapi">]
<ul class="spip">
<BOUCLE_biblio(ZITEMS spip_zitems_zcollections spip_zcollections){id_parent==0}{auteur?}{type_ref?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{spip_zcollections.zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{0,#ENV{max,100000}}{tri #ENV{tri,auteurs},#GET{defaut_tri}}{pagination #ENV{max,50}}>
<BOUCLE_biblio(ZITEMS spip_zitems_zcollections spip_zcollections){id_parent==0}{id_zitem?}{auteur?}{type_ref?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{spip_zcollections.zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{0,#ENV{max,100000}}{tri #ENV{tri,auteurs},#GET{defaut_tri}}{pagination #ENV{max,50}}>
#INCLURE{fond=inclure/zitem,id_zitem,csl,liste=oui,icones=oui,details=#GET{details},export=#GET{export},liens=#GET{liens},souligne=#GET{souligne},form_export=#GET{export}}
</BOUCLE_biblio>
</ul>


+ 1
- 1
paquet.xml View File

@ -1,7 +1,7 @@
<paquet
prefix="zotspip"
categorie="edition"
version="3.1.1"
version="3.2.0"
etat="stable"
compatibilite="[3.0.0;3.0.*]"
logo="prive/themes/spip/images/zotspip-48.png"


+ 4
- 4
prive/squelettes/contenu/zitems.html View File

@ -3,15 +3,15 @@
auteurs,1,
annee,-1,
type_ref,1,
volume,-1,
numero,-1
date_ajout,-1,
updated,-1
}})]
<B_biblio>
<p class="pagination">[(#TRI{auteurs,<:zotspip:item_premier_auteur:>})] | [(#TRI{annee,<:zotspip:item_annee:>})] | [(#TRI{type_ref,<:zotspip:item_type:>})] | [(#TRI{volume,<:zotspip:item_volume:>})] | [(#TRI{numero,<:zotspip:item_numero:>})]</p>
<p class="pagination">[(#TRI{auteurs,<:zotspip:item_premier_auteur:>})] | [(#TRI{annee,<:zotspip:item_annee:>})] | [(#TRI{type_ref,<:zotspip:item_type:>})]<br />[(#TRI{date_ajout,<:zotspip:item_date_ajout:>})] | [(#TRI{updated,<:zotspip:item_updated:>})]</p>
<div class="liste">
<ul class="liste-items">
<BOUCLE_biblio(ZITEMS spip_zitems_zcollections spip_zcollections){id_parent==0}{auteur?}{type_ref?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{spip_zcollections.zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{0,#ENV{max,100000}}{tri #ENV{par,auteurs},#GET{defaut_tri}}{pagination 25}>
<BOUCLE_biblio(ZITEMS spip_zitems_zcollections spip_zcollections){id_parent==0}{auteur?}{type_ref?}{annee?}{publication?}{conference?}{editeur?}{collection?}{type_doc?}{tag?}{spip_zcollections.zcollection?}{json LIKE %#ENV{recherche}%}{zotsip_depuis}{0,#ENV{max,100000}}{tri #ENV{par,updated},#GET{defaut_tri}}{pagination 25}>
<li class="item"><p><ul>#INCLURE{fond=inclure/zitem,id_zitem,liste=oui,icones=oui,details=complet,export=oui,liens=oui,souligne=#ENV{auteur},lien_voir=oui,afficher_id=oui}</ul></p></li>
</BOUCLE_biblio>
</ul></div>


Loading…
Cancel
Save