Template:PP-template/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 the {{pp-template}} protection notice.
It is used on protected templates and on protected file (image) pages.
This template does not show on pages that are not protected, instead it reports an error. Please note that only administrators can protect pages, this template only informs about the protection status of the page.
This template should usually not be manually placed on template pages, since it is automatically loaded by the {{Documentation}} template of protected template pages. Protected templates (both semi and full) should preferably have a documentation subpage (/doc) so that any editor can update the documentation, categories and interwiki links of the template. See Wikipedia:Template documentation for more on that.
This template automatically detects the edit protection level (semi or full) of a page, and if it is on a template or file page, and modifies its appearance and how it categorizes the page.
- Use
{{pp-template}}for the normal appearance (a small icon at the top). - Use
{{pp-template|small=no}}for the large message box. On file pages we recommend using the large box. - Use
{{pp-template|small=both}}to have both a message box and an icon at the top. – Ilovemydoodle (talk) 22:56, 1 September 2022 (UTC)
When this template is added to a protected template, it should be placed inside <noinclude>...</noinclude> tags (otherwise, every page which uses the template will load the protection notice, which will result in an error message). On file (image) pages the <noinclude></noinclude> tags are not necessary.