Module:Format for sorting
Description
Test using main:
hallo hallo d d hello this is 45567 ff
tests using textString
series 45.567.1 ? = Luafout in Module:Pad_numbers op regel 39: attempt to index field 'args' (a nil value)
- Roman numeral
Luafout in Module:Pad_numbers op regel 39: attempt to index field 'args' (a nil value)
Luafout in Module:Pad_numbers op regel 39: attempt to index field 'args' (a nil value)
minimalStrip
Scriptfout: de functie "minimalStrip" bestaat niet.
main
drukkerij uitgeverij sdfsdf de eik antwerpen--[[
-- {{#invoke:Strip title for sorting|main|...}}
]]--
local mDiacritics = require('Module:Diacritics')
local mConvertNumerals = require('Module:ConvertNumerals')
local mPadNumbers = require('Module:Pad numbers')
local p = {}
local function removePunctuation( str )
local str = str
str = string.gsub( str, "%-?[%p%.]+", "" )
local addchars ={ "‘", "’", "“", "”" }
for i, v in ipairs( addchars ) do
str = string.gsub(str, v, "")
end
if str == nil then
error(" No string received. " )
else
return str
end
end
local function removeDiacritics( str )
str = mDiacritics.strip_diacrits( str )
return str
end
local function convertToArabic( str )
str = mConvertToNumerals.toArabicNum( str )
return str
end
local function padNumbers( str )
str = mPadNumbers.main( str )
return str
end
--[[
Currently used for strings of type Page with appropriate collation
]]--
function p.main( frame )
local str = ""
str = mw.text.unstrip(frame.args[1])
str = removeDiacritics( str )
str = string.lower( str )
str = removePunctuation( str )
if str == nil then
error("...")
else
return str
end
end
--[[
Used for strings of type Text, hence the need for padding with leading zeroes
]]--
function p.textString( frame )
local str = "0"
str = mw.text.unstrip(frame.args[1])
str = string.lower( str )
str = removeDiacritics( str )
--str = removePunctuation( str )
str = padNumbers( str )
--@todo - provide default if operation failed:
--str = convertToArabic( str )
if str == nil then
error("...")
elseif str == "" then
return "0"
else
return str
end
end
return p
