Module:Weblink : Différence entre versions
(Nouvelle page : local p = {} local w = require "Module:Wikidata" function p.makelink(astring) return '[' .. astring .. '|' .. frame:callParserFunction( '#titleparts', { astring, '', 2 } ) .....) |
(possibilité de paramètre "showntext" = "-" pour ne retourner que l'URL, ajouts de commentaires) |
||
(20 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
local p = {} | local p = {} | ||
− | + | function p.makelink(url, showntext) | |
+ | if (not url) or (url == "-") then | ||
+ | return nil | ||
+ | end | ||
− | + | --I validation de l'url (paramètre URL) | |
− | return ' | + | url = mw.text.trim(url) |
+ | |||
+ | |||
+ | -- II texte à afficher (paramètre "showntext") | ||
+ | |||
+ | --- valeur spéciale : aucun texte | ||
+ | if showntext == "-" then | ||
+ | return url | ||
+ | end | ||
+ | |||
+ | --- laissé vide : texte basé sur l'URL | ||
+ | if not showntext then | ||
+ | local space = mw.ustring.find(url, ' ') -- si le nom du site est passé par mégarde dans l'URL, le séparer | ||
+ | if space then | ||
+ | local full = url | ||
+ | url = mw.ustring.sub(full, 1, space - 1) | ||
+ | showntext = mw.ustring.sub(full, space + 1) | ||
+ | else | ||
+ | showntext = string.gsub( url, 'https?://', '') | ||
+ | end | ||
+ | ---- remove trailing slash | ||
+ | if string.sub(showntext, #showntext, #showntext) == '/' then | ||
+ | showntext = string.sub(showntext, 1, #showntext - 1) | ||
+ | end | ||
+ | end | ||
+ | |||
+ | return '[' .. url .. ' ' .. showntext .. ']' | ||
end | end | ||
− | function p.makelinks(stringlist) | + | function p.makelinks(stringlist, separator) |
− | if not type( | + | if not type(stringlist) == table then |
− | + | return error('stringlist should be table') | |
+ | end | ||
+ | if not separator then | ||
+ | separator = '<br />' | ||
+ | end | ||
for i, j in pairs(stringlist) do | for i, j in pairs(stringlist) do | ||
− | stringlist[i] = | + | stringlist[i] = p.makelink(k) |
− | return stringlist | + | return table.concat(stringlist, separator ) |
end | end | ||
end | end | ||
return p | return p |
Version actuelle datée du 20 août 2016 à 07:07
La documentation pour ce module peut être créée à Module:Weblink/doc
local p = {} function p.makelink(url, showntext) if (not url) or (url == "-") then return nil end --I validation de l'url (paramètre URL) url = mw.text.trim(url) -- II texte à afficher (paramètre "showntext") --- valeur spéciale : aucun texte if showntext == "-" then return url end --- laissé vide : texte basé sur l'URL if not showntext then local space = mw.ustring.find(url, ' ') -- si le nom du site est passé par mégarde dans l'URL, le séparer if space then local full = url url = mw.ustring.sub(full, 1, space - 1) showntext = mw.ustring.sub(full, space + 1) else showntext = string.gsub( url, 'https?://', '') end ---- remove trailing slash if string.sub(showntext, #showntext, #showntext) == '/' then showntext = string.sub(showntext, 1, #showntext - 1) end end return '[' .. url .. ' ' .. showntext .. ']' end function p.makelinks(stringlist, separator) if not type(stringlist) == table then return error('stringlist should be table') end if not separator then separator = '<br />' end for i, j in pairs(stringlist) do stringlist[i] = p.makelink(k) return table.concat(stringlist, separator ) end end return p