Module:minitoc

From Wiktionary, the free dictionary
Jump to navigation Jump to search

This module provides the backend for {{minitoc}}.


local concat = table.concat
local insert = table.insert

local L2_list = mw.loadData("Module:headword/data").page.L2_list

local export = {}

function export.main(frame)
	local L2s_len, main, pre = L2_list.n
	for i = 1, L2s_len do
		local L2, t = L2_list[i]
		if L2 == "Translingual" or L2 == "English" then
			pre = pre or {}
			t = pre
		else
			main = main or {}
			t = main
		end
		insert(t, "<span style=\"white-space:nowrap;\">[[#" .. L2 .. "|" .. L2 .. "]]</span>")
	end
	
	return frame:extensionTag("templatestyles", "", {src="Module:minitoc/styles.css"}) .. "<div class=\"NavFrame\" style=\"max-width:40em;margin:0.5em 0\" data-minitoc-length=\"" .. L2s_len .. "\"><div class=\"NavHead\" style=\"background:#eee;padding: 0.25em 0.5em\">Languages (" .. L2s_len .. ")</div><div class=\"NavContent\" style=\"text-align:center;padding:0.5em\">" .. (pre and concat(pre, " • ") .. (main and "<hr>" or "") or "") .. (main and concat(main, " • ") or "") .. "<hr>[[#catlinks|Page categories]]</div></div><div data-toc-length=\"" .. L2s_len .. "\">__TOC__</div>"
end

return export