Modul:body-text

Definition från Wiktionary, den fria ordlistan.
Hoppa till navigering Hoppa till sök

Dokumentation för denna modul finns på /dok (redigera), /test


Syfte

[redigera]

Modulen är avsedd att hjälpa till att formatera brödtext i stycken, där MediaWiki inte naturligt stödjer att det finns stycken, såsom inuti en lista.

Den kan inte användas för att formatera någon typ av listor. Om en lista detekteras, placeras sidan i Kategori:Wiktionary:Brödtextmall med lista.

Användning

[redigera]

Den här modulen används från brödtextmallar, såsom {{användning}}, {{etymologi}}, {{diverse}} och {{grammatik}}.

{{#invoke:body-text|getWikitext|{{{1}}}}}

Exempel

[redigera]
{{#invoke:body-text|getWikitext|Första stycket.

Här
är
andra
stycket.

Och tredje.}}

ger

Första stycket.<p>Här är andra stycket.</p><p>Och tredje.</p>
local export = {}

local function makeParagraphsExceptFirst(str)
	local initial_length = #str

	-- Use <div> instead of <p>, since it doesn't use large margins.

	str = string.gsub(str, "\n\n+", "<div>", 1)
	str = string.gsub(str, "\n\n+", "</div><div>")
	str = string.gsub(str, "\n", " ")
	
	if initial_length ~= #str then
		str = str .. "</div>"
	end

	return str
end

function export.getWikitext(frame)
	local input = frame.args[1]

	if string.match("\n" .. input, "\n[:;*#]") ~= nil then
		input = input .. "[[Kategori:Wiktionary:Brödtextmall med lista]]"
	else
		input = makeParagraphsExceptFirst(input)
	end

	return input
end

return export