„Modul:Teamim“ – Versionsunterschied
Erscheinungsbild
[gesichtete Version] | [gesichtete Version] |
Inhalt gelöscht Inhalt hinzugefügt
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 68: | Zeile 68: | ||
id = frame.args[1] |
id = frame.args[1] |
||
end |
end |
||
if id then |
if id and id ~= "" then |
||
mw.logObject(id, "id") |
mw.logObject(id, "id") |
||
local set = WORDPOS[id] |
local set = WORDPOS[id] |
Version vom 5. Juli 2022, 20:19 Uhr
SimpleStruct |
Zeichen |
Zeichenfolge |
Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
Diese Seite enthält Code in der Programmiersprache Lua. Einbindungszahl Cirrus
--[=[ Teamim 2022-07-03
Data Management Module for Access from Within Templates
providing infos for Teamim sequences using unicode for display
Author: Vollbracht
* disjunctList(elements) Wikidata information for sign sequences (table form)
(under construction)
* data() switch for Zeichen.data()/Zeichenfolge.data()
(planed)
* wordPos(sign/Num) sign linked to legend
* legend(sign/Num) legend line providing infos for wordPos
]=]
--Module globals
local p = {}
local _, Parser = pcall(require, "Modul:SimpleStruct")
local _, SequencesMod = pcall(require, "Modul:Zeichenfolge")
local Sequences = SequencesMod.service
local WORDPOS = {
{"wp1", "↑", "steht über dem Konsonanten der betonten Silbe"},
{"wp2", "↓", "steht unter dem Konsonanten der betonten Silbe"},
{"wp3", "[↑]", "steht über dem Konsonanten der betonten Silbe, wenn das Wort nicht beim endständigen Zeichen betont ist"},
{"wp4", "↱", "steht vor der Tonsilbe im gleichen oder vorangehenden Wort, kann auch fehlen"},
{"wp5", "↗", "steht oben am Wortanfang, also ''vor'' dem ersten Buchstaben"},
{"wp6", "↘", "steht unten am Wortanfang, also ''vor'' dem ersten Buchstaben"},
{"wp7", "↖", "steht oben am Wortende, also ''nach'' dem letzten Buchstaben"},
{"wp8", "←", "steht als getrenntes Schriftzeichen nach dem Wort"}
}
WORDPOS["↑"]=WORDPOS[1]
WORDPOS["↓"]=WORDPOS[2]
WORDPOS["[↑]"]=WORDPOS[3]
WORDPOS["↱"]=WORDPOS[4]
WORDPOS["↗"]=WORDPOS[5]
WORDPOS["↘"]=WORDPOS[6]
WORDPOS["↖"]=WORDPOS[7]
WORDPOS["←"]=WORDPOS[8]
--[[
p.wordPos(sign/Num)
]]
local wpError = function(frame)
local result = [[Fehler: Bitte nur mit Wortposition gemäß folgender Legende
verwenden:<br />]]
result = result .. p.legend() .. '<br />[[Kategorie:Wikipedia:'
result = result .. 'Qualitätssicherung Vorlageneinbindung fehlerhaft]]'
return frame:preprocess(result)
end
p.wordPos = function(frame)
local id = frame.args[1]
if id == nil then return wpError(frame) end
mw.log('ID = ' .. id)
local set = WORDPOS[id]
mw.logObject(set)
if set == nil then set = WORDPOS[tonumber(id)] end
if set == nil then return wpError(frame) end
return frame:preprocess('[[#' .. set[1] .. '|' .. set[2] .. ']]')
end
--[[
p.legend(sign/Num)
]]
p.legend = function(frame)
local id = nil
if frame then
id = frame.args[1]
end
if id and id ~= "" then
mw.logObject(id, "id")
local set = WORDPOS[id]
if set == nil then set = WORDPOS[tonumber(id)] end
if set == nil then return wpError(frame) end
local result = '<span id="' .. set[1] .. '">' .. set[2]
result = result .. ' <span class="reference-text">' .. set[3]
return result .. '</span></span>'
else
local result = '<table>'
for _, set in ipairs(WORDPOS) do
result = result .. '<tr id="' .. set[1] .. '"><td>' .. set[2]
result = result .. '</td><td class="reference-text">' .. set[3]
result = result .. '</td></tr>'
end
return result .. '</table>'
end
end
--[[
p.disjunctList(frame)
parameters:
elements simple struct with each element in syntax:
{
qualifier{Q1234} rank{König} wordPos{↓ ←}
grammar{Mitte eines ...-Segments, wenn ...}
}
]]
p.disjunctList = function(frame)
end
return p