الفرق بين المراجعتين لصفحة: «وحدة:توثيق»

من كوبتيكبيديا
اذهب إلى التنقلاذهب الى البحث
Gerges
Gerges (نقاش | مساهمات) (مراجعة واحدة)
ط
كوبتيكبيديا>LokasBot
كوبتيكبيديا>LokasBot (غيّر إعدادات حماية »وحدة:توثيق«: بوت: [https://w.wiki/7NGP تحسين مستوي الحماية] ([تعديل=السماح للمحررين فقط] (غير محدد) [النقل=السماح للمحررين فقط] (غير محدد)))
ط
سطر ٣: سطر ٣:
-- Get required modules.
-- Get required modules.
local getArgs = require('Module:Arguments').getArgs
local getArgs = require('Module:Arguments').getArgs
local messageBox = require('Module:Message box')


-- Get the config table.
-- Get the config table.
سطر ١٢: سطر ١١:
-- Often-used functions.
-- Often-used functions.
local ugsub = mw.ustring.gsub
local ugsub = mw.ustring.gsub
local format = mw.ustring.format


----------------------------------------------------------------------------
----------------------------------------------------------------------------
سطر ٤٤: سطر ٤٤:
end
end


local ret = ugsub(msg, '$([1-9][0-9]*)', getMessageVal)
return ugsub(msg, '$([1-9][0-9]*)', getMessageVal)
return ret
end
end


سطر ٥٢: سطر ٥١:
local function makeWikilink(page, display)
local function makeWikilink(page, display)
if display then
if display then
return mw.ustring.format('[[%s|%s]]', page, display)
return format('[[%s|%s]]', page, display)
else
else
return mw.ustring.format('[[%s]]', page)
return format('[[%s]]', page)
end
end
end
end
سطر ٦٨: سطر ٦٧:


local function makeUrlLink(url, display)
local function makeUrlLink(url, display)
return mw.ustring.format('[%s %s]', url, display)
return format('[%s %s]', url, display)
end
end


سطر ٨٢: سطر ٨١:
ret[#ret + 1] = select(i, ...)
ret[#ret + 1] = select(i, ...)
end
end
return '<small style="font-style: normal;">(' .. table.concat(ret, ' &#124; ') .. ')</small>'
-- 'documentation-toolbar'
return format(
'<span class="%s">(%s)</span>',
message('toolbar-class'),
table.concat(ret, ' &#124; ')
)
end
end


سطر ١١٢: سطر ١١٦:


----------------------------------------------------------------------------
----------------------------------------------------------------------------
-- Main function
-- Entry points
----------------------------------------------------------------------------
----------------------------------------------------------------------------
function p.nonexistent(frame)
if mw.title.getCurrentTitle().subpageText == 'مختبر' then
return frame:expandTemplate{title = 'ملاحظة مختبر الوحدة'}
else
return p.main(frame)
end
end


p.main = makeInvokeFunc('_main')
p.main = makeInvokeFunc('_main')
سطر ١٢١: سطر ١٣٣:
-- This function defines logic flow for the module.
-- This function defines logic flow for the module.
-- @args - table of arguments passed by the user
-- @args - table of arguments passed by the user
--
-- Messages:
-- 'main-div-id' --> 'template-documentation'
-- 'main-div-classes' --> 'template-documentation iezoomfix'
--]]
--]]
local env = p.getEnvironment(args)
local env = p.getEnvironment(args)
local root = mw.html.create()
local root = mw.html.create()
root
root
:wikitext(p._getModuleWikitext(args, env))
:wikitext(p.protectionTemplate(env))
:wikitext(p.protectionTemplate(env))
:wikitext(p.sandboxNotice(args, env))
:wikitext(p.sandboxNotice(args, env))
-- This div tag is from {{documentation/start box}}, but moving it here
-- so that we don't have to worry about unclosed tags.
:tag('div')
:tag('div')
:attr('id', message('main-div-id'))
-- 'documentation-container'
:addClass(message('main-div-classes'))
:addClass(message('container'))
:attr('role', 'complementary')
:attr('aria-labelledby', args.heading ~= '' and 'documentation-heading' or nil)
:attr('aria-label', args.heading == '' and 'Documentation' or nil)
:newline()
:newline()
:wikitext(p._startBox(args, env))
:wikitext(p._content(args, env))
:tag('div')
:tag('div')
:css('clear', 'both') -- So right or left floating items don't stick out of the doc box.
-- 'documentation'
:addClass(message('main-div-classes'))
:newline()
:wikitext(p._startBox(args, env))
:wikitext(p._content(args, env))
:tag('div')
-- 'documentation-clear'
:addClass(message('clear'))
:done()
:newline()
:newline()
:done()
:done()
:wikitext(p._endBox(args, env))
:done()
:done()
:wikitext(p._endBox(args, env))
:wikitext(p.addTrackingCategories(env))
:wikitext(p.addTrackingCategories(env))
return tostring(root)
-- 'Module:Documentation/styles.css'
return mw.getCurrentFrame():extensionTag (
'templatestyles', '', {src=cfg['templatestyles']
}) .. tostring(root)
end
end


سطر ١٥٥: سطر ١٧٤:
function p.getEnvironment(args)
function p.getEnvironment(args)
--[[
--[[
-- Returns a table with information about the environment, including title objects and other namespace- or
-- Returns a table with information about the environment, including title
-- path-related data.
-- objects and other namespace- or path-related data.
-- @args - table of arguments passed by the user
-- @args - table of arguments passed by the user
--
--
سطر ١٦٥: سطر ١٨٤:
-- env.sandboxTitle - the /sandbox subpage.
-- env.sandboxTitle - the /sandbox subpage.
-- env.testcasesTitle - the /testcases subpage.
-- env.testcasesTitle - the /testcases subpage.
-- env.printTitle - the print version of the template, located at the /Print subpage.
--
--
-- Data includes:
-- Data includes:
سطر ٢٥٩: سطر ٢٧٧:
--]]
--]]
return mw.title.new(env.docpageBase .. '/' .. message('testcases-subpage'))
return mw.title.new(env.docpageBase .. '/' .. message('testcases-subpage'))
end
function envFuncs.printTitle()
--[[
-- Title object for the /Print subpage.
-- Messages:
-- 'print-subpage' --> 'Print'
--]]
return env.templateTitle:subPageTitle(message('print-subpage'))
end
end


سطر ٢٨١: سطر ٢٩٠:


function envFuncs.docSpace()
function envFuncs.docSpace()
-- The documentation namespace number. For most namespaces this is the same as the
-- The documentation namespace number. For most namespaces this is the
-- subject namespace. However, pages in the Article, File, MediaWiki or Category
-- same as the subject namespace. However, pages in the Article, File,
-- namespaces must have their /doc, /sandbox and /testcases pages in talk space.
-- MediaWiki or Category namespaces must have their /doc, /sandbox and
-- /testcases pages in talk space.
local subjectSpace = env.subjectSpace
local subjectSpace = env.subjectSpace
if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then
if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then
سطر ٣٠٧: سطر ٣١٧:
local sandboxTitle = env.sandboxTitle
local sandboxTitle = env.sandboxTitle
if templateTitle.exists and sandboxTitle.exists then
if templateTitle.exists and sandboxTitle.exists then
local compareUrl = mw.uri.fullUrl(
local compareUrl = mw.uri.canonicalUrl(
'Special:ComparePages',
'Special:ComparePages',
{page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText}
{ page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText}
)
)
return tostring(compareUrl)
return tostring(compareUrl)
سطر ٣٢٣: سطر ٣٣٣:
-- Auxiliary templates
-- Auxiliary templates
----------------------------------------------------------------------------
----------------------------------------------------------------------------
p.getModuleWikitext = makeInvokeFunc('_getModuleWikitext')
function p._getModuleWikitext(args, env)
local currentTitle = mw.title.getCurrentTitle()
if currentTitle.contentModel ~= 'Scribunto' then return end
pcall(require, currentTitle.prefixedText) -- if it fails, we don't care
local moduleWikitext =  package.loaded["Module:Module wikitext"]
if moduleWikitext then
return moduleWikitext.main()
end
end


function p.sandboxNotice(args, env)
function p.sandboxNotice(args, env)
سطر ٣٣١: سطر ٣٥٣:
--  
--  
-- Messages:
-- Messages:
-- 'sandbox-notice-image' --> '[[Image:Sandbox - OpenClipart.svg|50px|alt=|link=]]'
-- 'sandbox-notice-image' --> '[[File:Sandbox.svg|50px|alt=|link=]]'
-- 'sandbox-notice-blurb' --> 'This is the $1 for $2.'
-- 'sandbox-notice-blurb' --> 'This is the $1 for $2.'
-- 'sandbox-notice-diff-blurb' --> 'This is the $1 for $2 ($3).'
-- 'sandbox-notice-diff-blurb' --> 'This is the $1 for $2 ($3).'
سطر ٣٤٦: سطر ٣٦٨:
local templateTitle = env.templateTitle
local templateTitle = env.templateTitle
local subjectSpace = env.subjectSpace
local subjectSpace = env.subjectSpace
if not (subjectSpace and title and sandboxTitle and templateTitle and mw.title.equals(title, sandboxTitle)) then
if not (subjectSpace and title and sandboxTitle and templateTitle
and mw.title.equals(title, sandboxTitle)) then
return nil
return nil
end
end
سطر ٣٧٦: سطر ٣٩٩:
local testcasesTitle = env.testcasesTitle
local testcasesTitle = env.testcasesTitle
if testcasesTitle and testcasesTitle.exists then
if testcasesTitle and testcasesTitle.exists then
if testcasesTitle.namespace == mw.site.namespaces.Module.id then
if testcasesTitle.contentModel == "Scribunto" then
local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display')
local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display')
local testcasesRunLinkDisplay = message('sandbox-notice-testcases-run-link-display')
local testcasesRunLinkDisplay = message('sandbox-notice-testcases-run-link-display')
سطر ٣٨٩: سطر ٤١٢:
end
end
-- Add the sandbox to the sandbox category.
-- Add the sandbox to the sandbox category.
text = text .. makeCategoryLink(message('sandbox-category'))
omargs.text = text .. makeCategoryLink(message('sandbox-category'))
omargs.text = text
 
local ret = '<div style="clear: both;"></div>'
-- 'documentation-clear'
ret = ret .. messageBox.main('ombox', omargs)
return '<div class="' .. message('clear') .. '"></div>'
return ret
.. require('Module:Message box').main('ombox', omargs)
end
end


سطر ٤٠٢: سطر ٤٢٥:
-- 'protection-template' --> 'pp-template'
-- 'protection-template' --> 'pp-template'
-- 'protection-template-args' --> {docusage = 'yes'}
-- 'protection-template-args' --> {docusage = 'yes'}
local protectionLevels, mProtectionBanner
local protectionLevels = env.protectionLevels
local title = env.title
protectionLevels = env.protectionLevels
if not protectionLevels then
if not protectionLevels then
return nil
return nil
سطر ٤١٢: سطر ٤٣٣:
if editProt then
if editProt then
-- The page is edit-protected.
-- The page is edit-protected.
mProtectionBanner = require('Module:Protection banner')
return require('Module:Protection banner')._main{
local reason = message('protection-reason-edit')
message('protection-reason-edit'), small = true
return mProtectionBanner._main{reason, small = true}
}
elseif moveProt and moveProt ~= 'autoconfirmed' then
elseif moveProt and moveProt ~= 'autoconfirmed' then
-- The page is move-protected but not edit-protected. Exclude move
-- The page is move-protected but not edit-protected. Exclude move
-- protection with the level "autoconfirmed", as this is equivalent to
-- protection with the level "autoconfirmed", as this is equivalent to
-- no move protection at all.
-- no move protection at all.
mProtectionBanner = require('Module:Protection banner')
return require('Module:Protection banner')._main{
return mProtectionBanner._main{action = 'move', small = true}
action = 'move', small = true
}
else
else
return nil
return nil
سطر ٤٤٥: سطر ٤٦٧:
local links
local links
local content = args.content
local content = args.content
if not content then
if not content or args[1] then
-- No need to include the links if the documentation is on the template page itself.
-- No need to include the links if the documentation is on the template page itself.
local linksData = p.makeStartBoxLinksData(args, env)
local linksData = p.makeStartBoxLinksData(args, env)
سطر ٤٧٣: سطر ٤٩٥:
-- 'history-link-display' --> 'history'
-- 'history-link-display' --> 'history'
-- 'purge-link-display' --> 'purge'
-- 'purge-link-display' --> 'purge'
-- 'file-docpage-preload' --> 'Template:Documentation/preload-filespace'
-- 'module-preload' --> 'Template:Documentation/preload-module-doc'
-- 'module-preload' --> 'Template:Documentation/preload-module-doc'
-- 'docpage-preload' --> 'Template:Documentation/preload'
-- 'docpage-preload' --> 'Template:Documentation/preload'
سطر ٤٨٣: سطر ٥٠٤:
if not title or not docTitle then
if not title or not docTitle then
return nil
return nil
end
if docTitle.isRedirect then
docTitle = docTitle.redirectTarget
end
end


local data = {}
data.title = title
data.docTitle = docTitle
-- View, display, edit, and purge links if /doc exists.
data.viewLinkDisplay = message('view-link-display')
data.editLinkDisplay = message('edit-link-display')
data.historyLinkDisplay = message('history-link-display')
data.purgeLinkDisplay = message('purge-link-display')
data.usageLinkDisplay = message('usage-link-display')
data.TemplateUsage = message('template-usage')
-- Create link if /doc doesn't exist.
-- Create link if /doc doesn't exist.
local preload = args.preload
local preload = args.preload
if not preload then
if not preload then
if subjectSpace == 6 then -- File namespace
if subjectSpace == 828 then -- Module namespace
preload = message('file-docpage-preload')
elseif subjectSpace == 828 then -- Module namespace
preload = message('module-preload')
preload = message('module-preload')
else
else
سطر ٥٠٦: سطر ٥١٨:
end
end
end
end
data.preload = preload
data.createLinkDisplay = message('create-link-display')
return {
return data
title = title,
docTitle = docTitle,
-- View, display, edit, and purge links if /doc exists.
viewLinkDisplay = message('view-link-display'),
editLinkDisplay = message('edit-link-display'),
historyLinkDisplay = message('history-link-display'),
purgeLinkDisplay = message('purge-link-display'),
--#Added 2 lines
usageLinkDisplay = message('usage-link-display'),
TemplateUsage = message('template-usage'),
preload = preload,
createLinkDisplay = message('create-link-display')
}
end
end


function p.renderStartBoxLinks(data)
function p.renderStartBoxLinks(data)
--[[
--[[
-- Generates the [view][edit][history][purge] or [create] links from the data table.
-- Generates the [view][edit][history][purge] or [create][purge] links from the data table.
-- @data - a table of data generated by p.makeStartBoxLinksData
-- @data - a table of data generated by p.makeStartBoxLinksData
--]]
--]]
local docTitle = data.docTitle
local function escapeBrackets(s)
-- #Added block:This block added by Mr.Ibrahim to view [استخدامات] link
-- Escapes square brackets with HTML entities.
s = s:gsub('%[', '&#91;') -- Replace square brackets with HTML entities.
s = s:gsub('%]', '&#93;')
return s
end
 
local ret
local ret
local docTitle = data.docTitle
local title = data.title
local title = data.title
--mw.log(title.text )
local usageUrl = "https://templatecount.toolforge.org/index.php?lang=ar&namespace=" .. title.namespace .. "&name=" .. mw.uri.encode( title.text , 'PATH')
local usageUrl = "http://tools.wmflabs.org/templatecount/index.php?lang=ar&namespace=" .. title.namespace .. "&name=" .. mw.uri.encode( title.text , 'PATH')
local usageLink = makeUrlLink(usageUrl , data.usageLinkDisplay)
local templates_use_module = "//ar.wikipedia.org/w/index.php?title=خاص:بحث&fulltext=Search&ns10=1&search=insource%3A%2F(invoke%7Cاستدعاء)%3A" .. mw.uri.encode( title.text , 'PATH') .. "%5C%7C%2F"
local usageLink = makeUrlLink(usageUrl , data.usageLinkDisplay)
local usageLink = makeUrlLink(usageUrl , data.usageLinkDisplay)
local templates_use_module = "//ar.wikipedia.org/w/index.php?title=خاص:بحث&fulltext=Search&ns10=1&ns8=1&search=insource%3A%2F(invoke%7Cاستدعاء)%3A+%2A" .. mw.uri.encode( title.text , 'PATH') .. "%5C%7C%2F"
local templates_use_moduleLink = makeUrlLink(templates_use_module , data.TemplateUsage)
local templates_use_moduleLink = makeUrlLink(templates_use_module , data.TemplateUsage)
-- yes, we do intend to purge the template page on which the documentation appears
local purgeLink = makeWikilink("Special:Purge/" .. data.title.prefixedText, data.purgeLinkDisplay)
if docTitle.exists then
if docTitle.exists then
local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay)
local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay)
local editLink = makeUrlLink(docTitle:fullUrl{action = 'edit'}, data.editLinkDisplay)
local editLink = makeWikilink("Special:EditPage/" .. docTitle.prefixedText, data.editLinkDisplay)
local historyLink = makeUrlLink(docTitle:fullUrl{action = 'history'}, data.historyLinkDisplay)
local historyLink = makeWikilink("Special:PageHistory/" .. docTitle.prefixedText, data.historyLinkDisplay)
local purgeLink = makeUrlLink(title:fullUrl{action = 'purge'}, data.purgeLinkDisplay)
-- #Edited line
ret = '[%s] [%s] [%s] [%s] [%s]'
return "&#91;" .. viewLink .. "&#93; &#91;" .. editLink .. "&#93; &#91;" .. historyLink .. "&#93; &#91;" .. purgeLink .. "&#93; &#91;" .. usageLink .. "&#93;" .. (title.namespace == 828 and (" &#91;" .. templates_use_moduleLink .. "&#93;") or '')
ret = escapeBrackets(ret)
ret = mw.ustring.format(ret, viewLink, editLink, historyLink, purgeLink , usageLink)
if title.namespace == 828 then
ret = '[%s] [%s] [%s] [%s] [%s] [%s]'
ret = escapeBrackets(ret)
ret = mw.ustring.format(ret, viewLink, editLink, historyLink, purgeLink , usageLink , templates_use_moduleLink)
end
else
else
local createLink = makeUrlLink(docTitle:fullUrl{action = 'edit', preload = data.preload}, data.createLinkDisplay)
local createLink = makeUrlLink(docTitle:canonicalUrl{action = 'edit', preload = data.preload}, data.createLinkDisplay)
ret = '[%s] [%s]'
-- #Edited line
ret = escapeBrackets(ret)
return  "&#91;" .. createLink .. "&#93; &#91;" .. purgeLink .. "&#93;&#91;" .. usageLink .. "&#93;" .. (title.namespace == 828 and (" &#91;" .. templates_use_moduleLink .. "&#93;") or '')
ret = mw.ustring.format(ret, createLink , usageLink)
if title.namespace == 828 then
ret = '[%s] [%s] [%s]'
ret = escapeBrackets(ret)
ret = mw.ustring.format(ret, createLink , usageLink, templates_use_moduleLink)
end
end
end
return ret
return ret
سطر ٥٧٣: سطر ٥٧٩:
-- 'file-namespace-heading' --> 'Summary'
-- 'file-namespace-heading' --> 'Summary'
-- 'other-namespaces-heading' --> 'Documentation'
-- 'other-namespaces-heading' --> 'Documentation'
-- 'start-box-linkclasses' --> 'mw-editsection-like plainlinks'
-- 'start-box-link-id' --> 'doc_editlinks'
-- 'testcases-create-link-display' --> 'create'
-- 'testcases-create-link-display' --> 'create'
--]=]
--]=]
سطر ٦٠٧: سطر ٦١١:
if headingStyle then
if headingStyle then
data.headingStyleText = headingStyle
data.headingStyleText = headingStyle
elseif subjectSpace == 10 then
-- We are in the template or template talk namespaces.
data.headingFontWeight = 'bold'
data.headingFontSize = '125%'
else
else
data.headingFontSize = '150%'
-- 'documentation-heading'
data.headingClass = message('main-div-heading-class')
end
end
-- Data for the [view][edit][history][purge] or [create] links.
-- Data for the [view][edit][history][purge] or [create] links.
if links then
if links then
data.linksClass = message('start-box-linkclasses')
-- 'mw-editsection-like plainlinks'
data.linksId = message('start-box-link-id')
data.linksClass = message('start-box-link-classes')
data.links = links
data.links = links
end
end
سطر ٦٣٠: سطر ٦٣١:
local sbox = mw.html.create('div')
local sbox = mw.html.create('div')
sbox
sbox
:css('padding-bottom', '3px')
-- 'documentation-startbox'
:css('border-bottom', '1px solid #aaa')
:addClass(message('start-box-class'))
:css('margin-bottom', '1ex')
:newline()
:newline()
:tag('span')
:tag('span')
:addClass(data.headingClass)
:attr('id', 'documentation-heading')
:cssText(data.headingStyleText)
:cssText(data.headingStyleText)
:css('font-weight', data.headingFontWeight)
:css('font-size', data.headingFontSize)
:wikitext(data.heading)
:wikitext(data.heading)
local links = data.links
local links = data.links
سطر ٦٦٤: سطر ٦٦٤:
if not content and docTitle and docTitle.exists then
if not content and docTitle and docTitle.exists then
content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText}
content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText}
end
if not content or content == "" then
--mw.log("no content " .. docTitle.namespace)
if docTitle.namespace == 10 then -- only on template
content = mw.getCurrentFrame():expandTemplate{title = "قالب:توثيق/تلقائي", args = {lab = "1" }}
end
end
end
-- The line breaks below are necessary so that "=== Headings ===" at the start and end
-- The line breaks below are necessary so that "=== Headings ===" at the start and end
سطر ٧٠٠: سطر ٦٩٤:
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--  
--  
-- Messages:
-- 'fmbox-id' --> 'documentation-meta-data'
-- 'fmbox-style' --> 'background-color: #ecfcf4'
-- 'fmbox-textstyle' --> 'font-style: italic'
--
-- The HTML is generated by the {{fmbox}} template, courtesy of [[Module:Message box]].
--]=]
--]=]
سطر ٧٣١: سطر ٧١٩:
end
end


-- Assemble the arguments for {{fmbox}}.
-- Assemble the link box.
local fmargs = {}
fmargs.id = message('fmbox-id') -- Sets 'documentation-meta-data'
fmargs.image = 'none'
fmargs.style = message('fmbox-style') -- Sets 'background-color: #ecfcf4'
fmargs.textstyle = message('fmbox-textstyle') -- 'font-style: italic;'
 
-- Assemble the fmbox text field.
local text = ''
local text = ''
if linkBox then
if linkBox then
سطر ٧٤٨: سطر ٧٢٩:
-- Add sandbox and testcases links.
-- Add sandbox and testcases links.
-- "Editors can experiment in this template's sandbox and testcases pages."
-- "Editors can experiment in this template's sandbox and testcases pages."
text = text .. (p.makeExperimentBlurb(args, env) or '')
text = text .. (p.makeExperimentBlurb(args, env) or '') .. '<br />'
text = text .. '<br />'
if not args.content and not args[1] then
if not args.content and not args[1] then
-- "Please add categories to the /doc subpage."
-- "Please add categories to the /doc subpage."
سطر ٧٥٧: سطر ٧٣٧:
end
end
text = text .. ' ' .. (p.makeSubpagesBlurb(args, env) or '') --"Subpages of this template"
text = text .. ' ' .. (p.makeSubpagesBlurb(args, env) or '') --"Subpages of this template"
local printBlurb = p.makePrintBlurb(args, env) -- Two-line blurb about print versions of templates.
if printBlurb then
text = text .. '<br />' .. printBlurb
end
end
end
end
end
fmargs.text = text
local box = mw.html.create('div')
-- 'documentation-metadata'
box:attr('role', 'note')
:addClass(message('end-box-class'))
-- 'plainlinks'
:addClass(message('end-box-plainlinks'))
:wikitext(text)
:done()


return messageBox.main('fmbox', fmargs)
return '\n' .. tostring(box)
end
end


سطر ٧٧٩: سطر ٧٦٣:
-- 'transcluded-from-blurb' -->  
-- 'transcluded-from-blurb' -->  
-- 'The above [[Wikipedia:Template documentation|documentation]]  
-- 'The above [[Wikipedia:Template documentation|documentation]]  
-- is [[Wikipedia:Transclusion|transcluded]] from $1.'
-- is [[Help:Transclusion|transcluded]] from $1.'
-- 'module-preload' --> 'Template:Documentation/preload-module-doc'
-- 'module-preload' --> 'Template:Documentation/preload-module-doc'
-- 'create-link-display' --> 'create'
-- 'create-link-display' --> 'create'
سطر ٧٩٣: سطر ٧٧٧:
-- /doc exists; link to it.
-- /doc exists; link to it.
local docLink = makeWikilink(docTitle.prefixedText)
local docLink = makeWikilink(docTitle.prefixedText)
local editUrl = docTitle:fullUrl{action = 'edit'}
local editDisplay = message('edit-link-display')
local editDisplay = message('edit-link-display')
local editLink = makeUrlLink(editUrl, editDisplay)
local editLink = makeWikilink("Special:EditPage/" .. docTitle.prefixedText, editDisplay)
local historyUrl = docTitle:fullUrl{action = 'history'}
local historyDisplay = message('history-link-display')
local historyDisplay = message('history-link-display')
local historyLink = makeUrlLink(historyUrl, historyDisplay)
local historyLink = makeWikilink("Special:PageHistory/" .. docTitle.prefixedText, historyDisplay)
ret = message('transcluded-from-blurb', {docLink})
ret = message('transcluded-from-blurb', {docLink})
.. ' '
.. ' '
سطر ٨٠٥: سطر ٧٨٧:
elseif env.subjectSpace == 828 then
elseif env.subjectSpace == 828 then
-- /doc does not exist; ask to create it.
-- /doc does not exist; ask to create it.
local createUrl = docTitle:fullUrl{action = 'edit', preload = message('module-preload')}
local createUrl = docTitle:canonicalUrl{action = 'edit', preload = message('module-preload')}
local createDisplay = message('create-link-display')
local createDisplay = message('create-link-display')
local createLink = makeUrlLink(createUrl, createDisplay)
local createLink = makeUrlLink(createUrl, createDisplay)
سطر ٨٥٢: سطر ٨٣٤:
-- Make links.
-- Make links.
local sandboxLinks, testcasesLinks
local sandboxLinks, testcasesLinks
if sandboxTitle and sandboxTitle.exists then
if sandboxTitle.exists then
local sandboxPage = sandboxTitle.prefixedText
local sandboxPage = sandboxTitle.prefixedText
local sandboxDisplay = message('sandbox-link-display')
local sandboxDisplay = message('sandbox-link-display')
local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay)
local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay)
local sandboxEditUrl = sandboxTitle:fullUrl{action = 'edit'}
local sandboxEditDisplay = message('sandbox-edit-link-display')
local sandboxEditDisplay = message('sandbox-edit-link-display')
local sandboxEditLink = makeUrlLink(sandboxEditUrl, sandboxEditDisplay)
local sandboxEditLink = makeWikilink("Special:EditPage/" .. sandboxPage, sandboxEditDisplay)
local compareUrl = env.compareUrl
local compareUrl = env.compareUrl
local compareLink
local compareLink
سطر ٨٧٣: سطر ٨٥٤:
sandboxPreload = message('template-sandbox-preload')
sandboxPreload = message('template-sandbox-preload')
end
end
local sandboxCreateUrl = sandboxTitle:fullUrl{action = 'edit', preload = sandboxPreload}
local sandboxCreateUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = sandboxPreload}
local sandboxCreateDisplay = message('sandbox-create-link-display')
local sandboxCreateDisplay = message('sandbox-create-link-display')
local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay)
local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay)
local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)})
local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)})
local mirrorPreload = message('mirror-link-preload')
local mirrorPreload = message('mirror-link-preload')
local mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = mirrorPreload, summary = mirrorSummary}
local mirrorUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = mirrorPreload, summary = mirrorSummary}
if subjectSpace == 828 then
if subjectSpace == 828 then
mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = templateTitle.prefixedText, summary = mirrorSummary}
mirrorUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = templateTitle.prefixedText, summary = mirrorSummary}
end
end
local mirrorDisplay = message('mirror-link-display')
local mirrorDisplay = message('mirror-link-display')
سطر ٨٩٠: سطر ٨٧١:
local testcasesDisplay = message('testcases-link-display')
local testcasesDisplay = message('testcases-link-display')
local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay)
local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay)
local testcasesEditUrl = testcasesTitle:fullUrl{action = 'edit'}
local testcasesEditUrl = testcasesTitle:canonicalUrl{action = 'edit'}
local testcasesEditDisplay = message('testcases-edit-link-display')
local testcasesEditDisplay = message('testcases-edit-link-display')
local testcasesEditLink = makeUrlLink(testcasesEditUrl, testcasesEditDisplay)
local testcasesEditLink = makeWikilink("Special:EditPage/" .. testcasesPage, testcasesEditDisplay)
-- for Modules, add testcases run link if exists
-- for Modules, add testcases run link if exists
if subjectSpace == 828 and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then
if testcasesTitle.contentModel == "Scribunto"  and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then
local testcasesRunLinkDisplay = message('testcases-run-link-display')
local testcasesRunLinkDisplay = message('testcases-run-link-display')
local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay)
local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay)
سطر ٩٠٨: سطر ٨٨٩:
testcasesPreload = message('template-testcases-preload')
testcasesPreload = message('template-testcases-preload')
end
end
local testcasesCreateUrl = testcasesTitle:fullUrl{action = 'edit', preload = testcasesPreload}
local testcasesCreateUrl = testcasesTitle:canonicalUrl{action = 'edit', preload = testcasesPreload}
local testcasesCreateDisplay = message('testcases-create-link-display')
local testcasesCreateDisplay = message('testcases-create-link-display')
local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay)
local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay)
سطر ٩٦٩: سطر ٩٥٠:
)
)
return message('subpages-blurb', {subpagesLink})
return message('subpages-blurb', {subpagesLink})
end
function p.makePrintBlurb(args, env)
--[=[
-- Generates the blurb displayed when there is a print version of the template available.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'print-link-display' --> '/Print'
-- 'print-blurb' --> 'A [[Help:Books/for experts#Improving the book layout|print version]]'
-- .. ' of this template exists at $1.'
-- .. ' If you make a change to this template, please update the print version as well.'
-- 'display-print-category' --> true
-- 'print-category' --> 'Templates with print versions'
--]=]
local printTitle = env.printTitle
if not printTitle then
return nil
end
local ret
if printTitle.exists then
local printLink = makeWikilink(printTitle.prefixedText, message('print-link-display'))
ret = message('print-blurb', {printLink})
local displayPrintCategory = message('display-print-category', nil, 'boolean')
if displayPrintCategory then
ret = ret .. makeCategoryLink(message('print-category'))
end
end
return ret
end
end