「
モジュール:Uses TemplateStyles
」を編集中
ナビゲーションに移動
検索に移動
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、さまざまなメリットもあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
-- This module implements the {{Uses TemplateStyles}} template. local yesno = require('Module:Yesno') local mList = require('Module:List') local mTableTools = require('Module:TableTools') local mMessageBox = require('Module:Message box') local p = {} function p.main(frame) local origArgs = frame:getParent().args local args = {} for k, v in pairs(origArgs) do v = v:match('^%s*(.-)%s*$') if v ~= '' then args[k] = v end end return p._main(args) end function p._main(args) local tStyles = mTableTools.compressSparseArray(args) local box = p.renderBox(tStyles) local trackingCategories = p.renderTrackingCategories(args, tStyles) return box .. trackingCategories end function p.renderBox(tStyles) local boxArgs = {} if #tStyles < 1 then boxArgs.text = '<strong class="error">エラー: TemplateStylesが指定されていません</strong>' else local tStylesLinks = {} for i, ts in ipairs(tStyles) do local sandboxLink = nil local tsTitle = mw.title.new(ts) if tsTitle then local tsSandboxTitle = mw.title.new(string.format('%s:%s/sandbox/%s', tsTitle.nsText, tsTitle.baseText, tsTitle.subpageText)) if tsSandboxTitle and tsSandboxTitle.exists then sandboxLink = string.format(' ([[:%s|サンドボックス]])', tsSandboxTitle.prefixedText) end end tStylesLinks[i] = string.format('[[:%s]]%s', ts, sandboxLink or '') end local tStylesList = mList.makeList('bulleted', tStylesLinks) boxArgs.text = 'この' .. (mw.title.getCurrentTitle():inNamespaces(828,829) and 'モジュール' or 'テンプレート') .. 'は[[mw:Help:TemplateStyles/ja|テンプレートスタイル]]を使用しています:\n' .. tStylesList end boxArgs.type = 'notice' boxArgs.small = true boxArgs.image = '[[File:Farm-Fresh css add.svg|32px|alt=CSS]]' return mMessageBox.main('mbox', boxArgs) end function p.renderTrackingCategories(args, tStyles, titleObj) if yesno(args.nocat) then return '' end local cats = {} -- Error category if #tStyles < 1 then cats[#cats + 1] = 'テンプレート呼び出しエラーのあるページ/Template:Uses TemplateStyles' end -- TemplateStyles category titleObj = titleObj or mw.title.getCurrentTitle() local subpageBlacklist = { doc = true, sandbox = true, sandbox2 = true, testcases = true } if (titleObj.namespace == 10 or titleObj.namespace == 828) and not subpageBlacklist[titleObj.subpageText] then local category = args.category if not category then category = category or 'テンプレートスタイルを利用するテンプレート' end cats[#cats + 1] = category if not yesno(args.noprotcat) then local currentProt = titleObj.protectionLevels["edit"] and titleObj.protectionLevels["edit"][1] or nil local addedLevelCat = false local addedPadlockCat = false for i, ts in ipairs(tStyles) do local tsTitleObj = mw.title.new(ts) local tsProt = tsTitleObj.protectionLevels["edit"] and tsTitleObj.protectionLevels["edit"][1] or nil if tsProt ~= currentProt and not addedLevelCat then cats[#cats + 1] = "異なる保護レベルがあるテンプレートスタイル使用テンプレート" end if tsProt and not addedPadlockCat then local content = tsTitleObj:getContent() if not content:find("{{pp-") then cats[#cats + 1] = "保護表示がないテンプレートスタイル使用テンプレート" addedPadlockCat = true end end end end end for i, cat in ipairs(cats) do cats[i] = string.format('[[Category:%s]]', cat) end return table.concat(cats) end return p
編集内容の要約:
uwuzu 非公式Wikiへの投稿はすべて、クリエイティブ・コモンズ 表示-非営利-継承 (詳細は
UwuzuWiki:著作権
を参照)のもとで公開したと見なされることにご注意ください。 自分が書いたものが他の人に容赦なく編集され、自由に配布されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください。
著作権保護されている作品は、許諾なしに投稿しないでください!
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
このページで参照読み込みされているページ:
モジュール:Uses TemplateStyles/doc
(
編集
)
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
モジュール
議論
English
表示
閲覧
ソースを編集
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
このWIkiについて
ツール
リンク元
関連ページの更新状況
ページ情報
他のプロジェクト