Module:Bases/bande dessinée

Cette page fait l’objet d’une mesure de semi-protection étendue.
Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 24 décembre 2017 à 01:48 et modifiée en dernier par Thierry Caro (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

 Documentation[voir] [modifier] [historique] [purger]

Ce module sert fournir la liste des bases au module {{Bases bande dessinée}}.

Utilisation

Les différentes informations à renseigner sont visibles dans le tableau sur la page Modèle:Bases bande dessinée#Utilisation, en particulier pour l'édition des colonnes Libellé et URL.

{{nom, langue du nom}, propriété Wikidata, format URL}
  • nom : colonne libellé de la documentation de la base ; texte affiché sur les pages où la base est utilisée.
  • langue du nom : code langue du libellé, pour l'accessibilité.
  • propriété Wikidata : colonne propriété.
  • format URL : colonne URL.
Pour renseigner la langue de la base et son accessibilité
  1. Pour l'affichage par le modèle de la ou les langues de rédaction du contenu de la bases (colonne langue) :
    depuis sa documentation cliquez sur la propriété wikidata correspondante, éditez le paramètre P1630 (« format de l'URL ») et ajoutez le qualifier P407 (« langue de l'œuvre, du nom ou du terme ») avec la ou les langues voulues. Regardez par exemple le résultat sur la page P3973 (« identifiant Petőfi Irodalmi Múzeum »).
  2. Pour l'accessibilité de la lecture de la langue du libellé de la base :
    éditer ce module pour chaque libellé qui n'est pas en français remplacer par exemple "BookBrainz" par {"BookBrainz", "en"}
Ajout d'une base

Tout ajout ou suppression de base doit passer par Wikipédia:Ateliers Bases.
De manière générale si vous n'êtes pas sûr de vos actions, faite une demande sur cette même discussion.
Les autres paramètres sont importés par le module depuis la page wikidata de la propriété.

local p = {}
local wikidata = require "Module:Wikidata"

local bases = {
-- { nom, propriété Wikidata, format URL}

{"Anime News Network", "P1984", "https://www.animenewsnetwork.com/encyclopedia/manga.php?id=$1"},
{"ComicBookDB", "P1392", "http://www.comicbookdb.com/creator.php?ID=$1"},
{"Grand Comics Database", "P3589", "http://www.comics.org/series/$1/"},
{"INDUCKS", "P4479", "https://inducks.org/character.php?c=$1"},
{"INDUCKS", "P4480", "https://inducks.org/publication.php?c=$1"},
{"INDUCKS", "P4481", "https://inducks.org/creator.php?c=$1"},
{"INDUCKS", "P4482", "https://inducks.org/publisher.php?c=$1"},
{"INDUCKS", "P4483", "https://inducks.org/story.php?c=$1"},
{"INDUCKS", "P4484", "https://inducks.org/issue.php?c=$1"},
{"INDUCKS", "P4485", "https://inducks.org/subseries.php?c=$1"},
{"MyAnimeList", "P4087", "https://myanimelist.net/manga/$1"},
}

local gender = wikidata.formatStatements{entity = item, property = 'P21', displayformat = 'raw'}

function p.main(frame)
	local args = frame.args
	if frame.getParent then
		args = frame:getParent().args
	end
	local entity = mw.wikibase.getEntityObject(args.id)
	if not entity then
		return nil
	end
	local vals = {}
	for i, base in pairs(bases) do
		local val = wikidata.formatStatements{entity = entity, text = base[1], property = base[2], urlpattern = base[3], numval = 1, addcat = true, value = args[base[1]] }
		if val then 
			table.insert(vals, val)
		end
	end
	if #vals == 0 then
		return nil
	end
	local header = ''
	if #vals > 1 then
		header = 'Notices dans des bases relatives à la bande dessinée : '
	else
		header = 'Notice dans une base relative la bande dessinée : '
	end
	return wikidata.addLinkBack(header .. table.concat( vals, ' • ' ), entity, "identifiers" ) -- lien vers la section approriété de Wikidata
end

return p