Sətir 205: |
Sətir 205: |
| end | | end |
| | | |
− | -- This is used by templates such as {{SfnRef}} to create the (encoded) anchor name for a Harvard cross-reference hyperlink.
| |
− | function z.SFNID(frame)
| |
− | local pframe = frame:getParent()
| |
− | return anchorid('FOOTNOTE', pframe.args)
| |
− | end
| |
| | | |
− | -- This is used by templates such as {{Harvard citation}} to create the Harvard cross-reference text.
| |
− | function z.Harvard(frame)
| |
− | local pframe = frame:getParent()
| |
− | return crossref(frame, pframe.args)
| |
− | end
| |
− |
| |
− | -- This is used by templates such as {{sfn}} to create the entire cross-reference.
| |
− | function z.sfn(frame)
| |
− | local pframe = frame:getParent()
| |
− | pframe.args.Postscript = pframe.args.postscript or pframe.args.ps or ".";
| |
− |
| |
− | local content = crossref(frame, 'CITEREF', pframe.args)
| |
− | local args = { name = refid( 'FOOTNOTE', pframe.args) }
| |
− | return createTag({name = "ref", contents = content, params = args}, frame)
| |
− | end
| |
− |
| |
− | -- This is used by template {{r}}.
| |
− | function z.r(frame)
| |
− | local pframe = frame:getParent()
| |
− | local config = frame.args -- the arguments passed BY the template, in the wikitext of the template itself
| |
− | local args = pframe.args -- the arguments passed TO the template, in the wikitext that instantiates the template
| |
− | args.page1 = args.page1 or args.page
| |
− | local text = ""
| |
− | -- This would be shorter using ipairs(), but that doesn't work on an arguments table supplied to a template.
| |
− | local index = 1
| |
− | while args[index] ~= nil do
| |
− | local arg = args[index]
| |
− | local t = r0(frame, arg, args.group, args["page" .. index])
| |
− | text = text .. t
| |
− | index = index + 1
| |
− | end
| |
− | return text
| |
− | end
| |
− |
| |
− | -- This is used by template {{ref label}}.
| |
− | function z.reflabel(frame)
| |
− | local pframe = frame:getParent()
| |
− | local config = frame.args -- the arguments passed BY the template, in the wikitext of the template itself
| |
− | local args = pframe.args -- the arguments passed TO the template, in the wikitext that instantiates the template
| |
− | local P1 = args[1] or ""
| |
− | local P2 = args[2] or ""
| |
− | local P3 = args[3] or ""
| |
− | local id = nil
| |
− | local contents = "[[#endnote_" .. P1 .. P3 .. "|[" .. P2 .. "]]]"
| |
− | local params = {}
| |
− | params.class="reference"
| |
− | if ( args.noid == nil or args.noid == "" ) then params.id = "ref_" .. P1 .. P3 end
| |
− | return createTag({name="sup",contents=contents,params=params})
| |
− | end
| |
− |
| |
− | -- This is used by template {{note label}}.
| |
− | function z.notelabel(frame)
| |
− | local pframe = frame:getParent()
| |
− | local config = frame.args -- the arguments passed BY the template, in the wikitext of the template itself
| |
− | local args = pframe.args -- the arguments passed TO the template, in the wikitext that instantiates the template
| |
− | local id = args[1] or ""
| |
− | local arrow = args[3] or ""
| |
− | local postscript = args[4] or ""
| |
− | local contents
| |
− | if arrow ~= "" then
| |
− | local sup_arrow = createTag({name="sup",contents=arrow,params={}})
| |
− | contents = "[[#ref_" .. id .. arrow .. "|<b>" .. sup_arrow .. "</b>]]" .. postscript
| |
− | if "none" == arrow then arrow = "^" end -- Change this AFTER using it in the ID parameter and the contents.
| |
− | else
| |
− | contents = (args[2] or "") .. postscript
| |
− | end
| |
− | local params = { class="citation wikicite" }
| |
− | if id ~= "" and ( args.noid == nil or args.noid == "" ) then
| |
− | params.id = mw.uri.anchorEncode("endnote_" .. id .. arrow)
| |
− | end
| |
− | return createTag({name="span",contents=contents,params=params})
| |
− | end
| |
| | | |
| -- This is used by templates {{reflist}} and {{notelist}}. | | -- This is used by templates {{reflist}} and {{notelist}}. |