Module:See also if exists: Difference between revisions
Appearance
Content deleted Content added
←Created page with '--v1.0 local p = {} function doesCatExist(catname) local catPage = mw.title.new( catname, "Category" ) if catPage == nil then return false end if ca...' |
convert |
||
Line 3: | Line 3: | ||
local p = {} |
local p = {} |
||
function |
function doesPageExist(thisPage) |
||
local |
local thisPage = mw.title.new( thisPage ) |
||
if |
if thisPage == nil then |
||
return false |
return false |
||
end |
end |
||
if |
if thisPage.exists then |
||
return true |
return true |
||
end |
end |
||
Line 16: | Line 16: | ||
function p.main(frame) |
function p.main(frame) |
||
local |
local rawpages = {} |
||
local nvalid = 0 |
local nvalid = 0 |
||
for i, v in ipairs(mw.getCurrentFrame():getParent().args) do |
for i, v in ipairs(mw.getCurrentFrame():getParent().args) do |
||
if (v ~= nil) then |
if (v ~= nil) then |
||
local thisArg = mw.text.trim(v) |
local thisArg = mw.text.trim(v) |
||
thisArg = mw.ustring.gsub(thisArg, "^[Cc]ategory:%s*", "", 1) |
|||
if (thisArg ~= "") then |
if (thisArg ~= "") then |
||
if ( |
if ( doesPageExist(thisArg)) then |
||
table.insert( |
table.insert(rawpages, thisArg) |
||
nvalid = nvalid + 1 |
nvalid = nvalid + 1 |
||
end |
end |
||
Line 34: | Line 33: | ||
end |
end |
||
local mLabelledList = require('Module:Labelled list hatnote') |
local mLabelledList = require('Module:Labelled list hatnote') |
||
local pages = mLabelledList._labelledList( |
local pages = mLabelledList._labelledList(rawpages, "See also", "") |
||
return pages |
return pages |
||
end |
end |
Revision as of 21:11, 30 October 2018
![]() | This Lua module is used on approximately 74,000 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
![]() | This module depends on the following other modules: |
Usage
Used by Template:see also if exists and Template:Category see also if exists.
{{#invoke:See also if exists| main}}
--[[ v1.0
]]
local p = {}
function doesPageExist(thisPage)
local thisPage = mw.title.new( thisPage )
if thisPage == nil then
return false
end
if thisPage.exists then
return true
end
return false
end
function p.main(frame)
local rawpages = {}
local nvalid = 0
for i, v in ipairs(mw.getCurrentFrame():getParent().args) do
if (v ~= nil) then
local thisArg = mw.text.trim(v)
if (thisArg ~= "") then
if ( doesPageExist(thisArg)) then
table.insert(rawpages, thisArg)
nvalid = nvalid + 1
end
end
end
end
if (nvalid == 0) then
return ""
end
local mLabelledList = require('Module:Labelled list hatnote')
local pages = mLabelledList._labelledList(rawpages, "See also", "")
return pages
end
return p