モジュール:Fileのソースを表示
←
モジュール:File
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
-- Module for handling Media files (Origin: Wikimedia Commons) require('strict') -- ================================================== -- === helper Lookup table ========================== -- ================================================== local extensionMap = { -- File types with full support in Commons (See [[c:Commons:File types]]). DJVU = 'image/vnd.djvu', FLAC = 'audio/x-flac', GIF = 'image/gif', JPEG = 'image/jpeg', JPG = 'image/jpeg', MID = 'audio/midi', MP3 = 'audio/mpeg', OGA = 'audio/ogg', OGG = 'audio/ogg', OGV = 'video/ogg', PDF = 'application/pdf', PNG = 'image/png', SVG = 'image/svg+xml', TIF = 'image/tiff', TIFF = 'image/tiff', WEBM = 'video/webm', WAV = 'audio/x-wav', XCF = 'image/xcf', -- Other file types with restrictions (not accepted in standard uploads on Commons but in 'User:' namespace). -- They could be supported in Wiki pages by embedding their content in an <pre> or <source> elements. CSS = 'text/css', CSV = 'text/csv', JS = 'application/javascript', JSON = 'application/json', TXT = 'text/plain', XML = 'application/xml', -- Only generated by MediaWiki on output of some queries, restricted in all uploads. GZ = 'application/gzip', -- delivered only only for some wiki results ZIP = 'application/zip', -- delivered only for some wiki data exports -- Other file types not supported and to convert (a few of them may be in special administration namespaces). DOC = 'application/msword', -- please convert to PDF, DJVU, or Wiki F4V = 'video/mpeg', -- (deprecated, replaced by MP4) please convert to OGV or WEBM FLV = 'video/x-flv', -- (deprecated, replaced by MP4) please convert to OGV or WEBM ICO = 'image/vnd.microsoft.icon', -- used in MediaWiki resources for 'website icons' MP4 = 'video/mp4', QT = 'video/quicktime', -- (deprecated, replaced by MP4) please convert to OGV or WEBM RA = 'audio/vnd.rn-realaudio', -- (deprecated, replaced by MP3) please convert to OGA SWF = 'video/x-flv', -- (deprecated, replaced by MP4) please convert to OGV or WEBM WMA = 'audio/x-ms-wma', -- please convert to OGA WMV = 'video/x-ms-wmv', -- please convert to OGV or WEBM XLS = 'application/vnd.ms-excel', -- please convert to PDF, DJVU, or Wiki } -- ================================================== -- === Local functions ============================== -- ================================================== local function filename(frame) return frame.args[1] or frame.args["file"] or frame.args["title"] end local function getMetadata(frame) local fname = filename(frame) local title if fname then title = mw.title.new(fname, 6) else title = mw.title.getCurrentTitle() end if title then return title.file else return {exists=false} end end -- ================================================== -- === External functions =========================== -- ================================================== local p = {} -- p.csExtension("Foo.bar.svg") -- @return "svg" function p.csExtension(frame) local fname = filename(frame) or mw.title.getCurrentTitle().text local parts = mw.text.split(fname, '.', true) if #parts>1 then return parts[#parts] else return '' end end function p.extension(frame) return p.csExtension(frame):lower() end function p.extensionUpper(frame) return p.csExtension(frame):upper() end -- p.woExtension("Foo.bar.svg") -- @return "Foo.bar" -- Original author: Bawolff at [[Module:FileName]] function p.woExtension(frame) local fname = filename(frame) or mw.title.getCurrentTitle().text local parts = mw.text.split(fname , '.', true) local upTo = #parts - 1 if upTo == 0 then upTo = 1 end return table.concat(parts, '.', 1, upTo) end function p.mime(frame) local meta = getMetadata(frame) if meta.exists then return meta.mimeType else return extensionMap[p.extensionUpper(frame)] or 'unknown' end end function p.mimeType(frame) return getMetadata(frame).mimeType end function p.fileExists(frame) return getMetadata(frame).exists or '' end -- This one won't throw errors at you function p.fileExistsRelaxed(frame) local ok, metadata = pcall(getMetadata(frame)) if ok then return metadata.exists or '' else return '' end end function p.maxthumb(frame) -- Limits in megapixels are currently stored in Commons templates, they could be in this module. -- There may be more limits for other supported mime types (djvu, flac, ogv, pdf, svg, webm, xcf). local maxthumbMap = { ['image/gif'] = 1000, ['image/png' ] = 2500, -- see Template:LargePNG/limit ['image/tiff'] = 1000, -- see Template:LargeTIFF/limit } local mime = p.mime(frame) return maxthumbMap[mime] or 'unknown @Module:File' end function p.dateWorkCreated(frame) return '' -- no longer supported end function p.width(frame) return getMetadata(frame).width end function p.height(frame) return getMetadata(frame).height end function p.dimensions(frame) local d = getMetadata(frame) if d.exists then return d.width .. ' × ' .. d.height else return '' end end function p.size(frame) return getMetadata(frame).size end function p.pageCount(frame) local pages = getMetadata(frame).pages or {1} return #pages end return p
このページで使用されているテンプレート:
モジュール:File/doc
(
ソースを閲覧
)
モジュール:File
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
モジュール
議論
English
表示
閲覧
履歴表示
その他
検索
案内
索引
脳科学辞典について
最近完成した項目
編集履歴
執筆にあたって
引用の仕方
著作権について
免責事項
問い合わせ
各学会編集のオンライン用語辞典
About us (in English)
Twitter (BrainScienceBot)
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
他のプロジェクト