Template:Encodefirst/doc
| This is a documentation subpage for Template:Encodefirst. It contains usage information, categories and other content that is not part of the original Template page. |
| This template is used on many pages. To avoid large-scale disruption and unnecessary server load, any changes to this template should first be tested in its /sandbox or /testcases subpages or in your own user subpage. The tested changes can then be added to this page in one single edit. Please consider discussing any changes on the talk page before implementing them. |
This template replaces the first character of the argument with its HTML entity if it is one of four wiki markup characters : ; * #. This can sometimes fix the issue at Help:Template#Problems and workarounds where a character may be processed as though it were at the beginning of a line.
Usage
{{Encodefirst|<string>}}
Examples
The output looks like the input whether a character is replaced or not.
{{Encodefirst|*Lisp}} produces: *Lisp
But the output will behave differently from the input in some situations where it is processed. For example, {{Article talk links}} fails as of 2025 if its argument starts with *. Some other templates like {{Article links}} have been modified (diff) to automatically use {{Encodefirst}} so the caller doesn't have to do it.
{{Article talk links|*Lisp}} causes the asterisk to be processed as list markup and produces broken display (test).
{{Article talk links|{{Encodefirst|*Lisp}}}} works correctly: