Module:Date/Data/Documentation

From CryptoWiki

< Module:Date‎ | Data


Ce module est une base de données de langues destinée à être chargée par mw.loadData.

Syntaxe

data['<clé>'] = {
    qualificatif = '<qualificatif>',
    cat = '<catégorie>',
    jour = true,
    mois = {
        aucun = 9999,
        tous = { 9999, 9999 },
        seul = { 'Mois année', ... }
    },
    annee = {
        aucun = 9999,
        tous = { 9999, 9999 },
        seul = { 9999, ... }
    }
}
data['<alias>'] = data['<clé>']

Paramètres

  • <clé> - texte : qualificatif ou nom de catégorie de qualificatif.
  • <qualificatif> - texte qui sera utilisé pour tester si des pages dédiées existent. Exemple : en sport
  • <catégorie> - texte permettant de regrouper un ensemble de qualificatifs. L'élément ayant pour clé ce texte sera utilisé si aucune page n'existe pour le qualificatif. Exemple : sport
  • <alias> - texte : qualificatif automatiquement redirigé vers un autre qualificatif. Les alias doivent impérativement être placés après la clé vers laquelle ils renvoient.
  • jour = true - booléen : indique qu'il existe des éphémérides pour ce qualificatif (pour tous les jours de l'année). S'il n'y en a pas, utiliser la valeur false ou omettre ce paramètre.
  • mois - table contenant les années pour lesquelles il sera testé de lier une page mensuelle à ce qualificatif, type [[mois année qualificatif|mois]], par exemple [[juin 2010 en sport|juin]].
    • aucun - nombre : toutes les années inférieures ou égales à ce nombre ne seront pas testées, et aucun lien ne sera fait. Exemple : aucun = 2004
    • tous - table contenant deux nombres. Pour toutes les années de cet intervalle, un lien sera systématiquement fait. Exemple : { 2008, 2011 }
    • pour les années qui sont supérieures à aucun et qui ne sont pas dans l'intervalle tous, l'existence de la page sera testée par mw.title, l'équivalent de {{#ifexist: et cela sera dans le compteur de fonction couteuse
    • seul - table contenant une liste de dates (texte Mois année) inférieures à aucun pour lesquelles une page existe pour <qualificatif>. exemple : { 'Mai 1968' }
  • annee - table contenant les années pour lesquelles il sera testé de lier une page à ce qualificatif, type [[année qualificatif|année ]], par exemple [[1998 en sport|1998]]. Notez que le nom du paramètre n'a pas d'accent.
    • aucun et tous - similaire au paramètres de mois
    • seul - table contenant une liste d'années (nombre) inférieures à aucun pour lesquelles une page existe pour <qualificatif>. exemple : { 1836, 1875, 1882 }

Syntaxe générale

  • les nombres sont saisis sans séparateur de milliers
  • Les textes sont entourés de guillemets anglais simple ou double (au choix) et peuvent contenir l'autre type. Exemple : "en Côte d'Ivoire"
  • Les tables sont encadrées par des accolades, chaque paramètre est séparé par une virgule. Le dernier paramètre peut être suivi par une virgule.
  • les espaces et les différents sauts de ligne ne sont pas pris en compte. il ne servent qu'à la présentation.
  • des commentaires peuvent être ajoutés commençant par le signe moins « -- » et se terminant à la fin de la ligne (qui a cette fois de l'importance)

Exemples

data['sport'] = {                                   -- clé = catégorie
    qualificatif = 'en sport',                      -- qualificatif principal de la catégorie
    cat = 'sport',                                  -- cette catégorie doit être reprise pour tous les qualificatifs liés au sport.
    jour = true,                                    -- il y a des éphémérides « en sport »
    mois = { aucun = 2004, tous = {2005, 2012} },   -- il n'y a pas de pages mensuelles jusqu'en 2004 (inclu)
                                                    -- mais elles existent toutes de 2005 à 2012 (incul)
    annee = { aucun = 1849, tous = {1850, 2018} },  -- toutes les pages annuelles existent de 1849 à 2018
}                                                   -- fin de la table de la clé « sport »
data['en sport'] = data['sport']                    -- alias de l'élément précédent clé = qualificatif

data['en athlétisme'] = {                           -- clé = qualificatif
    qualificatif = 'en athlétisme', cat = 'sport',  -- cat = sport et pas de jour → utilisera les éphéméride « en sport »
                                                    -- pas de pages mensuelles, utilisera « en sport »
    annee = { aucun = 2000, tous = {2002, 2013} },  -- pour une date de l'année 2000, l'existance de la page [[2000 en athlétisme]] sera tesée
}                                                   -- fin de la table de la clé « athlétisme »

Philosophie de cette base

L'objectif de cette base est de permettre tous les liens vers les pages existantes tout en réduisant sensiblement les appels aux fonction couteuses.

  • Pour ne pas priver de liens de nouvelles pages, aucun doit être positionné de a une année qui a peu de chances de voir une page se créer dans les jours et semaines à venir
  • Pour réduire l'appel aux fonction couteuses, il ne faut pas mettre -500 partout. La vitalité d'un projet, l'état des pages déjà créées et leur date de création doivent guider le choix.
  • Les clés de catégorie risquant d'être plus appelées que les autres, il faut être particulièrement attentif à la plage qui risque d'être testée. Il suffira de les surveiller d'un peu plus près.
  • seul permet de lié quelques pages existantes sans trop étendre la plage testée s'il y a peu de chance que ces pages (créées il y a plusieurs années) aient des petites sœurs.
  • tous ne permet qu'une plage de date. s'il y en a plusieurs potentielles, choisir celle qui sera le plus souvent présente sur les pages visitées, en général la plage la plus récente.

Mise à jour : checkDataCat

Utilisation

Pour faciliter le repérage des pages qui aurait été créées, il y a la fonction checkDataCat

Cette fonction crée une (longue) liste de liens vers les pages annuelles et éventuellement mensuelles pour chaque qualificatif d'une catégorie. Il est alors facile de repérer les pages existantes (en bleu) au milieu des pages inexistantes (lien rouge)

La plage de date affichée dépend de la valeur de aucun. L'ordre des qualificatifs est indéterminé.

Des pages utilisant ce cette fonction ont été créées dans le projet Chronologie :

Syntaxe

{{#invoke:Date/Vérification Data|checkDataCat|catégorie}}

  • catégorie - nom d'une catégorie de la base. Laissé vide pour avoir les pages sans qualificatif. Utiliser la valeur « cat » pour avoir uniquement les clés de catégorie ;
  • une ou deux autres catégories peuvent être ajoutées en paramètre 2 et 3.

Redirection

Certaines pages sont des redirections, soit vers la page décennale du qualificatif, soit vers la page de l'année en question, sans qualificatif. Dans ce deuxième cas, les pages peuvent être ignorées puisque c'est le résultat par défaut.

Pour détecter facilement les pages qui sont des redirections, il est possible de les colorer de vert au lieu de bleu. Il suffit pour cela d'ajouter à votre commons.css le code suivant : <syntaxhighlight lang="css"> .mw-redirect {

   color: forestGreen;

} a.mw-redirect:visited {

   color: darkGreen;

} </syntaxhighlight>