Template:Page-multi/doc
This is a documentation subpage for
Template documentation[edit source]Template:Terminate sentence ensures a sentence ends with a specified terminator (default: a period). It avoids adding duplicate terminators and can optionally trim trailing spaces. It attempts to ignore trailing closing quotes or brackets when deciding whether a terminator is already present. Usage[edit source]Basic: {{Terminate sentence|This is a sentence}}
→ This is a sentence.
Named parameters: {{Terminate sentence
|text=He said "Hello"
|term=.
}}
→ He said "Hello".
Custom terminator: {{Terminate sentence|text=Warning|term=!}}
→ Warning!
Avoid duplicate terminator: {{Terminate sentence|text=Already done.|term=.}}
→ Already done.
Trim trailing spaces: {{Terminate sentence|text=Ends with space |trim=yes}}
→ Ends with space.
Skip processing: {{Terminate sentence|text=No changes here|skip=yes}}
→ No changes here
Append a note: {{Terminate sentence|text=Complete|note=(source: 2025)}}
→ Complete. (source: 2025)
Parameters[edit source]
Behavior details[edit source]
Examples[edit source]
{{Terminate sentence|text=He whispered "hush"|term=.}}
→ He whispered "hush".
{{Terminate sentence|text=Complete (verified)|term=.}}
→ Complete (verified).
{{Terminate sentence|text=Alert|term=!}}
→ Alert!
{{Terminate sentence|text=Wait...|term=.|allowdup=yes}}
→ Wait.... Best practices[edit source]
Lua-powered variant (optional)[edit source]For more robust detection (including multilingual quotes and punctuation), create -- Module:TerminateUtil
local M = {}
local closing = {
[")"] = true, ["]"] = true, ["}"] = true,
['"'] = true, ["'"] = true, ["”"] = true, ["’"] = true, ["»"] = true, ["›"] = true
}
local function trimRight(s)
return (s:gsub("%s+$",""))
end
function M.lastVisibleChar(args)
local s = args.s or ""
s = trimRight(s)
local i = #s
while i > 0 do
local c = s:sub(i,i)
if closing[c] then
i = i - 1
else
return c
end
end
return ""
end
return M
Then update the template to call: {{#invoke:TerminateUtil|lastVisibleChar|s=text}}
This improves detection for closing quotes and brackets. See also[edit source]It may contain usage information, categories and other content that is not part of the original template page. |
| This template uses Lua: |
This is a very flexible page link template, which allows you to specify which links are shown beside the pagename. It can be used as a meta-template to support other page link templates, or it can be used alone.
Usage
[edit source]- Standalone usage
{{page-multi|code 1|code 2|code 3|...|page=pagename}}
Parameters
[edit source]- 1, 2, 3, ... n: these parameters specify what links to display in the template. See the code table below for valid input codes.
- page: the pagename. An error is returned if this is omitted.
- separator: the separator to use in between links. Valid values are
dot( · ),comma(, ),pipe( | ), andtpt-languages(⧼tpt-languages-separator⧽). If not specified, thendotis the default. - small: if this parameter exists, fonts will be displayed at 90% of the normal size.
- sup: if this parameter exists, links will be displayed in superscript.
- doc: this parameter is only available on template pages, using the /template sub-template. If set to
yes, it will automatically generate documentation for that template. - date: if specified, the page view statistics will display for the 30 days prior to the given date (otherwise it's 60 days prior to the current date). The date string should either start with the format YYYY-MM-DD or YYYYMMDD (you can use
{{subst:CURRENTTIMESTAMP}}to insert the current date). - demo: if this parameter is set to
yes, the template will not output any categories.
Codes
[edit source]Here is a list of currently supported link codes:
| Code | Preview |
|---|---|
| t | talk |
| wlh | links |
| rc | related |
| edit | edit |
| h | history |
| w | watch |
| tl | logs |
| efl | abuse filter log |
| vlm-sgs | stats |
| pv | stats |
| h500 | long history |
Examples
[edit source]| Code | Output |
|---|---|
{{page-multi|page=Example|t|wlh}} | Example (talk · links) |
{{page-multi|page=Example|wlh|vlm-sgs}} | Example (links · stats) |
Errors
[edit source]In certain circumstances, the template will generate errors. This is a list of all the error messages that the template might generate, and how users can resolve them.
Not a valid link code
[edit source]- Page-multi error: "xyz" is not a valid link code.
This error is generated if an invalid link code is specified. For a list of valid link codes, see the code list above.
No link type specified
[edit source]- Page-multi error: no link type specified.
This error is only generated when using Module:PageLinks directly to create a single link. The link code must be in the first positional parameter, like this: {{#invoke:PageLinks|single|<!-- link code -->|<!-- other parameters -->}}.
Function did not return a string value
[edit source]- Page-multi error: the function for code "xyz" did not return a string value.
This is an error in the software generating the links, and requires attention from the developers. Please start a new thread at Template talk:Page-multi.
Tracking categories
[edit source]The template uses the following tracking categories:
- Error category
- Category:PageLinks transclusions with errors - this is used to track all the errors listed above
Adding new links
[edit source]To add a new link, you need to edit the Lua module that this template is based on, Module:PageLinks. Instructions are in the source code, if you feel capable programming in Lua. If you're not familiar with Lua, feel free to make a request on Template talk:Page-multi, and someone might add the link for you.
See also
[edit source]- {{User-multi}}
- MediaWiki:UserLinks (edit | talk | history | links | watch | logs)