「モジュール:See/core」の版間の差分
ナビゲーションに移動
検索に移動
temp>翼のない堕天使 (en:Module:Hatnote 05:20, 9 May 2017(UTC)から、_formatLink、findNamespaceId、removeInitialColonメソッドを参考に新規作成) |
Triple-Zeta (トーク | 投稿記録) 細 (1版 をインポートしました) |
||
(2人の利用者による、間の2版が非表示) |
2021年3月3日 (水) 11:39時点における最新版
このモジュールについての説明文ページを モジュール:See/core/doc に作成できます
local p = {}
function p.GetLink(frame)
local link = frame.args[1]
local display = frame.args[2]
-- 第一引数の値が技術的に利用可能な記事名でない場合、
-- 第一引数の値をそのまま返す
local IsValidPageName = require('モジュール:IsValidPageName')
if IsValidPageName.isValidPageName(frame) == "" then
return link
end
if display == "" then
display = nil
end
return p._formatLink(link, display)
end
function p._formatLink(link, display)
-- Remove the initial colon for links where it was specified manually.
link = link:match('^:?(.*)')
-- Find whether a faux display value has been added with the {{!}} magic
-- word.
if not display then
local prePipe, postPipe = link:match('^(.-)|(.*)$')
link = prePipe or link
display = postPipe
end
-- Assemble the link.
if display then
return string.format(
'[[:%s|%s]]',
string.gsub(link, '|(.*)$', ''), --display overwrites manual piping
display
)
else
return string.format('[[:%s]]', link)
end
end
return p