モジュール:See/core

2018年9月13日 (木) 23:06時点におけるtemp>翼のない堕天使による版 (en:Module:Hatnote 05:20, 9 May 2017‎(UTC)から、_formatLink、findNamespaceId、removeInitialColonメソッドを参考に新規作成)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

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',
           string.gsub(link, '|(.*)$', ), --display overwrites manual piping
           display
       )
   else
       return string.format('%s', link)
   end

end

return p