Extension:WhiteSpace
This extension is currently not actively maintained! Although it may still work, any bug reports or feature requests will more than likely be ignored. If you are interested in taking on the task of developing and maintaining this extension, you can request repository ownership. As a courtesy, you may want to contact the author. You should also remove this template and list yourself as maintaining the extension in the page's {{Extension }} infobox. |
WhiteSpace Release status: unmaintained |
|
---|---|
Implementation | Tag |
Description | Provides tags to control whitespace |
Author(s) | Van de Buggertalk |
Latest version | 0.1.0 (2012-03-19) |
MediaWiki | 1.35+ |
License | GNU Affero General Public License 3.0 |
Download | |
|
|
Quarterly downloads | 0 |
Translate the WhiteSpace extension if it is available at translatewiki.net | |
The WhiteSpace extension provides two tags to control whitespace in templates: <dws />
discards itself and all whitespace (including newlines) after the tag, <nl />
replaces itself with a newline.
Rationale
editIn wikitext spaces and newlines do matter. Leading space causes a paragraph to be verbatim, newline terminates a list item, etc. This means that template code cannot be formatted freely. For example, two subsequent template calls:
{{ Template1 }}{{ Template2 }}
being reformatted as:
{{ Template1 }} {{ Template2 }}
may produce different result (e. g. two list items instead of one). This is not a big deal for a simple template, but it quickly become a real issue for complicated templates. Let us consider a real example, a small part of Template:Extension:
{{#if: {{{username|}}} |<!-- -->{{#ifeq: {{{username}}}|{{{author|{{{username}}}<!-- -->}}}|<!-- nothing -->|<!--else--><!-- -->{{{author}}} (<!-- -->}}<!-- -->[[User:{{{username}}}|{{{username}}}]]<!-- --><sup><small>[[User talk:{{{username}}}|{{int:talkpagelinktext}}]]</small></sup><!-- -->{{#ifeq: {{{username}}}|{{{author|{{{username}}}<!-- -->}}}|<!-- nothing -->|<!--else--><!-- -->)<!-- -->}}<!-- -->|<!--else--><!-- -->{{{author}}}<!-- -->}}
HTML comments (<!-- -->
) allows splitting template code to lines but it pollutes template code so the overall result is not so good. Using <dws/>
the code can be reformatted as:
{{ #if: {{{ username | }}} | {{ #ifeq: {{{ username }}} | {{{ author | {{{ username }}} }}} | nothing | {{{ author }}}<dws/> ( }}<dws/> [[User:{{{ username }}}|{{{ username }}}]]<dws/> <sup><small>[[User talk:{{{ username }}}|{{ int: talkpagelinktext }}]]</small></sup><dws/> {{ #ifeq: {{{ username }}} | {{{ author | {{{ username }}} }}} | nothing | ) }} | {{{ author }}} }}
Of course, it is just another style of formatting, but <dws/>
allows using this style regularly and uniformly.
Installation
edit- Download and move the extracted
WhiteSpace
folder to yourextensions/
directory.
Developers and code contributors should install the extension from Git instead, using:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/WhiteSpace - Add the following code at the bottom of your LocalSettings.php file:
wfLoadExtension( 'WhiteSpace' );
- Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.