Module:Sortable string

From Wikisource
Jump to navigation Jump to search
--[=[
Module description
]=]

local p = {} --p stands for package
local getArgs = require('Module:Arguments').getArgs

function p.make_sortable_string( s )
	s = s:gsub( '(An?) (.*)', '%2, %1')
		:gsub( '(The) (.*)', '%2, %1')
		:gsub( 'Æ', 'Ae')
		:gsub( 'æ', 'ae')
		:gsub( 'Œ', 'Oe')
		:gsub( 'œ', 'oe')
	return s	
end

--[=[
Function docs
]=]
function p.sortable_string(frame)
	local args = getArgs(frame)
	return p.make_sortable_string( args[1] )
end

return p