From Wikipedia, the free encyclopedia

--[[ v16



 each title consists of 3 parts

    * prefix

    * county name

    * suffix

 e.g. "Foo in County Mayo"

    * prefix = "Foo in "

    * county name = "County Mayo"

    * suffix = ""

 e.g. "County Sligo-related lists"

    * prefix = ""

    * county name = "County Sligo"

    * suffix = "-related lists"

]]



-- config

local textSize = '90%'

local tableClass="infobox"

local tableStyle="margin-left:auto; margin-right:auto; clear:left; float:left; width:auto;"

local evenRowStyle = "background-color:#f3f3f3;"

local oddRowStyle = ""

local labelStyle = "text-align:right; font-weight: bold;"

local listStyle = "text-align:left; font-weight: normal;"



-- globals for this module

local debugging = false

local debugmsg = ""

local tableRowNum = 0

local includeNewCounties = true

local useCountyWord = true

local title_prefix = ""

local title_suffix = ""



local getArgs = require('Module:Arguments').getArgs

local yesno = require('Module:Yesno')

local p = {}



local TwentySixCounties = {

	'Carlow',

	'Cavan',

	'Clare',

	'Cork',

	'Donegal',

	'Dublin',

	'Galway',

	'Kerry',

	'Kildare',

	'Kilkenny',

	'Laois',

	'Leitrim',

	'Limerick',

	'Longford',

	'Louth',

	'Mayo',

	'Meath',

	'Monaghan',

	'Offaly',

	'Roscommon',

	'Sligo',

	'Tipperary',

	'Waterford',

	'Westmeath',

	'Wexford',

	'Wicklow'

}



local SixCounties = {

	'Antrim',

	'Armagh',

	'Down',

	'Fermanagh',

	'Londonderry',

	'Tyrone'

}



local newCounties = {

	'Dún Laoghaire–Rathdown',

	'Fingal',

	'South Dublin (county)'

}



local Traditional32Counties = {

	'Antrim',

	'Armagh',

	'Carlow',

	'Cavan',

	'Clare',

	'Cork',

	'Donegal',

	'Down',

	'Dublin',

	'Fermanagh',

	'Galway',

	'Kerry',

	'Kildare',

	'Kilkenny',

	'Laois',

	'Leitrim',

	'Limerick',

	'Londonderry',

	'Longford',

	'Louth',

	'Mayo',

	'Meath',

	'Monaghan',

	'Offaly',

	'Roscommon',

	'Sligo',

	'Tipperary',

	'Tyrone',

	'Waterford',

	'Westmeath',

	'Wexford',

	'Wicklow'

}



local GAACounties = {

	'Antrim',

	'Armagh',

	'Carlow',

	'Cavan',

	'Clare',

	'Cork',

	'Donegal',

	'Derry',

	'Down',

	'Dublin',

	'Fermanagh',

	'Galway',

	'Kerry',

	'Kildare',

	'Kilkenny',

	'Laois',

	'Leitrim',

	'Limerick',

	'Longford',

	'Louth',

	'Mayo',

	'Meath',

	'Monaghan',

	'Offaly',

	'Roscommon',

	'Sligo',

	'Tipperary',

	'Tyrone',

	'Waterford',

	'Westmeath',

	'Wexford',

	'Wicklow'

}





function makeTableRow(rowLabel, useCountyWord, countyList, description)

	tableRowNum = tableRowNum + 1

	local thisRow

	if (tableRowNum % 2) == 0 then

		thisRow = '<tr style="' .. evenRowStyle .. '">\n'

	else

		thisRow = '<tr style="' .. oddRowStyle .. '">\n'

	end

	if not ((rowLabel == nil) or (mw.ustring.match(rowLabel, "^%s*$"))) then

		thisRow = thisRow .. '<td style="' .. labelStyle .. '">' .. rowLabel .. '</td>\n'

	end

	-- now begin making the row contents

	local countyWord = ""

	if useCountyWord then

		countyWord = "County "

	end

	thisRow = thisRow .. '<td style="' .. listStyle .. ';"><div class="hlist">\n'

	local i, aCounty

	for i, aCounty in ipairs(countyList) do

		myCatName = makeCatName(countyWord .. aCounty, title_prefix, title_suffix)

		thisRow = thisRow .. "* " .. makeCatLink(myCatName, aCounty) .. "\n"

		local j, nuCounty

		if (includeNewCounties and (aCounty == "Dublin")) then

			-- make a sub-list for the newCounties

			local subCatName

			for j, nuCounty in ipairs(newCounties) do

				subCatName = makeCatName(nuCounty, title_prefix, title_suffix)

				thisRow = thisRow .. "** " .. makeCatLink(subCatName, nuCounty) .. "\n"

			end

			subCatName = makeCatName("Dublin (city)", title_prefix, title_suffix)

			thisRow = thisRow .. "** " .. makeCatLink(subCatName, "City") .. "\n"

		end

	end

	thisRow = thisRow .. '</div></td>\n</tr>'

	return thisRow

end





function makeTable()

	local myTable = '<table class="' .. tableClass .. '" style="' .. tableStyle .. ' ; font-size:' .. textSize .. ';">\n'

	myTable = myTable .. makeTableRow("Republic of Ireland", useCountyWord, TwentySixCounties)

	myTable = myTable .. makeTableRow("Northern Ireland", useCountyWord, SixCounties)

	myTable = myTable .. "</table>\n"

	return myTable

end





function makeCatLink(catname, disp)

	local displaytext

	if (disp ~= "") and (disp ~= nil) then

		-- use 'disp' parameter, but strip any trailing disambiguator

		displaytext = mw.ustring.gsub(disp, "%s+%(.+$", "");

	else

		displaytext = catname

	end

	local link = "[[:Category:" .. catname .. "|" .. displaytext .. "]]"

	local fmtlink

	local linktitle = mw.title.new( catname, "Category" )

	if (linktitle.exists) then

		fmtlink = link

	else

		fmtlink = "<span style=\"color:#888\">" .. displaytext .. "</span>"

	end



	return fmtlink

end



function makeCatName(countyName, prefix, suffix)

	local this_cat_name = '';

	this_cat_name = this_cat_name .. prefix

	this_cat_name = this_cat_name .. countyName

	this_cat_name = this_cat_name .. suffix

	return this_cat_name

end





-- Does the pagename include a bare county name? (i.e. without the prefix "County ")

-- This would be one line in regex, but Lua pattern matching is cruder, so

-- we need several passes to ensure that any match is of a complete word

function findBareCountyNameInPagename(pn, countylist, description)

	local i, testCounty

	debugLog(2, "trying bare_county name [" .. pn .."] in county set: " .. description)

	for i, testCounty in ipairs(countylist) do

		debugLog(3, "testing new_county: ["  .. testCounty .. "]")

		local testCountyEncoded = mw.ustring.gsub(testCounty, "([%W])", "%%%1")

		-- For efficiency, the first test is a simple match as a a screening test

		-- If the bare county name is nowhere in the pagename, then no need for

		-- more precise checks

		if (mw.ustring.match(pn, testCountyEncoded)) then

			debugLog(4, "simple match success")

			debugLog(4, "match at start, followed by separator? ")

			if mw.ustring.match(pn, "^" .. testCountyEncoded .. "[^%w]") then

				debugLog(nil, "Yes")

				return testCounty

			else

				debugLog(nil, "No")

			end

			debugLog(4, "match at end, preceded by separator? ")

			if mw.ustring.match(pn, "[^%w]" .. testCountyEncoded .. "$") then

				debugLog(nil, "Yes")

				return testCounty

			else

				debugLog(nil, "No")

			end

			debugLog(4, "match anywhere, preceded and followed by separator? ")

			if mw.ustring.match(pn, "[^%w]" .. testCountyEncoded .. "[^%w]") then

				debugLog(nil, "Yes")

				return testCounty

			else

				debugLog(nil, "No")

			end

		else

			debugLog(4, "simple match fail")

		end

	end

	return nil

end



-- check whether a given county name is in a particular set

function isCountyInSet(s, countySet)

	local thisCounty = mw.ustring.gsub(s, "^County +", "")

	local aValidCounty

	for i, aValidCounty in ipairs(countySet) do

		if mw.ustring.match(thisCounty, "^" .. aValidCounty .. "$") then

			return true

		end

	end

	return false

end





function parsePagename(pn)

	debugLog(1, "parsePagename: [" .. pn .. "]")

	debugLog(2, "simple parse")

	match_prefix, match_county, match_suffix = mw.ustring.match(pn, "^(.*)(County%s+%a+)(.*)$")

	if not(match_county == nil or match_county == '') then

		debugLog(3, "County Foo = [" .. match_county .. "]")

		-- we have a "County Foo" ... but is it one of the 32 counties?

		debugLog(3, "is [" .. match_county .. "] one of the 32 counties?")

		if isCountyInSet(match_county, Traditional32Counties) then

			debugLog(nil, "Yes")

		else

			debugLog(nil, "No")

			return false

		end

	else -- simple 

		debugLog(3, "No match_'County Foo'")

		local new_county = findBareCountyNameInPagename(pn, newCounties, "New_counties")

		if new_county == nil then

			debugLog(3, "no match in new counties")

			return false

		end

		debugLog(3, "found new county: [" .. new_county .. "]")

		local testCountyEncoded = mw.ustring.gsub(new_county, "([%W])", "%%%1")

		match_prefix, match_county, match_suffix = mw.ustring.match(pn, "^(.*)(" .. testCountyEncoded .. ")(.*)$")

	end

	title_prefix = match_prefix

	title_suffix = match_suffix

	debugLog(2, "parse successful")

	debugLog(3, "match_prefix = [" .. match_prefix .. "]")

	debugLog(3, "match_county = [" .. match_county .. "]")

	debugLog(3, "match_suffix = [" .. match_suffix .. "]")

	return true

end



function publishDebugLog()

	if not debugging then

		return ""

	end

	return "==Debugging ==\n\n" .. debugmsg .. "\n== Output ==\n"

end





-- debugLog builds a log which can be output if debuging is enabled

-- each log entry is given a level, so that the output is not simply a flat list

-- a debug msg may be appended to the previous msg by setting the level to nil

function debugLog(level, msg)



	if (debugmsg == nil) then

		debugmsg = ""

	end



	if (level ~= nil) then

		-- not appending, so make a new line

		debugmsg = debugmsg .. "\n"

		-- then add the level

		if (level == 1) then

			debugmsg = debugmsg .. "# "

		elseif  (level == 2) then

			debugmsg = debugmsg .. "#* "

		elseif  (level == 3) then

			debugmsg = debugmsg .. "#*# "

		elseif  (level == 4) then

			debugmsg = debugmsg .. "#*#* "

		end

	end

	debugmsg = debugmsg .. " " .. msg

	return true

end





function argValueFunc(value)

	if (value == nil) then

		value = '' -- nil value = blank

	end

	value = mw.ustring.gsub(value, "^%s+$", "") -- only whitespace, so replace with ''

	return value

end



		

function p.main(frame)

-- getArgs

-- In all cases, convert to blank (i.e. '')

--   * a nil value

--   * a value consisting only of whitespace



	debugLog(1, "Check parameters")

	

	debugLog(2, "debug")

	if (frame.args'debug' == nil) then

		debugLog(3, "not set")

	else

		debugLog(3, "debug=[" .. frame.args'debug' .. "]")

		debugLog(4, "Evaluate as: ")

		if (yesno(frame.args'debug'], false)) then

			debugLog(nil, "Yes")

			debugging = true

		else

			debugLog(nil, "No, or invalid")

			debugging = false

		end

	end



	debugLog(2, "usecountyword")

	if (frame.args'usecountyword' == nil) then

		debugLog(3, "not set")

	else

		debugLog(3, "debug=[" .. frame.args'usecountyword' .. "]")

		debugLog(4, "Evaluate as: ")

		if (yesno(frame.args'usecountyword'], true)) then

			debugLog(nil, "Yes, or invalid")

			useCountyWord = true

		else

			debugLog(nil, "No")

			useCountyWord = false

		end

	end



	debugLog(2, "newcounties")

	if (frame.args'newcounties' == nil) then

		debugLog(3, "not set")

	else

		debugLog(3, "debug=[" .. frame.args'newcounties' .. "]")

		debugLog(4, "Evaluate as: ")

		if (yesno(frame.args'newcounties'], false)) then

			debugLog(nil, "Yes, or invalid")

			includeNewCounties = true

		else

			debugLog(nil, "No")

			includeNewCounties = false

		end

	end



	-- still need to add a "mode" parameter, to choose [all 32]/[32+new]/[only 26]/[26+new]/[only 6]/[GAACounties]/[26+32]/[26+32+new]



	-- get the page title

	thispage = mw.title.getCurrentTitle()

	thispagename = thispage.text;

	

	debugLog(1, "mw.title.getCurrentTitle()")

	debugLog(2, "thispage.text = [" .. thispage.text .."]")

	debugLog(2, "thispage.namespace = [" .. thispage.namespace .."]")

	debugLog(2, "thispage.nsText = [" .. thispage.nsText .."]")

	debugLog(2, "is it a cat? using (thispage:inNamespace(14)): ")

	if not (thispage:inNamespace(14)) then

		debugLog(nil, "No, this is not a category")

		debugLog(1, "Not a category, so no output")

		return publishDebugLog()

	end

	debugLog(nil, "Yes, this is a category")



	if not parsePagename(thispagename) then

		-- some error parsing the title, so don't proceed to output

		return publishDebugLog()

	end

	

	debugLog(1, "all parse done")

	debugLog(2, "title_prefix = [" .. title_prefix .. "]")

	debugLog(2, "title_suffix = [" .. title_suffix .. "]")



	return publishDebugLog() .. makeTable()



end



return p
From Wikipedia, the free encyclopedia

--[[ v16



 each title consists of 3 parts

    * prefix

    * county name

    * suffix

 e.g. "Foo in County Mayo"

    * prefix = "Foo in "

    * county name = "County Mayo"

    * suffix = ""

 e.g. "County Sligo-related lists"

    * prefix = ""

    * county name = "County Sligo"

    * suffix = "-related lists"

]]



-- config

local textSize = '90%'

local tableClass="infobox"

local tableStyle="margin-left:auto; margin-right:auto; clear:left; float:left; width:auto;"

local evenRowStyle = "background-color:#f3f3f3;"

local oddRowStyle = ""

local labelStyle = "text-align:right; font-weight: bold;"

local listStyle = "text-align:left; font-weight: normal;"



-- globals for this module

local debugging = false

local debugmsg = ""

local tableRowNum = 0

local includeNewCounties = true

local useCountyWord = true

local title_prefix = ""

local title_suffix = ""



local getArgs = require('Module:Arguments').getArgs

local yesno = require('Module:Yesno')

local p = {}



local TwentySixCounties = {

	'Carlow',

	'Cavan',

	'Clare',

	'Cork',

	'Donegal',

	'Dublin',

	'Galway',

	'Kerry',

	'Kildare',

	'Kilkenny',

	'Laois',

	'Leitrim',

	'Limerick',

	'Longford',

	'Louth',

	'Mayo',

	'Meath',

	'Monaghan',

	'Offaly',

	'Roscommon',

	'Sligo',

	'Tipperary',

	'Waterford',

	'Westmeath',

	'Wexford',

	'Wicklow'

}



local SixCounties = {

	'Antrim',

	'Armagh',

	'Down',

	'Fermanagh',

	'Londonderry',

	'Tyrone'

}



local newCounties = {

	'Dún Laoghaire–Rathdown',

	'Fingal',

	'South Dublin (county)'

}



local Traditional32Counties = {

	'Antrim',

	'Armagh',

	'Carlow',

	'Cavan',

	'Clare',

	'Cork',

	'Donegal',

	'Down',

	'Dublin',

	'Fermanagh',

	'Galway',

	'Kerry',

	'Kildare',

	'Kilkenny',

	'Laois',

	'Leitrim',

	'Limerick',

	'Londonderry',

	'Longford',

	'Louth',

	'Mayo',

	'Meath',

	'Monaghan',

	'Offaly',

	'Roscommon',

	'Sligo',

	'Tipperary',

	'Tyrone',

	'Waterford',

	'Westmeath',

	'Wexford',

	'Wicklow'

}



local GAACounties = {

	'Antrim',

	'Armagh',

	'Carlow',

	'Cavan',

	'Clare',

	'Cork',

	'Donegal',

	'Derry',

	'Down',

	'Dublin',

	'Fermanagh',

	'Galway',

	'Kerry',

	'Kildare',

	'Kilkenny',

	'Laois',

	'Leitrim',

	'Limerick',

	'Longford',

	'Louth',

	'Mayo',

	'Meath',

	'Monaghan',

	'Offaly',

	'Roscommon',

	'Sligo',

	'Tipperary',

	'Tyrone',

	'Waterford',

	'Westmeath',

	'Wexford',

	'Wicklow'

}





function makeTableRow(rowLabel, useCountyWord, countyList, description)

	tableRowNum = tableRowNum + 1

	local thisRow

	if (tableRowNum % 2) == 0 then

		thisRow = '<tr style="' .. evenRowStyle .. '">\n'

	else

		thisRow = '<tr style="' .. oddRowStyle .. '">\n'

	end

	if not ((rowLabel == nil) or (mw.ustring.match(rowLabel, "^%s*$"))) then

		thisRow = thisRow .. '<td style="' .. labelStyle .. '">' .. rowLabel .. '</td>\n'

	end

	-- now begin making the row contents

	local countyWord = ""

	if useCountyWord then

		countyWord = "County "

	end

	thisRow = thisRow .. '<td style="' .. listStyle .. ';"><div class="hlist">\n'

	local i, aCounty

	for i, aCounty in ipairs(countyList) do

		myCatName = makeCatName(countyWord .. aCounty, title_prefix, title_suffix)

		thisRow = thisRow .. "* " .. makeCatLink(myCatName, aCounty) .. "\n"

		local j, nuCounty

		if (includeNewCounties and (aCounty == "Dublin")) then

			-- make a sub-list for the newCounties

			local subCatName

			for j, nuCounty in ipairs(newCounties) do

				subCatName = makeCatName(nuCounty, title_prefix, title_suffix)

				thisRow = thisRow .. "** " .. makeCatLink(subCatName, nuCounty) .. "\n"

			end

			subCatName = makeCatName("Dublin (city)", title_prefix, title_suffix)

			thisRow = thisRow .. "** " .. makeCatLink(subCatName, "City") .. "\n"

		end

	end

	thisRow = thisRow .. '</div></td>\n</tr>'

	return thisRow

end





function makeTable()

	local myTable = '<table class="' .. tableClass .. '" style="' .. tableStyle .. ' ; font-size:' .. textSize .. ';">\n'

	myTable = myTable .. makeTableRow("Republic of Ireland", useCountyWord, TwentySixCounties)

	myTable = myTable .. makeTableRow("Northern Ireland", useCountyWord, SixCounties)

	myTable = myTable .. "</table>\n"

	return myTable

end





function makeCatLink(catname, disp)

	local displaytext

	if (disp ~= "") and (disp ~= nil) then

		-- use 'disp' parameter, but strip any trailing disambiguator

		displaytext = mw.ustring.gsub(disp, "%s+%(.+$", "");

	else

		displaytext = catname

	end

	local link = "[[:Category:" .. catname .. "|" .. displaytext .. "]]"

	local fmtlink

	local linktitle = mw.title.new( catname, "Category" )

	if (linktitle.exists) then

		fmtlink = link

	else

		fmtlink = "<span style=\"color:#888\">" .. displaytext .. "</span>"

	end



	return fmtlink

end



function makeCatName(countyName, prefix, suffix)

	local this_cat_name = '';

	this_cat_name = this_cat_name .. prefix

	this_cat_name = this_cat_name .. countyName

	this_cat_name = this_cat_name .. suffix

	return this_cat_name

end





-- Does the pagename include a bare county name? (i.e. without the prefix "County ")

-- This would be one line in regex, but Lua pattern matching is cruder, so

-- we need several passes to ensure that any match is of a complete word

function findBareCountyNameInPagename(pn, countylist, description)

	local i, testCounty

	debugLog(2, "trying bare_county name [" .. pn .."] in county set: " .. description)

	for i, testCounty in ipairs(countylist) do

		debugLog(3, "testing new_county: ["  .. testCounty .. "]")

		local testCountyEncoded = mw.ustring.gsub(testCounty, "([%W])", "%%%1")

		-- For efficiency, the first test is a simple match as a a screening test

		-- If the bare county name is nowhere in the pagename, then no need for

		-- more precise checks

		if (mw.ustring.match(pn, testCountyEncoded)) then

			debugLog(4, "simple match success")

			debugLog(4, "match at start, followed by separator? ")

			if mw.ustring.match(pn, "^" .. testCountyEncoded .. "[^%w]") then

				debugLog(nil, "Yes")

				return testCounty

			else

				debugLog(nil, "No")

			end

			debugLog(4, "match at end, preceded by separator? ")

			if mw.ustring.match(pn, "[^%w]" .. testCountyEncoded .. "$") then

				debugLog(nil, "Yes")

				return testCounty

			else

				debugLog(nil, "No")

			end

			debugLog(4, "match anywhere, preceded and followed by separator? ")

			if mw.ustring.match(pn, "[^%w]" .. testCountyEncoded .. "[^%w]") then

				debugLog(nil, "Yes")

				return testCounty

			else

				debugLog(nil, "No")

			end

		else

			debugLog(4, "simple match fail")

		end

	end

	return nil

end



-- check whether a given county name is in a particular set

function isCountyInSet(s, countySet)

	local thisCounty = mw.ustring.gsub(s, "^County +", "")

	local aValidCounty

	for i, aValidCounty in ipairs(countySet) do

		if mw.ustring.match(thisCounty, "^" .. aValidCounty .. "$") then

			return true

		end

	end

	return false

end





function parsePagename(pn)

	debugLog(1, "parsePagename: [" .. pn .. "]")

	debugLog(2, "simple parse")

	match_prefix, match_county, match_suffix = mw.ustring.match(pn, "^(.*)(County%s+%a+)(.*)$")

	if not(match_county == nil or match_county == '') then

		debugLog(3, "County Foo = [" .. match_county .. "]")

		-- we have a "County Foo" ... but is it one of the 32 counties?

		debugLog(3, "is [" .. match_county .. "] one of the 32 counties?")

		if isCountyInSet(match_county, Traditional32Counties) then

			debugLog(nil, "Yes")

		else

			debugLog(nil, "No")

			return false

		end

	else -- simple 

		debugLog(3, "No match_'County Foo'")

		local new_county = findBareCountyNameInPagename(pn, newCounties, "New_counties")

		if new_county == nil then

			debugLog(3, "no match in new counties")

			return false

		end

		debugLog(3, "found new county: [" .. new_county .. "]")

		local testCountyEncoded = mw.ustring.gsub(new_county, "([%W])", "%%%1")

		match_prefix, match_county, match_suffix = mw.ustring.match(pn, "^(.*)(" .. testCountyEncoded .. ")(.*)$")

	end

	title_prefix = match_prefix

	title_suffix = match_suffix

	debugLog(2, "parse successful")

	debugLog(3, "match_prefix = [" .. match_prefix .. "]")

	debugLog(3, "match_county = [" .. match_county .. "]")

	debugLog(3, "match_suffix = [" .. match_suffix .. "]")

	return true

end



function publishDebugLog()

	if not debugging then

		return ""

	end

	return "==Debugging ==\n\n" .. debugmsg .. "\n== Output ==\n"

end





-- debugLog builds a log which can be output if debuging is enabled

-- each log entry is given a level, so that the output is not simply a flat list

-- a debug msg may be appended to the previous msg by setting the level to nil

function debugLog(level, msg)



	if (debugmsg == nil) then

		debugmsg = ""

	end



	if (level ~= nil) then

		-- not appending, so make a new line

		debugmsg = debugmsg .. "\n"

		-- then add the level

		if (level == 1) then

			debugmsg = debugmsg .. "# "

		elseif  (level == 2) then

			debugmsg = debugmsg .. "#* "

		elseif  (level == 3) then

			debugmsg = debugmsg .. "#*# "

		elseif  (level == 4) then

			debugmsg = debugmsg .. "#*#* "

		end

	end

	debugmsg = debugmsg .. " " .. msg

	return true

end





function argValueFunc(value)

	if (value == nil) then

		value = '' -- nil value = blank

	end

	value = mw.ustring.gsub(value, "^%s+$", "") -- only whitespace, so replace with ''

	return value

end



		

function p.main(frame)

-- getArgs

-- In all cases, convert to blank (i.e. '')

--   * a nil value

--   * a value consisting only of whitespace



	debugLog(1, "Check parameters")

	

	debugLog(2, "debug")

	if (frame.args'debug' == nil) then

		debugLog(3, "not set")

	else

		debugLog(3, "debug=[" .. frame.args'debug' .. "]")

		debugLog(4, "Evaluate as: ")

		if (yesno(frame.args'debug'], false)) then

			debugLog(nil, "Yes")

			debugging = true

		else

			debugLog(nil, "No, or invalid")

			debugging = false

		end

	end



	debugLog(2, "usecountyword")

	if (frame.args'usecountyword' == nil) then

		debugLog(3, "not set")

	else

		debugLog(3, "debug=[" .. frame.args'usecountyword' .. "]")

		debugLog(4, "Evaluate as: ")

		if (yesno(frame.args'usecountyword'], true)) then

			debugLog(nil, "Yes, or invalid")

			useCountyWord = true

		else

			debugLog(nil, "No")

			useCountyWord = false

		end

	end



	debugLog(2, "newcounties")

	if (frame.args'newcounties' == nil) then

		debugLog(3, "not set")

	else

		debugLog(3, "debug=[" .. frame.args'newcounties' .. "]")

		debugLog(4, "Evaluate as: ")

		if (yesno(frame.args'newcounties'], false)) then

			debugLog(nil, "Yes, or invalid")

			includeNewCounties = true

		else

			debugLog(nil, "No")

			includeNewCounties = false

		end

	end



	-- still need to add a "mode" parameter, to choose [all 32]/[32+new]/[only 26]/[26+new]/[only 6]/[GAACounties]/[26+32]/[26+32+new]



	-- get the page title

	thispage = mw.title.getCurrentTitle()

	thispagename = thispage.text;

	

	debugLog(1, "mw.title.getCurrentTitle()")

	debugLog(2, "thispage.text = [" .. thispage.text .."]")

	debugLog(2, "thispage.namespace = [" .. thispage.namespace .."]")

	debugLog(2, "thispage.nsText = [" .. thispage.nsText .."]")

	debugLog(2, "is it a cat? using (thispage:inNamespace(14)): ")

	if not (thispage:inNamespace(14)) then

		debugLog(nil, "No, this is not a category")

		debugLog(1, "Not a category, so no output")

		return publishDebugLog()

	end

	debugLog(nil, "Yes, this is a category")



	if not parsePagename(thispagename) then

		-- some error parsing the title, so don't proceed to output

		return publishDebugLog()

	end

	

	debugLog(1, "all parse done")

	debugLog(2, "title_prefix = [" .. title_prefix .. "]")

	debugLog(2, "title_suffix = [" .. title_suffix .. "]")



	return publishDebugLog() .. makeTable()



end



return p

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook