Template:Hidden/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 creates a dynamic navigation box using style sheet declarations in MediaWiki:Common.css and Javascript code in MediaWiki:Common.js. It displays the first parameter (the heading) with a [show] link on the right. If [show] is clicked by the user, the second parameter (the body) is displayed below the heading and the [show] link becomes [hide]. Clicking on [hide] then hides the body again and the [hide] link becomes [show] again.
The template does not provide an argument to designate the initial state of the show/hide control. In the nested case, show/hide controls in hidden content retain their state. There is no facility for collapse all or reveal all.
Usage
[edit source]Full syntax
[edit source]{{Hidden
| expanded=true <!--(omit for initial hidden state)-->
| style =
| headerstyle =
| header =
| contentstyle =
| content =
|fw1= |fw2= |bg1= |bg2= |ta1= |ta2=
}}
Parameters
[edit source]Only two parameters are required for this template:
- header
- text for header (title); alternative to using unnamed parameter {{{1}}}
- content
- text for body (content); alternative to using unnamed parameter {{{2}}}
Optional
[edit source]- style
- CSS styling for template overall.
- headerstyle
- CSS styling for title (header).
- contentstyle
- CSS styling for the hidden content.
- expanded
- any nonblank value (e.g.
|expanded=on) will cause the template to be initially expanded by default.
Note: This template will not respect the user preference "justify paragraphs".
Examples
[edit source]Basic
[edit source]In this example only the two required parameters are specified.
| Code | {{hidden|Title text here|Body text line 1<br/>Body text line 2}} |
| Result | Title text here
Body text line 1 |
Header background
[edit source]| Code | {{hidden
|Title text here
|Body text line 1<br/>Body text line 2
|headerstyle=background:#ccccff
|style=text-align:center;
}}
|
| Result | Title text here
Body text line 1 |
CSS
[edit source]| Code |
{{hidden
| style = border:1px dashed red; width: 50%;
| headerstyle = background: #ccccff; font-size: 110%;
| contentstyle = text-align: center; color:green;
| header = Title text here
| content = Body text line 1<br />Body text line 2<br />Body text line 3
}} |
| Result |
Title text here
Body text line 1 |
Issues
[edit source]Show/hide button overlap
[edit source]- Possible workaround is to add "padding-right:3em;" to the headercss parameter:
"{{hidden|headerstyle=text-align:right; padding-right:3em;|Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.|def}}" gives "
def
"
def
- Above example with workaround:
"{{hidden|headerstyle=padding-right:3em;|abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc |def}}" gives "
def
"
Sections
[edit source]Sections included inside a hidden block result in broken anchors in the table of contents at the top of the page.