モジュール:Authority_control/documentation
[Wikipedia|▼Menu]
.mw-parser-output .documentation,.mw-parser-output .documentation-metadata{border:1px solid #a2a9b1;background-color:#ecfcf4;clear:both}.mw-parser-output .documentation{margin:1em 0 0 0;padding:1em}.mw-parser-output .documentation-metadata{margin:0.2em 0;font-style:italic;padding:0.4em 1em}.mw-parser-output .documentation-startbox{padding-bottom:3px;border-bottom:1px solid #aaa;margin-bottom:1ex}.mw-parser-output .documentation-heading{font-weight:bold;font-size:125%}.mw-parser-output .documentation-clear{clear:both}.mw-parser-output .documentation-toolbar{font-style:normal;font-size:85%} モジュールの解説[表示] [編集] [履歴] [キャッシュを破棄].mw-parser-output .sidebar{width:auto;float:right;clear:right;margin:0.5em 0 1em 1em;background:#f8f9fa;border:1px solid #aaa;padding:0.2em;text-align:center;line-height:1.4em;font-size:88%;border-collapse:collapse;display:table}body.skin-minerva .mw-parser-output .sidebar{display:table!important;float:right!important;margin:0.5em 0 1em 1em!important}.mw-parser-output .sidebar-subgroup{width:100%;margin:0;border-spacing:0}.mw-parser-output .sidebar-left{float:left;clear:left;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-none{float:none;clear:both;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-outer-title{padding:0 0.4em 0.2em;font-size:125%;line-height:1.2em;font-weight:bold}.mw-parser-output .sidebar-top-image{padding:0.4em}.mw-parser-output .sidebar-top-caption,.mw-parser-output .sidebar-pretitle-with-top-image,.mw-parser-output .sidebar-caption{padding:0.2em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-pretitle{padding:0.4em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-title,.mw-parser-output .sidebar-title-with-pretitle{padding:0.2em 0.8em;font-size:145%;line-height:1.2em}.mw-parser-output .sidebar-title-with-pretitle{padding:0 0.4em}.mw-parser-output .sidebar-image{padding:0.2em 0.4em 0.4em}.mw-parser-output .sidebar-heading{padding:0.1em 0.4em}.mw-parser-output .sidebar-content{padding:0 0.5em 0.4em}.mw-parser-output .sidebar-content-with-subgroup{padding:0.1em 0.4em 0.2em}.mw-parser-output .sidebar-above,.mw-parser-output .sidebar-below{padding:0.3em 0.8em;font-weight:bold}.mw-parser-output .sidebar-collapse .sidebar-above,.mw-parser-output .sidebar-collapse .sidebar-below{border-top:1px solid #aaa;border-bottom:1px solid #aaa}.mw-parser-output .sidebar-navbar{text-align:right;font-size:75%;padding:0 0.4em 0.4em}.mw-parser-output .sidebar-list-title{padding:0 0.4em;text-align:left;font-weight:bold;line-height:1.6em;font-size:105%}.mw-parser-output .sidebar-list-title-c{padding:0 0.4em;text-align:center;margin:0 3.3em}@media(max-width:720px){body.mediawiki .mw-parser-output .sidebar{width:100%!important;clear:both;float:none!important;margin-left:0!important;margin-right:0!important}}.mw-parser-output .sidebar-lua{width:238px}

Wikipedia:典拠管理
テンプレート

ノート

サンドボックス

テストケース

解説

サブページの一覧

モジュール

サンドボックス

テストケース

解説

サブページの一覧

Config

サンドボックス

Auxiliary

サンドボックス

Docモジュール

サンドボックス

カテゴリ

要注意

この解説は、モジュール:Authority control/documentation/docから呼び出されています。 (編集 | 履歴)
編集者は、このモジュールをサンドボックス (編集 | 差分)とテストケース (作成)で試すことができます。(解説
このモジュールのサブページ一覧。

require('strict')local p = {}local configfile = 'Module:Authority control/config' -- default configuation modulelocal arg = mw.getCurrentFrame().args.configif arg and arg~='' then configfile = 'Module:Authority control/config/' .. argendlocal configif mw.title.new(configfile).exists then config = mw.loadData(configfile)else return error('Invalid configuration file',0)endlocal title = mw.title.getCurrentTitle()local namespace = title.namespacelocal testcases = title.subpageText == config.i18n.testcaseslocal makelink = require(config.i18n.ACmodule).makelinklocal lang = mw.getContentLanguage()local function needsAttention(sortkey) return '[[' .. config.i18n.category .. ':' .. config.i18n.attentioncat .. '|' .. sortkey .. title.text .. ']]'endlocal function addCat(cat,sortkey) if cat and cat ~= '' and (namespace == 0 or namespace == 14 or testcases) then local redlinkcat = '' if testcases == false and mw.title.new(cat, 14).exists == false then redlinkcat = needsAttention('N') end if sortkey then cat = '[[' .. config.i18n.category .. ':'..cat..'|' .. sortkey .. title.text .. ']]' else cat = '[[' .. config.i18n.category .. ':'..cat..']]' end cat = cat .. redlinkcat return cat else return '' endend-- Creates a human-readable standalone wikitable version of conf, and tracking categories with page counts, for use in the documentationfunction p.docConfTable(frame) local function checkcat(category,label) local ret='[[:Category:'..category..'|'..label..']]' --if mw.title.new(category,14).exists == false then --ret = ret..' <span class="plainlinks" style="font-size:85%;">&#91;['..tostring(mw.uri.fullUrl('Category:'..category,'action=edit&preload=Template:Authority_control/preload'))..' 作成]&#93;</span>' --end return ret end local doc = '' local a, P, f = 0, 0, 0 --cumulative sums local count = frame.args.count or false local columns = 3 + (count and 1 or 0) local row = function(conf) local category = conf.category or conf[1] local articleCat = string.format(config.i18n.cat,category) local articleCount = mw.site.stats.pagesInCategory(articleCat,config.i18n.pages) local errorCat = conf.errorcat or string.format( config.i18n.cat, config.i18n.faulty .. category ) local errorCount = mw.site.stats.pagesInCategory(errorCat,config.i18n.pages) P = P + 1 --property count a = a + articleCount f = f + errorCount local getstatement = function(id,propid,qualid) local statement = mw.wikibase.getBestStatements('P' .. id, 'P' .. propid) local value if statement and statement[1] and statement[1].mainsnak.datavalue.value.id then value = statement[1].mainsnak.datavalue.value.id local qual if qualid and statement[1].qualifiers['P' .. qualid][1].datavalue.value then qual = statement[1].qualifiers['P' .. qualid][1].datavalue.value end return value, qual end end local _, example = getstatement(conf.property, 1855, conf.property) if not example then example = '' end example = frame:expandTemplate{title = "Hlist", args = {'\n' .. makelink(conf,{id=example},1)}} .. '\n' local getname = function(nameprop) local name = getstatement(conf.property,nameprop) if name then return frame:expandTemplate{title='Wikidata fallback link',args={name}} end end local name = getname(1629) or getname(10726) or getname(9073) or getname(2378) or '' local out = '' if conf.remark then out = out .. '<tr><td rowspan=2>' else out = out .. '<tr><td>' end out = out .. name .. '</td>' .. '<td style="text-align: center">' .. config.sections[conf.section].name .. '</td>' .. '<td data-sort-value=' .. conf.property .. '>' .. frame:expandTemplate{title='Wikidata property link',args={id='f',conf.property}} .. '</td>' .. '<td>' .. example .. '</td>' if count then out = out .. '<td style="text-align: right;">'..checkcat(articleCat,lang:formatNum(articleCount))..' ('..checkcat(errorCat,errorCount)..')</td>' end out = out .. '</tr>' if conf.remark then out = out .. "<tr class='expand-child'><td colspan=" .. columns .. ">'''Remarks:''' " .. frame:preprocess{text = conf.remark} .. "</td></tr>" end return out end local doc = '<table class="wikitable sortable">' .. '<tr><th>' .. config.i18n.identifier .. '</th>' .. '<th>' .. config.i18n.Section .. '</th>' .. '<th data-sort-type=number>' .. config.i18n.WDproperty .. '</th>' .. '<th>' .. config.i18n.Appears_as .. '</th>' if count then doc = doc .. '<th>[[:' .. config.i18n.category .. ':' .. config.i18n.maincat .. '|' .. config.i18n.numofarticles .. ']] ' .. '([[:' .. config.i18n.category .. ':' .. config.i18n.faultcat .. '|' .. config.i18n.Faults .. ']])</th>' end doc = doc .. '</tr>' for _, conf in pairs(config.config) do doc = doc .. row(conf) end if count then doc = doc .. '<tr><th style="text-align: right;" colspan=' .. columns-1 .. '>' .. config.i18n.Totals .. '</th>' .. '<th style="text-align: right;">' .. P .. '</th>' .. '<th style="text-align: right;">' .. lang:formatNum(a) .. ' ([[:' .. config.i18n.category .. ':' .. config.i18n.allfaultycat .. '|' .. f .. ']])</th></tr>' end doc = doc .. '</table>' return docendfunction p.errorTable(frame) local Table = '<table class="wikitable sortable">'.. '<tr><th>' .. config.i18n.WDproperty .. '</th>'.. '<th>' .. config.i18n.faulty .. config.i18n.identifiers .. '</th>'.. '<th>[[:' .. config.i18n.category .. ':' .. config.i18n.faultcat .. '|' .. config.i18n.Tracking_category .. ']]</th></tr>' local f, P = 0, 0, 0 --cumulative sums for _, conf in pairs(config.config) do local category = conf.errorcat or string.format( config.i18n.cat, config.i18n.faulty .. (conf.category or conf[1]) ) local count = mw.site.stats.pagesInCategory(category,config.i18n.pages) if count > 0 then P = P + 1 f = f + count Table = Table..'<tr><td>'..frame:expandTemplate{ title = config.i18n.linktemplate, args = { id = 'f', conf.property } } .. '</td>'.. '<td style="text-align:center;">'..tostring(count)..'</td>'.. '<td>[[:' .. config.i18n.category .. ':'..category..']]</td></tr>' end end Table = Table..'<tr><th>' .. config.i18n.Totals .. '</th>'.. '<th style="text-align:center;">' .. '[[:' .. config.i18n.category .. ':' .. config.i18n.allfaultycat .. '|' .. tostring(f) .. ']]</th>'.. '<th style="text-align:center;">'..tostring(P)..'</th></tr></table>' return Tableendfunction p.whitelisttable(frame) local Table = '<table class="wikitable sortable">'.. '<tr><th>' .. config.i18n.Code .. '</th>'.. '<th>' .. config.i18n.Topic .. '</th>'.. '<th>' .. config.i18n.identifiers .. '</th></tr>' for code, wlist in pairs(config.whitelists) do Table = Table .. '<tr><th>' .. code .. '</th>'.. '<td>[[' .. mw.wikibase.getSitelink('Q' .. wlist.topic) .. ']]</td>' local plist = {} for _, property in pairs(wlist.properties) do table.insert(plist,frame:expandTemplate{title='Wikidata property link', args={'P' .. property}}) end Table = Table .. '<td>' .. table.concat(plist,', ') .. '</td></tr>' end Table = Table .. '</table>' return Tableendfunction p.sectiontable(frame) local Table = '<table class="wikitable sortable">'.. '<tr><th>' .. config.i18n.section_num .. '</th>' .. '<th>' .. config.i18n.Description .. '</th>'.. '<th>' .. config.i18n.identifiers .. '</th></tr>' for number,section in ipairs(config.sections) do Table = Table .. '<tr><th>' .. number .. '</th>' .. '<td>' .. section.name .. '</td>' local plist = {} for _,id in pairs(config.config) do if id.section == number then table.insert(plist,frame:expandTemplate{title=config.i18n.linktemplate, args={'P' .. id.property}}) end end Table = Table .. '<td>' .. table.concat(plist,', ') .. '</td></tr>' end Table = Table .. '</table>' return Tableend-- Main/External Call for Pages with authority control identifiersfunction p.autoDetect(frame) local function whichTOC(frame) local pageCount = mw.site.stats.pagesInCategory(title.text, config.i18n.pages) if pageCount >= 5000 then return frame:expandTemplate{ title = 'CategoryTOC6' } elseif pageCount > 400 then return frame:expandTemplate{ title = 'CategoryTOC5' } end return '' end local function wpa(frame,id,faulty) -- 日本語版独自: カテゴリに対応する識別子が存在しない場合の動作 local outString = frame:expandTemplate{ title = 'Wikipedia category', args = { hidden = 'yes', tracking = 'yes' } } .. frame:expandTemplate{ title = 'Possibly empty category' } local name = nil for _, conf in pairs(config.config) do if conf.category == id or conf[1]:lower() == id:lower() then local getname = function(nameprop) local name = mw.wikibase.getBestStatements('P'..conf.property,nameprop) if name and name[1] and name[1].mainsnak.datavalue.value.id then return frame:expandTemplate{title='Wikidata fallback link',args={name[1].mainsnak.datavalue.value.id}} end end -- Unlike enwiki, 'name' is defined outside of the loop name = getname('P1629') or getname('P10726') or getname('P9073') or getname('P2378') or '' if mw.ustring.find(name, '識別子]]', 1, true) or mw.ustring.find(name, 'ID]]', 1, true) then else name = name .. '識別子' end outString = outString .. frame:expandTemplate{ title = 'Category explanation', args = {name..'がある記事を収集しています。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:60 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef