モジュール:Galleryのソースを表示
←
モジュール:Gallery
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
-- This module implements {{gallery}} local p = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end function p.gallery(frame) local origArgs -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if type(frame.getParent) == 'function' then origArgs = frame:getParent().args else origArgs = frame end -- ParserFunctions considers the empty string to be false, so to preserve the previous -- behavior of {{gallery}}, change any empty arguments to nil, so Lua will consider -- them false too. local args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end local tbl = mw.html.create('table') if args.state then tbl :css('width', '100%') :addClass('collapsible') :addClass(args.state) end if args.style then tbl:cssText(args.style) else tbl :css('background', 'transparent') :css('margin-top', '0.5em') end if args.align then if args.align == 'center' then tbl :css('margin-left', 'auto') :css('margin-right', 'auto') else tbl:css('float', args.align) end end if args.title then tbl :tag('tr') :tag('th') :css('text-align', 'center') :css('font-weight', 'bold') :wikitext(args.title) end local mainCell = tbl:tag('tr'):tag('td') local imageCount = math.ceil(#args / 2) local cellWidth = tonumber(args.cellwidth) or tonumber(args.width) or 180 local imgHeight = tonumber(args.height) or 180 local lines = tonumber(args.lines) or 2 local captionstyle = args.captionstyle for i = 1, imageCount do local img = trim(args[i*2 - 1] or '') local caption = trim(args[i*2] or '') local imgWidth = tonumber(args['width' .. i]) or tonumber(args.width) or 180 local alt = args['alt' .. i] or '' local textWidth if cellWidth < 30 then textWidth = imgHeight + 27 else textWidth = cellWidth + 7 end if img ~= '' then local imgTbl = mainCell:tag('table') imgTbl :css('width', (cellWidth + 20) .. 'px') :css('float', 'left') :css('border-collapse', 'collapse') :css('margin', '3px') :tag('tr') :tag('td') :css('height', (imgHeight + 20) .. 'px') :css('border', '1px solid #CCCCCC') :css('background-color', '#F8F8F8') :css('padding', '0px') :css('text-align', 'center') :wikitext(string.format('[[%s|center|border|%dx%dpx|alt=%s|%s]]', img, imgWidth, imgHeight, alt, mw.text.unstrip(caption))) :done() :done() :tag('tr') :css('vertical-align', 'top') :tag('td') :css('display', 'block') :css('font-size', '1em') :css('padding', '0px') :tag('div') :addClass('gallerytext') :css('min-height', (0.1 + 1.5*lines) .. 'em') :css('width', textWidth .. 'px') :css('line-height', '1.3em') :css('padding', '2px 6px 1px 6px') :css('margin', '0px') :css('border', 'none') :css('border-width', '0px') :cssText(captionstyle) :wikitext(caption .. ' ') end end if args.footer then tbl :tag('tr') :tag('td') :css('text-align', 'right') :css('font-size', '80%') :css('line-height', '1em') :wikitext(args.footer) end if args.perrow then tbl:css('width', 8 + (cellWidth + 20 + 6)*tonumber(args.perrow) .. 'px') end return tostring(tbl) end return p
モジュール:Gallery
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
モジュール
議論
English
表示
閲覧
履歴表示
その他
検索
案内
索引
脳科学辞典について
最近完成した項目
編集履歴
執筆にあたって
引用の仕方
著作権について
免責事項
問い合わせ
各学会編集のオンライン用語辞典
About us (in English)
Twitter (BrainScienceBot)
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
他のプロジェクト