Module:Infobox/Fonctions : Différence entre versions

De Lagny-sur-Marne Wiki
Aller à : navigation, rechercher
(Annulation des modifications 123684781 de Metamorforme42 (d) pourquoi ça marche en prévisualisation mais pas en vrai !?)
(+ simple)
Ligne 2 : Ligne 2 :
 
local wikidata = require 'Module:Interface Wikidata'.fromLua
 
local wikidata = require 'Module:Interface Wikidata'.fromLua
 
local coordfunctions = require 'Module:Infobox/Fonctions/Géolocalisation'
 
local coordfunctions = require 'Module:Infobox/Fonctions/Géolocalisation'
local lang = mw.language.new('fr')
+
local linguistic = require "Module:Linguistique"
 
local p = {}
 
local p = {}
  
 
function p.title(icon, style, subtitleparam, subtitlequery)
 
function p.title(icon, style, subtitleparam, subtitlequery)
local title = localdata['nom']
 
if not title then
 
title = lang:ucfirst(wikidata.getLabel(item) or mw.title.getCurrentTitle().text)
 
end
 
 
if subtitleparam then
 
subtitle = localdata[subtitleparam]
 
end
 
if (not subtitle) and subtitlequery then
 
subtitle = wikidata.formatStatements(subtitlequery)
 
end
 
 
 
return {
 
return {
 
type = 'title',
 
type = 'title',
value = function() return title end,
+
value = function() return localdata['nom'] or linguistic.ucfirst(wikidata.getLabel(item) or mw.title.getCurrentTitle().text) end,
subtitle = function() return subtitle end,
+
subtitle = function() return localdata[subtitleparam] end,
 +
wikidatasubtitle = subtitlequery,
 
icon = icon,
 
icon = icon,
 
style = style,
 
style = style,
Ligne 37 : Ligne 26 :
 
defaultupright = upright,
 
defaultupright = upright,
 
defaultsize = size,
 
defaultsize = size,
maintenancecat =
+
maintenancecat = function() return cat or 'Article à illustrer' end,
function(localdata, item, params)
 
if cat and (cat ~= '-') then
 
return cat
 
else
 
return 'Article à illustrer'
 
end
 
end,
 
 
captionparameter = 'légende',
 
captionparameter = 'légende',
 
defaultcaption = function() return defaultcaption end,
 
defaultcaption = function() return defaultcaption end,
Ligne 69 : Ligne 51 :
 
-- Liens externes
 
-- Liens externes
 
function p.website() --texte libre [http://example.org example.org] ou url seule
 
function p.website() --texte libre [http://example.org example.org] ou url seule
local function getLinks(item)
 
return wikidata.getClaims {property='P856', entity = item}
 
end
 
 
return {  
 
return {  
 
             type = 'mixed',
 
             type = 'mixed',
 
             label = 'Site web',  
 
             label = 'Site web',  
             wikidatalabel = function()
+
             plurallabel = 'Sites web',
            local links = getLinks(item)
+
             wikidata = {entity = item, claims = claims, displayformat = 'weblink', conjtype = '<br />', property = 'P856'},
            if links and #links > 1 then
+
             value =
            return 'Sites web'
+
            function()
            end
+
             local siteurl = localdata['site web'] or localdata['site_web'] or localdata['site officiel']
            return 'Site web'
+
             local sitename = localdata['nom site']
            end,
+
        return require("Module:Weblink").makelink(siteurl, sitename)
             wikidata = function()
+
        end
            local claims = getLinks(item)
 
            return wikidata.formatAndCat{entity = item, claims = claims, displayformat = 'weblink', conjtype = '<br />', property = 'P856'}
 
            end,
 
             value = function(localdata)  
 
             local website = localdata['site web'] or localdata['site_web'] or localdata['site officiel']
 
             if website then
 
            if (string.sub(website, 1, 4) == 'http') and (not string.find(website, ' ')) then -- if website is url
 
            return require("Module:Weblink").makelink(website)
 
            else
 
            return website
 
            end
 
            elseif localdata['url'] then
 
            return require("Module:Weblink").makelink(localdata['url'])
 
            end
 
            end
 
 
             }
 
             }
 
end
 
end

Version du 8 mars 2016 à 10:41

La documentation pour ce module peut être créée à Module:Infobox/Fonctions/doc

-- Fonctions communes à diverses infobox
local wikidata = require 'Module:Interface Wikidata'.fromLua
local coordfunctions = require 'Module:Infobox/Fonctions/Géolocalisation'
local linguistic = require "Module:Linguistique"
local p = {}

function p.title(icon, style, subtitleparam, subtitlequery)
	return {
			type = 'title',
			value = function() return localdata['nom'] or linguistic.ucfirst(wikidata.getLabel(item) or mw.title.getCurrentTitle().text) end,
			subtitle = function() return localdata[subtitleparam] end,
			wikidatasubtitle = subtitlequery,
			icon = icon,
			style = style,
	}
end

function p.mainimage(cat, defaultimage, size, upright)
	return {
		type = 'images',
		imageparameters =  {'image'},
		defaultimages = defaultimage,
		defaultimagelink = 'Aide:Insérer une image',
		sizeparameter = 'taille image',
		uprightparameter = 'upright',
		defaultupright = upright,
		defaultsize = 	size,
		maintenancecat = function() return cat or 'Article à illustrer' end,
		captionparameter = 'légende',
		defaultcaption = function() return defaultcaption end,
		property = 'P18',
		numval = 1,
	}
end

function p.logo(upright)
	return {
		type = 'images',
		imageparameters =  {'logo'},
	--	defaultimage = {},
	--	maintenancecat =
		captionparameter = 'légende logo',
		property = 'P154',
		defaultupright = upright or '0.6',
		uprightparameter = 'upright logo',
		sizeparameter = 'taille logo',
		numval = 1,
	}
end

-- Liens externes
function p.website() --texte libre [http://example.org example.org] ou url seule
	return { 
            type = 'mixed',
            label = 'Site web', 
            plurallabel = 'Sites web',
            wikidata = {entity = item, claims = claims, displayformat = 'weblink', conjtype = '<br />', property = 'P856'},
            value =
            	function()
            	local siteurl = localdata['site web'] or localdata['site_web'] or localdata['site officiel']
            	local sitename = localdata['nom site']
        		return require("Module:Weblink").makelink(siteurl, sitename)
	        	end
            }
end

-- Pays
function p.country(default)
	return	coordfunctions.country(default)	
end

return p