Modul:MarkerTypesList
Erscheinungsbild
Dokumentation für das Modul MarkerTypesList[Ansicht] [Bearbeiten] [Versionsgeschichte] [ ]
Dieses Modul ist getestet und für den projektweiten Gebrauch geeignet. Es kann in Vorlagen benutzt und auf Hilfeseiten erläutert werden. Entwicklungen an dem Modul sollten auf MarkerTypesList/Test und die Anwendung auf der Spielwiese getestet werden, da wiederholte Trial-and-Error-Edits die Resourcen stark belasten können. |
Anwendung
Das Modul stellt eine Funktion für die Auflistung der Markertypen bereit.
Versionsbezeichnung auf Wikidata: 2024-08-26
Benötigte weitere Module
Dieses Modul benötigt folgende weitere Module: Marker utilities/Types
Funktionsaufruf
Aufruf in Modulen
function ml.generateTableTypeList( frame )
liefert eine sortierbare Tabelle aller für die Vorlagen {{Marker}} und {{vCard}} einsetzbaren Typen. Die Tabelle zeigt die deutsche Übersetzung, die zugehörige Gruppe und die englische Typbezeichnung an.
Aufruf in Artikeln
{{#invoke:MarkerTypesList|generateTableTypeList}}
Hinweise
- Die obige Dokumentation wurde aus der Seite Modul:MarkerTypesList/Doku eingefügt. (bearbeiten | Versionsgeschichte) Die Kategorien für dieses Modul sollten in der Dokumentation eingetragen werden. Die Interwiki-Links sollten auf Wikidata eingepflegt werden.
- Liste der Unterseiten
--[[
Generates a list of marker types
]]--
-- Module variable and administration
local ml = {
moduleInterface = {
suite = 'MarkerTypesList',
serial = '2024-08-26',
item = 118040967
}
}
-- Language-dependent sorting substitutes
local substitutes = {
{ l = 'ä', as = 'a' },
{ l = 'ö', as = 'o' },
{ l = 'ü', as = 'u' },
{ l = 'ß', as = 'ss' }
}
local function convertForSort( s )
s = mw.ustring.lower( s )
for i, obj in ipairs( substitutes ) do
s = mw.ustring.gsub( s, obj.l, obj.as )
end
return s
end
-- generates a table with type documentation
function ml.generateTableTypeList( frame )
-- Module import
local mt = require( 'Module:Marker utilities/Types' )
local label
local rows = {}
for key, value in pairs( mt.types ) do
label = value.label or value.alias or key
if type( label ) == 'table' then
label = label[ 1 ] or ''
end
table.insert( rows, ( '<tr><td>%s</td><td>%s</td><td>%s</td></tr>' ):format (
label:gsub( '_', ' ' ), value.group, key:gsub( '_', ' ' ) ) )
end
table.sort( rows,
function( a, b )
return convertForSort( a ) < convertForSort( b )
end
)
table.insert( rows, 1, '<table class="wikitable sortable multiline" cellspacing="0">\n'
.. ( '<tr><th>%s</th><th>%s</th><th>%s</th></tr>' ):format (
'Beschriftung', 'Gruppe', 'Typ' )
)
table.insert( rows, '</table>' )
return table.concat( rows, '\n' )
end
-- generates a table with group documentation
function ml.generateTableGroupList( frame )
-- Module import
local mg = require( 'Module:Marker utilities/Groups' )
local label
local rows = {}
for key, value in pairs( mg.groups ) do
label = value.label or value.alias or key
if type( label ) == 'table' then
label = label[ 1 ] or ''
end
table.insert( rows, ( '<tr><td>%s</td><td>%s</td><td>%s</td><td style="background-color: %s; color: #fff;"> </td><td>%s</td></tr>' ):format (
label:gsub( '_', ' ' ), value.default or '', key:gsub( '_', ' ' ), value.color or '', value.color or '' ) )
end
table.sort( rows,
function( a, b )
return convertForSort( a ) < convertForSort( b )
end
)
table.insert( rows, 1, '<table class="wikitable sortable multiline" cellspacing="0">\n'
.. ( '<tr><th>%s</th><th>%s</th><th>%s</th><th>%s</th><th>%s</th></tr>' ):format (
'Gruppenbezeichnung', 'Standardtyp im VCard-Editor', 'interne Gruppenbezeichnung', 'Farbe', 'RGB-Farbcode' )
)
table.insert( rows, '</table>' )
return table.concat( rows, '\n' )
end
return ml