Documentation icon คู่มือการใช้งานมอดูล[สร้าง]
--[[ v1.0
]]
local p = {}
local yesno = require("มอดูล:yesno")

function p.main(frame)
	local rawpages = {}
	local nvalid = 0
	local namespace = frame.args.ns
	for i, v in ipairs(frame:getParent().args) do
		if (v ~= nil) then
			local thisArg = mw.text.trim(v)
			if (thisArg ~= "") then
				local title = mw.title.new(thisArg, namespace)
				if title ~= nil and title.exists then
					table.insert(rawpages, title.fullText)
					nvalid = nvalid + 1
				end
			end
		end
	end
	if (nvalid == 0) then
		if yesno(frame.args.warning) then
			if namespace == nil then
				namespace = "page"
			elseif namespace:sub(-1) == "y" then
				namespace = namespace:sub(0, -2) .. "ie"
			end
			mw.addWarning(string.format("'''[[%s]] — ไม่มีเอาต์พุต เนื่องจากตอนนี้ไม่มี %ss'''",
				frame:getParent():getTitle(),namespace))
		end
		return ""
	end
	local mHatnote = require("มอดูล:Hatnote")
	local mHatList = require("มอดูล:Hatnote list")
	local options = {
		extraclasses = "บทความหลัก"
	}
	local hatnoteText = string.format("สำหรับข้อมูลเพิ่มเติม ดู %s", mHatList.andList(rawpages, true))
	return mHatnote._hatnote(hatnoteText, options)
end

return p