Difference between revisions of "Module:NSLink"

From MS-Heritage
Jump to navigation Jump to search
(Created page with "local p = {} function p.main(frame) local args = frame.args local flagStr = args[1] or "" local ns = args[2] or "" local page = args[3] or "" local display = args[4] or...")
 
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
 
local p = {}
 
local p = {}
  
function p.main(frame)
+
function p.getTags(frame)
local args = frame.args
+
local flagStr = frame.args[1] or ""
local flagStr = args[1] or ""
+
local mode = frame.args[2] or "open"
local ns = args[2] or ""
 
local page = args[3] or ""
 
local display = args[4] or ""
 
 
 
local linkTarget = ns .. ":" .. page
 
local linkWikitext
 
if display ~= "" then
 
linkWikitext = string.format("[[%s|%s]]", linkTarget, display)
 
else
 
linkWikitext = string.format("[[%s|%s]]", linkTarget, page)
 
end
 
  
 
local openTags = ""
 
local openTags = ""
 
local closeTags = ""
 
local closeTags = ""
 +
 
for i = 1, #flagStr do
 
for i = 1, #flagStr do
 
local c = flagStr:sub(i,i)
 
local c = flagStr:sub(i,i)
Line 35: Line 25:
 
end
 
end
  
local output = openTags .. linkWikitext .. closeTags
+
if mode == "close" then
return output
+
return closeTags
 +
else
 +
return openTags
 +
end
 
end
 
end
  
 
return p
 
return p

Latest revision as of 02:20, 20 August 2026

Documentation for this module may be created at Module:NSLink/doc

local p = {}

function p.getTags(frame)
	local flagStr = frame.args[1] or ""
	local mode = frame.args[2] or "open"

	local openTags = ""
	local closeTags = ""

	for i = 1, #flagStr do
		local c = flagStr:sub(i,i)
		if c == "b" then
			openTags = openTags .. "<b>"
			closeTags = "</b>" .. closeTags
		elseif c == "i" then
			openTags = openTags .. "<i>"
			closeTags = "</i>" .. closeTags
		elseif c == "s" then
			openTags = openTags .. "<s>"
			closeTags = "</s>" .. closeTags
		elseif c == "u" then
			openTags = openTags .. "<u>"
			closeTags = "</u>" .. closeTags
		end
	end

	if mode == "close" then
		return closeTags
	else
		return openTags
	end
end

return p