How to use "For" tags

Revision Information
  • Revision id: 105209
  • Created:
  • Creator: AliceWyman
  • Comment: commented out note about supported Firefox versions - see discussion
  • Reviewed: Yes
  • Reviewed:
  • Reviewed by: AliceWyman
  • Is approved? Yes
  • Is current revision? No
  • Ready for localization: Yes
  • Readied for localization:
  • Readied for localization by: AliceWyman
Revision Source
Revision Content

One of the great features of our Knowledge Base is the ability to show instructions customized for operating systems (Windows, Mac, etc.) and Firefox versions. We can say, for example, that a certain section of a help article is "for" Windows users and Mac and Linux users won't see it. The feature is designed to work invisibly. When someone opens a help article, we'll automatically detect what operating system and version of Firefox they are using and show the appropriate instructions. This article goes over the details of how to use {for} in Knowledge Base articles.

Localizers: when localizing articles with {for} and {/for} elements in the content, do not translate anything inside the { and } brackets! Keep them the same way they look in the original text. This is important to have the element function properly.

How to switch instructions to different operating systems or Firefox versions

In order to follow the example in this article, you'll have to switch the article selector to different operating systems and Firefox versions. It's located at the top of the article.

The image "Article Selectors 2015" does not exist.

Basic syntax and behavior

Operating Systems

Here is the syntax to show an image for Windows 7/Vista:

{for win7}[[Image:vista.jpg]]{/for}
  • Change the selector to Windows 7/Vista to see the image:
vista.jpg
  • If you change the selector to Windows XP, Windows 8, Mac OS X or Linux, the image above won't be shown because it's not "for" them.

Although the Windows selector doesn't exist, you can write instructions that apply to all Windows versions:

{for win}[[Image:Windows Logo]]{/for}
  • Change the selector to Windows XP, Windows 7/Vista, or Windows 8 to see the image:
Windows Logo
  • If you change the selector to Mac OS X or Linux, the image above won't be shown because it's not "for" them.

Firefox versions

Here is the syntax to show something for Firefox 29 and above:

{for fx29}[[Image:Firefox Logo]]{/for}
  • Change the selector to Firefox 29 or higher to see the image:
Firefox Logo
  • If you change the selector to Firefox 28 or lower the message above will disappear because it's not "for" those versions.

Show instructions for only one version of Firefox

To show instructions only for Firefox 29, use the "=" operator:

{for =fx29}[[Image:Firefox Logo]]{/for}
  • Now the image only shows when you change the selector to Firefox 29:
Firefox Logo

Combining operating systems & Firefox versions

You can specify an operating system and a Firefox version by separating them with a comma:

{for win,fx29}[[Image:Windows Logo]][[Image:Firefox Logo]]{/for}
  • Change the selector to Windows and Firefox 29 or higher to see images:
Windows LogoFirefox Logo

A more complex situation with an implied "for" can be written like this:

{for mac, winxp, win7, =fx28, fx32}[[Image:Windows Logo]][[Image:macos.jpg]][[Image:Firefox Logo]]{/for}
  • Change the selector to Mac or Windows XP or Windows 7/Vista and Firefox 28 or Firefox 32 and above to see images:
Windows Logomacos.jpgFirefox Logo


Formally, the markup between {for} and {/for} will be shown if either of these conditions is met:

  • The {for} lists at least one OS and includes the one the user is running (or has manually selected).
  • The {for} lists at least one Firefox version and includes the one the user is running (or has manually selected).

Otherwise, the contents of the {for}…{/for} is not shown.

A few other things to note:

  • Spaces after the commas are optional.
  • {for} and other wiki markup doesn't work in article search summaries.
  • Headings which are hidden by {for} blocks do not appear in the page's table of contents. If the user causes them to show by manually selecting the right OS/browser combination, the table of contents entries instantly appear.

Operating system and product abbreviations

These are the operating system and product abbreviations available for use with {for}:

  • win (Windows)
  • winxp (Windows XP/2000/Server 2003)
  • win7 (Windows 7/Vista/Server 2008)
  • win8 (Windows 8/8.1/Server 2012)
  • win10 (Windows 10)
  • mac (Mac OS X)
  • linux (Linux)
  • fxN where N = the Firefox version, i.e. fx22, fx23, fx24, etc.
  • mN where N = the Firefox for Android version, i.e. m22, m23, m24, etc.
  • fxosN where N = the Firefox OS version, i.e. fxos1.3, fxos1.4, fxos2.0, etc.
  • tbN where N = the Thunderbird version, i.e. tb24, tb31, tb38, etc.

You have to use fxN in Firefox support articles, mN in Firefox for Android support articles, fxosN in Firefox OS support articles and tbN in Thunderbird support articles.

Inline and block-level contexts

{for} can be used in both inline and block-level contexts (in the HTML sense). The inline form takes effect when working within a line of text:

This is {for win}inline use{/for}.

The block form is used to wrap entire paragraphs, ordered lists, headings, and so on. The only caveat is that, when using the block form, the {for} and {/for} should each be on a line by itself. Otherwise, it might be considered part of a neighboring paragraph and produce surprising results.

{for win}
This is block-level.
*One
*Two
{/for}

Using the {for} snippet in the autocomplete list

If you don't remember the syntax when writing an article, just press Ctrl + Space barcommand + space bar when the syntax highlighting is turned on and select for snippet in the autocomplete list. You will be presented the following pattern: {for os_or_firefox_version}text{/for}. Replace the stubs by what you want and you're done.

Using the handy dandy {for} button in the article editor

When you're editing a Knowledge Base article you can use the {for} button in the toolbar to write the markup for you.

  1. Highlight the text you want to put {for} tags around.
  2. Click Show for… in the editing toolbar.
  3. Check the boxes next to the Firefox versions and operating systems that you want to see this piece of content and then click Add Rule. The customized {for} tags will be placed around the section you highlighted.

Best practices for using {for} in articles

When writing instructions for different operating systems, it's best to write complete sentences and paragraphs for each OS/Firefox version even if it means duplicating things. This makes the article easier to understand, maintain and localize. When it comes time, for example, to remove specific instructions for Firefox 12 and below, those sections can just be deleted rather than trying to excise them from a larger section.

  • The wrong way to use {for}:
#{for not fx29}{for win,linux}At the top of the Firefox window{/for}{for mac}On the menu bar{/for}, click on the {/for}{for fx29}Click the menu button, go over to the {menu History} menu{/for}{for winxp,mac,linux,not fx29}{menu Tools} menu{/for}{for win7,win8,not fx29}{menu Firefox} menu, go over to the {menu History} menu{/for} and select {menu Clear Recent History…}
  • The right way to use {for}:
{for not fx29}
#{for win7,win8}At the top of the Firefox window, click on the {menu Firefox} menu, go over to the {menu History} menu and select {menu Clear Recent History…}{/for}{for mac}On the menu bar, click on the {menu Tools} menu and select {menu Clear Recent History…}{/for}{for winxp,linux}At the top of the Firefox window, click on the {menu Tools} menu and select {menu Clear Recent History…}{/for}
{/for}
{for fx29}
#Click the menu button, go over to the {menu History} menu and select {menu Clear Recent History…}.
{/for}
  • In the following example, we treat Firefox 20 and below, Firefox 21/22, and Firefox 23 and above as three different sets of instructions. That's often the case but more and more as we change Firefox every six weeks we'll see more changes in later versions. They'll look like this:
{for not fx21}
#The old instructions.
{/for}
{for =fx21,=fx22}
#The new instructions.
{/for}
{for fx23}
#The NEW new instructions.
{/for}