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)
	require("Module:parameters").process(frame:getParent().args, {})
	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, "[[#" .. L2 .. "|" .. L2 .. "]]")
	end
	
	return frame:extensionTag("templatestyles", nil, {src="Module:minitoc/styles.css"}) .. "<div class=\"minitoc NavFrame\" data-toggle-category=\"table of contents\" data-minitoc-length=\"" .. L2s_len .. "\"><div class=\"NavHead\">Languages (" .. L2s_len .. ")</div><div class=\"NavContent\">" .. (pre and concat(pre, " •&nbsp;") .. (main and "<hr>" or "") or "") .. (main and concat(main, " •&nbsp;") or "") .. "<hr>[[#catlinks|Page categories]]</div></div><div data-toc-length=\"" .. L2s_len .. "\">__TOC__</div>[[Category:Entries using minitoc]]"
end

return export