Difference between revisions of "Toolbox"

Jump to: navigation, search
(Itemizations: purpose)
(Add a code snippet)
Line 38: Line 38:
===Add a code snippet===  
===Add a code snippet===  
We distinguish code that the user inputs from terminal output by the use of templates<nowiki>{{Input|1=this piece of code is input by the user}}</nowiki> displays
We have templates to assist in correctly displaying code snippetsExamples of use in various situations are available on [[Typographical_Guidelines|the typographical guideline page]]
{{Input|1=this piece of code is input by the user}}
Code output by a terminal is shown similarly, using <nowiki>{{Output|1=the user would read this in konsole}}</nowiki> which displays as
{{Output|1=the user would read this in konsole}}
Be aware that very long lines can be problematic.  Wherever possible display the code in reasonably short lines.
Note, that space characters at the beginning of a line are eaten by the template parser. If you need to indent code lines use nonbreakable spaces, or use the templates <nowiki>{{Tab}}</nowiki>, <nowiki>{{Tab2}}</nowiki>, <nowiki>{{Tab3}}</nowiki>, <nowiki>{{Tab4}}</nowiki> which inserts respectively 4, 8, 12 and 16 spaces. For example, you can write{{Input|1=<nowiki>{{Input|1=No indent
{{Tab}}indented one tab
{{Tab3}}indented three tabs
}}</nowiki>}}to get
{{Input|1=No indent
{{Tab}}indented one tab
{{Tab3}}indented three tabs
For some reason, the Tab templates produce to much vertical spacing if the Input (or Output) template immediately follows on the same line as the preceding text. Start the Input template on a new line!
Beware, that in templates, the pipe character (|) is used to separate arguments - even when the template only takes one! If Your code snippet contains pipe characters, they have to be entered as a character code or you can use [[Template:!]] like this: <nowiki>
Beware, that in templates, the pipe character (|) is used to separate arguments - even when the template only takes one! If Your code snippet contains pipe characters, they have to be entered as a character code or you can use [[Template:!]] like this: <nowiki>

Revision as of 09:41, 3 June 2011

This page offers examples of formatting code for common tasks

Do not add an i18n language bar

{{Template:I18n/Language Navigation Bar|Toolbox}}

New pages should not have this language bar. It related to the old style of translation and will not work with page translation extension. The new style language bar will be added by the software when the first translation is made.

Add an introductory screenshot and description

Whenever possible we begin an application's top-level page with this. The code to achieve it is

{|class="tablecenter vertical-centered"
|Your descriptive text

Format your text

Use Headings

Headings automatically form part of your Table of Contents, so need to be structured. Their place in the tree is governed by multiple '=' characters at each end of the heading. Avoid using a single one - that denotes a page heading, and the automatic page heading should be used. Your major headings will use '==text goes here==', the next level, '===more text===' and so on.

Use bold and italic

Blips are used to specify bold and italic words.

Use '''bold text''' to specify bold text and ''italic text'' to specify italic text.

In order to ensure we get easy and accurate translations, please adhere to the typographical guidelines.

Add a code snippet

We have templates to assist in correctly displaying code snippets. Examples of use in various situations are available on the typographical guideline page

Beware, that in templates, the pipe character (|) is used to separate arguments - even when the template only takes one! If Your code snippet contains pipe characters, they have to be entered as a character code or you can use Template:! like this: {{Input|1=some code {{!}} more code}} displays

some code | more code

You can also combine input/output areas with GeSHi syntaxhiglighting. An input area like this

{{Input|<syntaxhighlight lang="php" line>
# Initialise common code
$preIP = dirname( __FILE__ );
require_once( "$preIP/includes/WebStart.php" );

will result in

1 # Initialise common code
2 $preIP = dirname( __FILE__ );
3 require_once( "$preIP/includes/WebStart.php" );

Add indents

":" is used for an indent, and was used in multiples in some old pages. This is deprecated, and causes some problems, so the multiples will be removed as they are found. A single ":" indents by four characters.

Bulleted lists

* is the symbol to use for bulletted lists. ** gives a second level:

* Almonds
* Nuts
** Cashews
* Raisins


  • Almonds
  • Nuts
    • Cashews
  • Raisins


Enumerations are produced in the same way, using '#'.

# Sift
# Mix
## Stir thoroughly
# Bake


  1. Sift
  2. Mix
    1. Stir thoroughly
  3. Bake


Itemizations are produced using ; and : alternatively. They are best for giving short descriptions for a group of related objects.

: They move around and devour other creatures.
: They have roots and feed upon ground water and sun.


They move around and devour other creatures.
They have roots and feed upon ground water and sun.

Add a link

There are two kinds of links to learn, internal ones, to another userbase page, and external URL links.

For an internal link the format [[PageLayout]], where you want to display the name of the page, does work, but it is not ideal, particularly for translation to docbook and for localisation. It is better to use the form [[Special:myLanguage/PageLayout|Page Layout]], because that allows translators to link correctly even though the page name is localised. The result is that it directs to the correctly translated page, if one exists. You often need to include the link in a sentence, so in that case you would use

[[Special:myLanguage/PageLayout|this page]]
which displays

this page

External links are slightly different so

[http://techbase.kde.org/Schedules our road map]

our road map, which would take you straight to the techbase page.

One last thing to note - when you preview your page, the links are live. This gives you two benefits. You can check (by hovering) that your links are set up as you expected, and you can use a red link to create a new page.

Illustrate your text

Add a single image, centered


Note that you can change the position of the image, but the default is left. The size of the image depends on the circumstances, but for screenshots I recommend no less than 250px and no more than 500px.

Make the image clickable, and add a caption

Where you need to show more detail, create a moderately sized image, clickable, so that the full-size can be seen. Simply add the parameter '|thumb' within the image parentheses.

A caption can also be added as a parameter, but will only show if '|thumb' is present.

Use tables to precisely place multiple images

{|class="tablecenter" style="border: 1px solid grey;"



Note that all the parameters for one image are contained within [[...]], and cells are separated by '||'. To start a new line, insert '|-' on an otherwise-empty line, then '|' at the start of the next one.

Add Notes and Warnings

Where a note or warning is relevant within your text, use these templates:

{{Info|This is general information}} displays

This is general information

{{Note|Some important information at this point}} displays

Some important information at this point

{{Tip|A helpful piece of advice, something to remember}}displays

A helpful piece of advice, something to remember

{{Warning|Take care - this is a dangerous thing to do}} displays

Take care - this is a dangerous thing to do

KDE3 and KDE SC 4 versions of applications

By default, KDE SC 4 is assumed. If the KDE SC 4 version is not yet ready for release, or where only a KDE 3 version exists, it may be necessary to document the KDE3 version. In this case you should add an icon {{KDE3}} which displays Kde3-button.png Should you be writing about a KDE3 version and KDE SC 4 version on the same page, use icons for both - {{KDE4}} which displays Kde4-button.png

Other Useful Templates

Community Applications

The final consideration concerns those applications which are not distributed as core KDE applications. These need to be indicated by an icon, placing {{Community-app}}

 Dialog-information.pngSee footnote

at the end of your sentence or line, just as you would to denote a footnote in general writing. You then need to add {{Community-app-footnote}} which will create a footnote, like this:

Dialog-information.pngSupport for this application can be found from the project's home page

Making major edits to Existing Pages

If a page is likely to be open for editing for some time there is a danger of conflicts - someone else may edit at the same time, and saving your edit will cancel out theirs, or vice versa. The way to avoid that is to make a temporary entry, directly under the language bar, using {{Being_Edited}} which will display

Being edited.png
Currently Being Edited
This page is currently being edited.
If this notice persists for an unreasonable time, please either notify irc.freenode.org #kde-www or report on Annew's Talk page

Note: Pages should not normally be marked for translation while they are being actively worked on

Don't forget to remove it when you have finished!

Adding a new complex page

If you need to be able to work on a page for quite some time, over several days, for instance, you may like to use the Construction template - {{Construction}}, which displays

Under construction.png
Under Construction
This is a new page, currently under construction!

Links to Pages in the Neighbourhood

You can add links to a preceding or a following page using the following templates as described here:

{{Prevnext|Previous Pagename|Following Pagename|The page before this page|This page you should read later}}

For first pages with no preceeding page or last pages with no following page use this:

{{Next|Following Pagename|This page you should read later}}
{{Prev|Previous Pagename|The page before this page}}

Adding a List of Sub-Pages

{{Input|1=== Subpages of {{FULLPAGENAME}} == {{Special:PrefixIndex/{{FULLPAGENAME}}/}}

is very useful when you want to list subpages with active links, such as

Subpages of Toolbox

It does, however, also list all "other-language" pages, so use with discretion.

Toolbox/Subpage DemoToolbox/TablesToolbox/Tables/ca

Content is available under Creative Commons License SA 4.0 unless otherwise noted.