Template:N/a/doc
This is a documentation subpage for
Template documentation[edit]
Template sandbox and testcases for TEMPLATE_NAME[edit]Overview[edit]This page provides a clean workflow to safely edit and validate TEMPLATE_NAME:
Use this page to:
Quick links[edit]
How to test[edit]1. Edit the sandbox at Template:TEMPLATE_NAME/sandbox. 2. Open this test page and click “Show preview” to render the sandbox with inputs below. 3. Verify each testcase: Does the “Actual output” match the “Expected output”? 4. If all pass, consider copying sandbox to live using an edit summary like: “Sync from /sandbox: passes all /testcases as of YYYY-MM-DD.” Previewing tips[edit]
Test harness[edit]The following sections render the sandbox template against curated inputs. Each testcase shows:
Testcase A: Minimal invocation[edit]Parameters: {{TEMPLATE_NAME}} Expected output: [Minimal successful output with defaults: e.g., a neutral message or basic box] Actual output (sandbox): Character and language test sandbox This sandbox is used to test how Template:TEMPLATE NAME behaves with special characters (such as Greek letters) and language-specific spans. Basic examples[edit]
Within the template[edit]Below are example calls of the template using these characters as parameters. {{TEMPLATE NAME | title = Greek test: α γ | summary = Demonstrating Greek letters: α, β, γ, and entities like γ. | attr1 = Direct Greek: α β γ δ | attr2 = Entity Greek: α β γ δ | attr3 = German label: <span lang="de">A</span>, English label: A }} Preview the page to check if:
Notes[edit]
Testcase B: Common parameters[edit]Parameters: {{TEMPLATE_NAME | param1 = Alpha | param2 = Beta | flag = yes }} Expected output: [Example: shows "Alpha" and "Beta" in designated slots; flag toggles enhanced styling] Actual output (sandbox): Character and language test sandbox This sandbox is used to test how Template:TEMPLATE NAME behaves with special characters (such as Greek letters) and language-specific spans. Basic examples[edit]
Within the template[edit]Below are example calls of the template using these characters as parameters. {{TEMPLATE NAME | title = Greek test: α γ | summary = Demonstrating Greek letters: α, β, γ, and entities like γ. | attr1 = Direct Greek: α β γ δ | attr2 = Entity Greek: α β γ δ | attr3 = German label: <span lang="de">A</span>, English label: A }} Preview the page to check if:
Notes[edit]
Testcase C: Edge values and escaping[edit]Parameters: {{TEMPLATE_NAME | param1 = [[Linked target|Visible text]] | param2 = {{subst:CURRENTTIMESTAMP}} | raw = <code><span class="x">escaped</span></code> }} Expected output: [Links render correctly; timestamp subst is literal in expected; raw shows escaped markup] Actual output (sandbox): Character and language test sandbox This sandbox is used to test how Template:TEMPLATE NAME behaves with special characters (such as Greek letters) and language-specific spans. Basic examples[edit]
Within the template[edit]Below are example calls of the template using these characters as parameters. {{TEMPLATE NAME | title = Greek test: α γ | summary = Demonstrating Greek letters: α, β, γ, and entities like γ. | attr1 = Direct Greek: α β γ δ | attr2 = Entity Greek: α β γ δ | attr3 = German label: <span lang="de">A</span>, English label: A }} Preview the page to check if:
Notes[edit]
Testcase D: Internationalization (i18n)[edit]Parameters: {{TEMPLATE_NAME | lang = ja | text = こんにちは世界 }} Expected output: [Text displays correctly for non-ASCII; applies lang attribute or rtl/ltr where applicable] Actual output (sandbox): Character and language test sandbox This sandbox is used to test how Template:TEMPLATE NAME behaves with special characters (such as Greek letters) and language-specific spans. Basic examples[edit]
Within the template[edit]Below are example calls of the template using these characters as parameters. {{TEMPLATE NAME | title = Greek test: α γ | summary = Demonstrating Greek letters: α, β, γ, and entities like γ. | attr1 = Direct Greek: α β γ δ | attr2 = Entity Greek: α β γ δ | attr3 = German label: <span lang="de">A</span>, English label: A }} Preview the page to check if:
Notes[edit]
Testcase E: Error handling[edit]Parameters: {{TEMPLATE_NAME | param1 = | required = <!-- intentionally omitted --> }} Expected output: [Shows a gentle error or maintenance category; does not break page layout] Actual output (sandbox): Character and language test sandbox This sandbox is used to test how Template:TEMPLATE NAME behaves with special characters (such as Greek letters) and language-specific spans. Basic examples[edit]
Within the template[edit]Below are example calls of the template using these characters as parameters. {{TEMPLATE NAME | title = Greek test: α γ | summary = Demonstrating Greek letters: α, β, γ, and entities like γ. | attr1 = Direct Greek: α β γ δ | attr2 = Entity Greek: α β γ δ | attr3 = German label: <span lang="de">A</span>, English label: A }} Preview the page to check if:
Notes[edit]
Maintenance[edit]
Categories[edit]Copy-paste skeletons[edit]Below are ready-to-use skeletons for the sandbox and testcases subpages. Skeleton: Template:TEMPLATE_NAME/sandbox[edit]<!-- Sandbox for TEMPLATE_NAME --> <!-- Copy the entire template source here; edit safely. --> {{#if:{{{required|}}} | <!-- normal output --> <div class="tmpl"> <b>{{{param1|}}}</b> · <i>{{{param2|}}}</i> {{#if:{{{flag|}}}|<span class="flag">✓</span>|}} {{#if:{{{raw|}}}|<span class="raw">{{{raw}}}</span>|}} </div> | <!-- error / missing required --> <span class="error">TEMPLATE_NAME: missing required parameter</span> [[Category:Pages with TEMPLATE_NAME errors]] }} Skeleton: Template:TEMPLATE_NAME/testcases[edit]<!-- Testcases for TEMPLATE_NAME; render against /sandbox --> ; Minimal : {{TEMPLATE_NAME/sandbox}} ; Common params : {{TEMPLATE_NAME/sandbox | param1 = Alpha | param2 = Beta | flag = yes }} ; Edge and escaping : {{TEMPLATE_NAME/sandbox | param1 = [[Linked target|Visible text]] | param2 = 20250101T000000Z | raw = <code><span class="x">escaped</span></code> }} ; I18n : {{TEMPLATE_NAME/sandbox | lang = ja | text = こんにちは世界 }} ; Error handling : {{TEMPLATE_NAME/sandbox | required = }} Review checklist[edit]
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]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]
Behavior details[edit]
Examples[edit]
{{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]
Lua-powered variant (optional)[edit]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]It may contain usage information, categories and other content that is not part of the original template page. |
The templates in this series are designed to be used in a table to make a cell with text in that cell, with an appropriately colored background. They are commonly used in comparison tables.
For example, {{yes}} makes a cell with a green background. The text in the cell is taken from the first parameter; {{yes|Sure}} would output "Sure" otherwise it defaults to "Yes". Most templates allow authors to override the default text in this way, some require text put after the template call and some also need a vertical bar in between: {{table cell template}} text or {{table cell template}} | text. This information, the colors and default texts are found in the table below.
If you want to use other attributes for the table cells, e.g. colspan or rowspan, they need to be put before the template call and there must be no vertical bar | in between them:
| Yes | No | N/A |
|---|---|---|
| Yes/No | ||
...
!{{Yes}} ||{{No}} ||rowspan=2 {{n/a}}
|-
|colspan=2 {{Yes-No}}
...
Templates
[edit]| Class[1] | Default syntax | Preview (default) | Customized syntax | Preview (customized) |
|---|---|---|---|---|
table-rh | {{rh}} | Row header[2] | {{rh|align=right}} | Row header | ||
| {{rh2}} | Row header[2] | Template:Rh2 | Row header | Row header | Template:Rh2 | Row header | |
table-yes | {{yes}} | Yes | {{yes|Customized [[Plain text|text]]}} | Customized text |
| {{ya}} | Template:Ya | {{ya|Customized alt text}} | Template:Ya | |
table-no | {{no}} | No | {{no|Customized [[Plain text|text]]}} | Customized text |
| {{na}} | Template:Na | {{na|Customized alt text}} | Template:Na | |
| {{coming soon}} | Template:Coming soon | |||
| {{bad}} | Template:Bad | {{bad|F}} | Template:Bad | |
| {{eliminated}} | Template:Eliminated | |||
table-siteactive | {{site active}} | Template:Site active | ||
table-siteinactive | {{site inactive}} | Template:Site inactive | ||
table-yes2 | {{good}} | Template:Good | {{good|A}} | Template:Good |
| {{yes2}} | Template:Yes2 | {{yes2|Text}} | Template:Yes2 | |
| {{won}} | Won | {{won|text=white|color=darkblue}} | Won | |
| {{won|place=1}} | 1 | {{won|place=Gold}} | Gold | |
| {{won|place=2}} | 2 | {{won|place=Silver}} | Silver | |
| {{won|place=3}} | 3 | {{won|place=Bronze}} | Bronze | |
table-no2 | {{no2}} | Template:No2 | {{no2|Text}} | Template:No2 |
| {{nom}} | Nominated | {{nom|5}} | 5 | |
| {{sho}} | Template:Sho | |||
| {{TBA}} | Template:TBA | {{TBA|To be announced}} | Template:TBA | |
table-partial | {{partial}} | Template:Partial | ||
| {{yes-No}} | Yes/No | |||
| {{okay}} | Template:Okay | {{okay|C}} | Template:Okay | |
| {{some}} | Template:Some | |||
table-any | {{any}} | Template:Any | ||
table-na | {{n/a}} | N/A | ||
| {{BLACK}} | Template:BLACK | |||
table-unknown | {{dunno}} | Template:Dunno | ||
| {{unknown}} | Template:Unknown | |||
table-depends | {{depends}} | Template:Depends | {{depends|Customized [[Plain text|text]]}} | Template:Depends |
table-included | {{included}} | Template:Included | ||
table-dropped | {{dropped}} | Template:Dropped | ||
| {{terminated}} | Template:Terminated | |||
table-beta | {{beta}} | Template:Beta | ||
| {{table-experimental}} | Template:Table-experimental | {{table-experimental|Customized [[Plain text|text]]}} | Template:Table-experimental | |
table-maybe | {{maybe}} | Template:Maybe | {{maybe|Customized [[Plain text|text]]}} | Template:Maybe |
table-free | {{free}} | Template:Free | {{free|Customized [[Plain text|text]]}} | Template:Free |
table-proprietary | {{proprietary}} | Template:Proprietary | {{proprietary|Customized [[Plain text|text]]}} | Template:Proprietary |
table-nonfree | {{nonfree}} | Template:Nonfree | {{nonfree|Customized [[Plain text|text]]}} | Template:Nonfree |
table-needs | {{needs}} | Template:Needs | {{needs|Customized [[Plain text|text]]}} | Template:Needs |
table-nightly | {{nightly}} | Template:Nightly | {{nightly|Customized [[Plain text|text]]}} | Template:Nightly |
table-release-candidate | {{release-candidate}} | Template:Release-candidate | {{release-candidate|Customized [[Plain text|text]]}} | Template:Release-candidate |
| no class | {{?}}[3] | Template:? | ||
| no class | {{draw}} | Template:Draw | {{draw|Text}} | Template:Draw |
| no class | {{incorrect}} | Template:Incorrect | {{incorrect|Customized [[Plain text|text]]}} | Template:Incorrect |
| no class | {{no result}} | Template:No result | {{no result|N.R.}} | Template:No result |
| no class | {{pending}} | Template:Pending | ||
| no class | {{unofficial}} | Template:Unofficial | ||
| no class | {{usually}} | Template:Usually | ||
| no class | {{rarely}} | Template:Rarely | ||
| no class | {{sometimes}} | Template:Sometimes | ||
Code
[edit]Common code to most if not all the templates in this series:
Code specific to this template:
data-sort-value="" style="background: #ececec; color: #2C2C2C; vertical-align: middle; font-size: smaller; text-align: center; " class="table-na" | N/A
To make a new table cell template you can use:
{{subst:Table cell templates|text= default text |bg= background color |class= a class name without prefix |align= standard horizontal alignment}}
You should leave out the align parameter and often the class parameter is unnecessary, too.
Add the new template to the table in the common documentation afterwards. Please consider reusing one of the other templates and please choose the color sensibly.
If you find a table cell template that does not take a parameter and you want to be able to change the text in the cell, do not duplicate the template! Instead, edit the template and change the text to a default parameter substitution. For example, if a template's text is Dropped, change that to {{{1|Dropped}}}.
style="background: #abcdef; color: black; vertical-align: middle; text-align: center; " class="automatic table-automatic"| text
Usage
[edit]One of several templates for styling individual table cells with standard contents and colors.
| Parameter | Description | Type | Status | |
|---|---|---|---|---|
| text | 1 | text to be displayed instead of the default, if this doesn’t work put the text after the template, possibly with a vertical bar | in between
| Line | optional |
| horizontal align | align | text alignment inside the cell, either ‘left’, ‘right’, ‘center’ or ‘justified’
| Line | optional |
| style | style | a semicolon separated list of additional CSS rules to be applied to the table cell
| Line | optional |
| background color | color | a valid CSS color value or name to override the standard the cell background, only available with some templates
| Line | optional |
See also
[edit]- {{change}}: Calculates, displays and color-codes changes between two values
- {{GPL-lic}}: Specialized redirect for {{Free}}
- Template:T1: Specialized redirect for {{Free}}
Notes
[edit]- ↑ The HTML class of table cell templates may be referenced in a user stylesheet to change appearance.
- 1 2 Does not take a parameter; the content should be placed after the template call, separated by a pipe (|) character.
- ↑ Does not take a parameter; not really a table cell template at all, but here for completeness