Template:Singles/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 infobox is to be used as an additional miscellaneous listing at the bottom of Template:Ti.
Usage
[edit source]This infobox should be placed in the "Misc" field as shown below, using the field cases also shown below. Any unused fields may be left out.
Use {{Start date}} for release dates.
{{Infobox album <!-- See Wikipedia:WikiProject_Albums -->
...
| Misc =
{{Singles
| Name =
| Type =
| Single 1 =
| Single 1 date = <!-- {{Start date|YYYY|MM|DD}} -->
| Single 2 =
| Single 2 date = <!-- {{Start date|YYYY|MM|DD}} -->
| Single 3 =
| Single 3 date = <!-- {{Start date|YYYY|MM|DD}} -->
| Single 4 =
| Single 4 date = <!-- {{Start date|YYYY|MM|DD}} -->
| Single 5 =
| Single 5 date = <!-- {{Start date|YYYY|MM|DD}} -->
| Single 6 =
| Single 6 date = <!-- {{Start date|YYYY|MM|DD}} -->
| Single 7 =
| Single 7 date = <!-- {{Start date|YYYY|MM|DD}} -->
| Single 8 =
| Single 8 date = <!-- {{Start date|YYYY|MM|DD}} -->
| Single 9 =
| Single 9 date = <!-- {{Start date|YYYY|MM|DD}} -->
| Single 10 =
| Single 10 date = <!-- {{Start date|YYYY|MM|DD}} -->
| Single 11 =
| Single 11 date = <!-- {{Start date|YYYY|MM|DD}} -->
| Single 12 =
| Single 12 date = <!-- {{Start date|YYYY|MM|DD}} -->
}}
}}
- Name
- The name of the album.
- Type
- The album type, specified in Template:Infobox album#Type.
- Single #
- The name of the single. Should be wikilinked to single's article, if applicable.
- Single # date
- The date of single release. Should use {{Start date}}. If full date is unknown, just use YYYY|MM or YYYY.
Note that all fields are already properly formatted, so italics or quotation marks need not be entered in fields.