「
モジュール:Labelled list hatnote
」を編集中
ナビゲーションに移動
検索に移動
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、さまざまなメリットもあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
local mHatnote = require('Module:Hatnote') local mHatlist = require('Module:Hatnote list') local mArguments -- initialize lazily local p = {} -- Defaults global to this module local defaults = { label = 'を参照', -- Final fallback for label argument mainLabelForm = '→詳細は%s%s', -- Label format for main template labelForm = '→%s%s', -- Label format for see_also template prefixes = {'label', 'label ', 'l'}, template = 'Module:Labelled list hatnote' } -- Helper function that pre-combines display parameters into page arguments. -- Also compresses sparse arrays, as a desirable side-effect. function p.preprocessDisplays(args, prefixes) prefixes = prefixes or defaults.prefixes local pages = {} for k, v in pairs(args) do if type(k) == 'number' then local display for i = 1, #prefixes do display = args[prefixes[i] .. k] if display then break end end local page = display and string.format('%s|%s', string.gsub(v, '|.*$', ''), display) or v pages[#pages + 1] = page end end return pages end -- Produces a labelled pages-list hatnote. function p.labelledList(frame) mArguments = require('Module:Arguments') local template = frame:getParent():getTitle() if template ~= 'Template:Main' and template ~= 'Template:Main/sandbox' then template = 'Template:See Also' -- Default template if not Main end local args = mArguments.getArgs(frame, {parentOnly = true}) local pages = p.preprocessDisplays(args) local labels local labelForm if template == 'Template:Main' or template == 'Template:Main/sandbox' then labels = {defaults.label} labelForm = frame.args.labelForm or defaults.mainLabelForm else labels = {frame.args[1] or defaults.label} labels[2] = frame.args[2] or labels[1] labelForm = frame.args.labelForm or defaults.labelForm end local options = { extraclasses = frame.args.extraclasses, category = args.category, selfref = frame.args.selfref or args.selfref, template = template, labelForm = labelForm } return p._labelledList(pages, labels, options) end function p._labelledList(pages, labels, options) labels = labels or {} if #pages == 0 then return mHatnote.makeWikitextError( 'ページ名が指定されていません', (options.template or defaults.template) .. '#エラー', options.category ) end local label = (#pages == 1 and labels[1] or labels[2]) or defaults.label local text = string.format( options.labelForm or defaults.labelForm, mHatlist.andList(pages, true), label ) local classes = {} if type(options.extraclasses) == 'string' then classes[#classes + 1] = options.extraclasses end if options.selfref then classes[#classes + 1] = 'selfref' end -- Render the HTML div with the specified style and classes local html = string.format( '<div class="rellink %s" style="margin-bottom: 0.5em; padding-left: 2em; font-size: 90%%;" role="note">%s</div>', table.concat(classes, ' '), text ) return html end return p
編集内容の要約:
uwuzu 非公式Wikiへの投稿はすべて、クリエイティブ・コモンズ 表示-非営利-継承 (詳細は
UwuzuWiki:著作権
を参照)のもとで公開したと見なされることにご注意ください。 自分が書いたものが他の人に容赦なく編集され、自由に配布されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください。
著作権保護されている作品は、許諾なしに投稿しないでください!
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
このページで参照読み込みされているページ:
モジュール:Labelled list hatnote/doc
(
編集
)
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
モジュール
議論
English
表示
閲覧
ソースを編集
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
このWIkiについて
ツール
リンク元
関連ページの更新状況
ページ情報
他のプロジェクト