「モジュール:StripFilename」の版間の差分
ナビゲーションに移動
検索に移動
細 (1版) |
細 (1版 をインポートしました) |
||
(他の1人の利用者による、間の1版が非表示) | |||
10行目: | 10行目: | ||
-- Remove any recognized extension | -- Remove any recognized extension | ||
local e = string.lower(string.gsub(f,"^.*%.([^%.]*)$","%1")) | local e = string.lower(string.gsub(f,"^.*%.([^%.]*)$","%1")) | ||
local map = {svg=1, png=1, jpg=1, jpeg=1, gif=1, tif=1, tiff=1, xcf=1, mid=1, ogg=1, ogv=1, djvu=1, oga=1, flac=1, wav=1, webm=1, pdf=1} | local map = {svg=1, png=1, jpg=1, jpeg=1, gif=1, tif=1, tiff=1, xcf=1, mid=1, ogg=1, ogv=1, djvu=1, oga=1, flac=1, wav=1, webm=1, pdf=1, mp3=1} | ||
if map[e] | if map[e] | ||
then n = string.gsub(f,"^(.*)%.[^%.]*$","%1") | then n = string.gsub(f,"^(.*)%.[^%.]*$","%1") | ||
29行目: | 29行目: | ||
-- Keep, replace with, or add "svg" extension | -- Keep, replace with, or add "svg" extension | ||
local e = string.lower(string.gsub(f,"^.*%.([^%.]*)$","%1")) | local e = string.lower(string.gsub(f,"^.*%.([^%.]*)$","%1")) | ||
local map = {png=1, jpg=1, jpeg=1, gif=1, tif=1, tiff=1, xcf=1, mid=1, ogg=1, ogv=1, djvu=1, oga=1, flac=1, wav=1, webm=1, pdf=1} | local map = {png=1, jpg=1, jpeg=1, gif=1, tif=1, tiff=1, xcf=1, mid=1, ogg=1, ogv=1, djvu=1, oga=1, flac=1, wav=1, webm=1, pdf=1, mp3=1} | ||
if e=="svg" | if e=="svg" | ||
then n = f | then n = f |
2019年4月20日 (土) 22:25時点における最新版
このモジュールについての説明文ページを モジュール:StripFilename/doc に作成できます
local p = {}
function p.main(frame)
local f = frame["args"][1]
-- Strip whitespace at beginning and end of input
f = string.gsub(f,"^%s*(.-)%s*$","%1")
-- Remove namespace prefix
f = string.gsub(f,"^[Ff][Ii][Ll][Ee]:(.*)$","%1")
f = string.gsub(f,"^[Ii][Mm][Aa][Gg][Ee]:(.*)$","%1")
-- Remove any recognized extension
local e = string.lower(string.gsub(f,"^.*%.([^%.]*)$","%1"))
local map = {svg=1, png=1, jpg=1, jpeg=1, gif=1, tif=1, tiff=1, xcf=1, mid=1, ogg=1, ogv=1, djvu=1, oga=1, flac=1, wav=1, webm=1, pdf=1, mp3=1}
if map[e]
then n = string.gsub(f,"^(.*)%.[^%.]*$","%1")
else n = f
end
return n
end
function p.svg(frame)
local f = frame["args"][1]
-- Strip whitespace at beginning and end of input
f = string.gsub(f,"^%s*(.-)%s*$","%1")
-- Remove namespace prefix
f = string.gsub(f,"^[Ff][Ii][Ll][Ee]:(.*)$","%1")
f = string.gsub(f,"^[Ii][Mm][Aa][Gg][Ee]:(.*)$","%1")
-- Replace underscores with spaces
f = string.gsub(f,"_"," ")
-- Keep, replace with, or add "svg" extension
local e = string.lower(string.gsub(f,"^.*%.([^%.]*)$","%1"))
local map = {png=1, jpg=1, jpeg=1, gif=1, tif=1, tiff=1, xcf=1, mid=1, ogg=1, ogv=1, djvu=1, oga=1, flac=1, wav=1, webm=1, pdf=1, mp3=1}
if e=="svg"
then n = f
elseif map[e]
then n = string.gsub(f,"^(.*)%.[^%.]*$","%1.svg")
else n = f..".svg"
end
return n
end
return p