WikiPages: Difference between revisions

From FreeCAD Documentation
No edit summary
m (removed obsolete description in relation with 'next' and 'previous')
 
(376 intermediate revisions by 24 users not shown)
Line 1: Line 1:
<languages/>
{{VeryImportantMessage|Page in progress.
{{TOCright}}
Contributions are welcome.}}
<translate>


<!--T:1-->
==Overview==
This page is an extension of the [[Help:Editing|Help:Editing]] page and gives common guidelines for writing and updating the FreeCAD wiki documentation. It summarizes several discussions and brainstorming sessions


== Before starting == <!--T:155-->
This page gives common guidelines on the best practices to be followed when writing or updating FreeCAD documentation.


<!--T:3-->
It also has the goal to bring together the threads that are dispersed in the forum and try to make order, being a single point of reference for FreeCAD documentation discussion and brainstorming, to better organize the wiki.
* This wiki documentation is based on [https://www.mediawiki.org/wiki/MediaWiki MediaWiki], the same software that powers [https://en.wikipedia.org/wiki/Main_Page Wikipedia]. If you have contributed to Wikipedia, editing FreeCAD wiki pages should be easy.
* Contrary to Wikipedia, the FreeCAD wiki is write-protected to avoid spam. You must request an account [http://forum.freecadweb.org/viewtopic.php?f=21&t=6830 on the forum].
* If you have never used wiki software before, please read [[Help:Editing]] to become familiar with the markup that is used.
* For advanced use of the wiki software, see [https://www.mediawiki.org/wiki/Help:Contents MediaWiki Help:Contents]. Not all features of MediaWiki are available in this FreeCAD wiki, but many are.
* We like to keep the documentation easy to read, so avoid using complex features. Keep it simple.
* Use a sandbox to test your code, for example, [[FreeCADDocu:Sandbox]] or a particular page with your name [[Sandbox:Yourname]]. Sandbox pages must be placed in the Sandbox category. This is done by adding <code><nowiki>[[Category:Sandbox]]</nowiki></code> at the bottom of the wiki code.
* Please be aware of the translations. The FreeCAD wiki uses automated translation support to provide pages in many languages. For every page multiple language versions can exist. On many pages you will see tags like <code>&lt;translate&gt;...&lt;/translate&gt;</code> and many single tags like <code>&lt;!--T:8--&gt;</code>. The latter mark so-called translation units and are created by the translation system, you should never create them manually. They link the headings and paragraphs to their translated versions. You should not change them as that would destroy those links. It is however fine to move paragraphs or change wording as long as the tags stay with them. If you remove a heading or a paragraph you should also remove the tag belonging to it. Please be aware that changes to existing headings and paragraphs affect the current translations. Your changes should be worth it. Do not worry when adding new material because the system will add new tags automatically after your edits. For more information see [[Localisation|Localisation]] and the original [https://www.mediawiki.org/wiki/Help:Extension:Translate/Page_translation_example Mediawiki:Extension:Translate page].


== General guidelines == <!--T:4-->
==Before Starting==


=== Concise descriptions === <!--T:156-->
Before starting editing FreeCAD wiki pages, be sure to be familiar with the [[Help:Editing|Wiki editing basics]].


<!--T:5-->
==General Guidelines==
When describing FreeCAD try to be concise and to the point and avoid repetition. Describe what FreeCAD ''does'', not what FreeCAD ''does not do''. Also avoid colloquial expressions such as 'a couple'. Use 'some' when dealing with an indeterminate number, or specify the correct quantity.


<!--T:67-->
Ideally, you should try to avoid duplicating the same information in different places. While it is simple to copy & paste some text, it will eventually lead to misaligned information when a page is update and the other not. You should insert the information in one place only, and make reference to this single point.
; Bad description
: [[PartDesign_Workbench|PartDesign Workbench]]: the PartDesign Workbench is a workbench for part design that aims to provide tools for modelling complex solid parts.


<!--T:69-->
A possible solution for the above problem is the use of templates and transclusions (see [[Help:Editing#Templates and transcluding pages|Templates and transcluding pages]] if you are not familiar with this concept), but their usage for this goal is strongly discouraged. The reason is that in the printed manual created from the Wiki help you will have the same information printed over and over again; but even a reader using the Wiki can be confused by finding the same text in different pages.
; Good description
In case you need the same explanations in more than one point of the documentation, please consider creating a new page topic, and make explicit references (links) to this page.
: [[PartDesign_Workbench|PartDesign Workbench]]: aims to provide tools for modelling complex solid parts.


=== Centralized information === <!--T:157-->
[[#Templates|Templates]] are heavily used, instead, for styling the text. For instance, there is a template for styling menu commands, like {{MenuCommand|File->Save}}, another template to style keys to be pressed, like {{KEY|SHIFT}}, etc.. This allows to have a consistent look and feel of the documentation, as well as to be able to update the style by simply changing the template. Please get familiar with the [[#Templates|templates]] used in FreeCAD Wiki Help documentation before writing help pages.


<!--T:6-->
==Examples==
Avoid duplicating the same information in different places. Insert the information in a new page, and link to this page from other pages that require this information.


<!--T:7-->
Working by examples will help you keep the right track, and be ahead on the learning curve. So even if reading the following sections is highly recommended, you can quickly get familiar with the structure and style of FreeCAD wiki looking at the following pages, that can be considered reference for best style practices of FreeCAD documentation.
Do not use transclusion of pages ([[Help:Editing#Templates_and_transcluding_pages|Help:Editing#Templates and transcluding pages]]), as this makes the wiki difficult to translate. Use only the templates described below in [[#Templates|#Templates]].


=== Styling === <!--T:158-->
If you are consistent with this look & feel, you won't be far from a correct FreeCAD documentation page, and your contribution will blend more easily in the wiki.


<!--T:9-->
[[Std_ViewScreenShot]]<br>
Templates are used to style the help pages. They give the documentation a consistent look and feel. There is a template for menu commands, {{MenuCommand|File → Save}}, a template to style keys to be pressed, {{KEY|Shift}}, to show a Boolean value, {{TRUE}}, etc. Please get familiar with the [[#Templates|#Templates]] section before writing help pages.


=== Temporary flags === <!--T:159-->
==Structure==


<!--T:10-->
===General===
If you are working on a large page it is advisable to mark the page either as a work in progress or as unfinished. This assures that wiki admins don't mark your page as ready for translation while you are still changing it.
You should normally not use a =header= for a page, since the page title is automatically added.


<!--T:11-->
Remember that there is an index, so the docnav is not useful.
To flag a page add either <code><nowiki>{{Page in progress}}</nowiki></code> or <code><nowiki>{{UnfinishedDocu}}</nowiki></code> as the first line. With <code><nowiki>{{UnfinishedDocu}}</nowiki></code> you invite others to join you in finishing the page, while <code><nowiki>{{Page in progress}}</nowiki></code> indicates that you will do the work yourself and others should give you some time.


<!--T:12-->
===Links===
Once the work is done, please don't forget to remove the flags!
You should use the original link name for the links whenever possible. This clarifies the referenced chapter in printed / pdf documentation. You must anyway avoid the usage of non-meaningful words for the link.


== Examples == <!--T:13-->
====Bad link====
For more information on this topic, click [[Draft Workbench|here]].


<!--T:14-->
====So-so link====
To quickly get familiar with the structure and style of the FreeCAD wiki look at the model page: [[GuiCommand_model|GuiCommand model]].
For more information on this topic, refer to [[Draft Workbench|drafting 2D objects]].


</translate>
====Good link====
<div class="mw-collapsible mw-collapsed toccolours">
For more information on this topic, see how to draft 2D objects in the [[Draft Workbench]].
<translate>


== Structure == <!--T:15-->
===Command pages===
</translate>
The command pages should not be too long, they should only explain what a command can do and what it can't, and how to use it. You should keep pictures to a minimum, and not give too many examples - tutorials is where we should go in step-by-step details.
<div class="mw-collapsible-content">
<translate>
<!--T:16-->
The [[User_hub|User hub]] provides a [[Online_Help_Toc|Table of Contents]]. This is used as the main reference for automatically building the offline help you can reach from FreeCAD, as well as the offline PDF documentation.


<!--T:17-->
Restrictions should be documented right in the command page itself rather than elsewhere, possibly under a "restrictions" chapter.
The [[Template:Docnav]] is used to sequentially link pages, following the structure of the [[Online_Help_Toc|Table of Contents]]. See [[#Templates|#Templates]] for a list of all templates.


=== Page names === <!--T:160-->
Please refer to the [[Gui Command]] page for specific indications on Gui Command rules (naming, documenting, etc.).


<!--T:18-->
===Tutorials===
Page names should be short and they should use title case: every word should begin with a capital letter, unless they are articles, prepositions, conjunctions, or other grammatical particles (f.e. 'of', 'on', 'in', 'a', 'an', 'and').
Good tutorial examples are available at [http://freecad-tutorial.blogspot.it FreeCAD tutorial - Unofficial tutorial blog].
Though they are not styled as FreeCAD wiki pages, they are a valid example of how a written tutorial should look like.


<!--T:20-->
== Language ==
; Bad page name:
: Construction of AeroCompany airplanes


<!--T:161-->
===Expressions===
; Good page name:
You should avoid colloquial generic expressions as 'a couple'. Please re-phrase as 'some' if inteterminate, or with the correct cardinality.
: Construction of AeroCompany Airplanes


<!--T:22-->
===Conciseness===
The names of top level workbench pages must have this format: <code>XYZ Workbench</code>, where <code>XYZ</code> is the name of the workbench, for example [[PartDesign_Workbench|PartDesign Workbench]]. And the names of pages describing the commands (or tools) belonging to a workbench must have this format: <code>XYZ Command</code>, for example [[PartDesign_Pad|PartDesign Pad]]. Note that you should use the command name as it occurs in the source code.
Try to avoid repetitions to keep descriptions short.


=== Headings === <!--T:162-->
====Bad description====


<!--T:163-->
[[PartDesign Workbench|Part Design Workbench]]: the Part Design Workbench is a workbench for part design that aims to provide tools for modelling complex solid parts.
Paragraph headings should be short and use sentence case: all words except the first one and proper names, should be in lowercase. You should not use <code><nowiki>H1</nowiki></code> headings (<code><nowiki>=&nbsp;Heading&nbsp;=</nowiki></code>) in your wiki markup since the page title is automatically added as the main <code><nowiki>H1</nowiki></code> heading.


=== Links === <!--T:164-->
====Good description====


<!--T:26-->
[[PartDesign Workbench|Part Design Workbench]]: aims to provide tools for modelling complex solid parts.
You should use the original link name for links whenever possible. This clarifies the referenced page in printed or offline documentation. Please avoid non-meaningful words for the link.


<!--T:27-->
; Bad link
: For more information on drafting 2D objects click [[Draft_Workbench|here]].


<!--T:29-->
==Style==
; Good link
: For more information on drafting 2D objects refer to the [[Draft_Workbench|Draft Workbench]].


<!--T:39-->
===Templates===
The preferred format for a link is:
Basic Templates used in FreeCAD wiki pages ''(versions disordered, see [[Wiki_Template_List]])'' follows.


<!--T:40-->
General use of tags (e.g. TOC, KEY, TASK, VIEW Macros, tags, navigation bar, GuiCommand box, thumbnails, illustrations, screenshot, Image Sizes, ecc..) should be kept to a minimum, as they are distracting. The navigation bar is not very useful, since the toolbar is just a click away, in the workbench page which is linked in the GuiCommand box, which also includes a "See also" field.)
<code><nowiki>[[Name_of_Page|Name of Page]]</nowiki></code>


<!--T:41-->
Translated:


<!--T:42-->
<code><nowiki>[[Name_of_Page/fr|Nom de la Page]]</nowiki></code>

<!--T:43-->
Note that for the part before the <code><nowiki>|</nowiki></code> character, the actual link, case is relevant. If your page name is <code><nowiki>Name_of_page</nowiki></code> the link will fail if you type <code><nowiki>Name_of_Page</nowiki></code> (upper case P). Before the <code><nowiki>|</nowiki></code> character all spaces should be replaced by underscores (<code><nowiki>_</nowiki></code>). This is to assist translators using translation software, without the underscores the link would be translated by the software which is undesirable.

<!--T:44-->
To link to a certain paragraph add a <code><nowiki>#</nowiki></code> sign and its headings to the page name. Example:

<!--T:45-->
<code><nowiki>[[WikiPages#Links|WikiPages]]</nowiki></code>

<!--T:48-->
Translated:

<!--T:49-->
<code><nowiki>[[WikiPages/fr#Liens|WikiPages]]</nowiki></code>

<!--T:50-->
Within the same page you can omit the page name. Example:

<!--T:165-->
<code><nowiki>[[#Links|Links]]</nowiki></code>

<!--T:33-->
To link to the top of the page you can use:

</translate>
<code><nowiki>&lt;/translate&gt;{{Top}}&lt;translate&gt;</nowiki></code>
<translate>

<!--T:35-->
This template should automatically display the correct text depending on the language of the page. A link to the top of the page is especially useful for long pages as it allows the user to quickly jump back to the table of content. You can put it at the end of each paragraph. Make sure there is an empty line before and after the template.

<!--T:226-->
; Image link
: [[Image:Draft_Wire.svg|24px|Optional text that is shown when you hover the image|link=Draft_Wire]]

<!--T:227-->
To use an image as a link:

<!--T:228-->
<code><nowiki>[[Image:Draft_Wire.svg|24px|Optional text that is shown when you hover the image|link=Draft_Wire]]</nowiki></code>

<!--T:229-->
; Image link + text link
: [[Image:Draft_Wire.svg|24px|link=Draft_Wire]] [[Draft_Wire|Draft Wire]]

<!--T:230-->
If you leave out the optional text the link itself will be shown when the image is hovered, which is preferable, and you should also add a text link after the image link:

<!--T:231-->
<code><nowiki>[[Image:Draft_Wire.svg|24px|link=Draft_Wire]] [[Draft_Wire|Draft Wire]]</nowiki></code>

=== Workbench pages === <!--T:166-->

<!--T:52-->
A top level workbench page should start with:
* A description of what the workbench is used for.
* An image to illustrate the description.

<!--T:53-->
See [[#Screen_capture|#Screen capture]] for conventions on including images.

=== Command pages === <!--T:167-->

<!--T:54-->
Command pages describing workbench tools should not be too long, they should only explain what a command can do and what it can't, and how to use it. You should keep pictures and examples to a minimum. Tutorials can expand on how to use the tool and provide step-by-step details.

<!--T:56-->
Please refer to the [[GuiCommand_model|GuiCommand model]] page for more details.

=== Tutorials === <!--T:168-->

<!--T:57-->
A well written tutorial should teach how to achieve certain practical results quickly. It shouldn't be too long, but should include sufficient step-by-step instructions and images to guide the user. As FreeCAD evolves, tutorials may become obsolete, so it is important to mention the FreeCAD version used in, or required for, a tutorial.

<!--T:60-->
For examples visit the [[Tutorials|Tutorials]] page.
</translate>
</div> <!-- End of collapsible element for Structure section. Do not remove! -->
</div> <!-- End of collapsible element for Structure section. Do not remove! -->

<div class="mw-collapsible mw-collapsed toccolours">
<translate>

== Templates == <!--T:70-->
</translate>
<div class="mw-collapsible-content">
<translate>
<!--T:71-->
Styling of the FreeCAD wiki pages is achieved through the use of templates ([[Help:Editing#Templates_and_transcluding_pages]]). They ensure a standardized look and feel across all pages, and also make it possible to re-style the wiki. You can see the complete list of defined templates by accessing [[Special:PrefixIndex/Template:]]. But please only use the templates listed in the tables below. Only in very special cases should you use HTML tags directly.

<!--T:73-->
Click on the template link to see the usage instructions for a template, and to see its implementation. Templates are a powerful feature of the MediaWiki software. You should be an experienced wiki user if you wish to propose additions and modifications to existing templates. If implemented incorrectly, templates make it difficult to translate pages into other languages, so their use should be limited to text formatting, page transclusion should be avoided. See [https://www.mediawiki.org/wiki/Help:Templates MediaWiki Help:Templates] to learn more.

=== Simple templates === <!--T:170-->

<!--T:74-->
These templates accept a simple text parameter, and format it with a particular style.
{|{{Prettytable}}
{|{{Prettytable}}
!Template
!style="width:10%;"|Template
!Appearance
!style="width:20%;"|Appearance
!Description
!style="width:70%;"|Description
|--
|[[Template:Emphasis|Emphasis]]
|{{Emphasis|emphasis}}
|Text to emphasize
|--
|[[Template:FileName|FileName]]
|{{FileName|File name}}
|Names of files or directories
|--
|[[Template:MenuCommand|MenuCommand]]
|{{MenuCommand|File->Save}}
|Text that is displayed in a GUI command menu
|--
|[[Template:KEY|KEY]]
|{{KEY|ALT}}
|Show a keyboard key
|--
|[[Template:FALSE|FALSE]]
|{{FALSE}}
|False value (e.g. of a [[Property editor|property]])
|--
|[[Template:TRUE|TRUE]]
|{{TRUE}}
|False value (e.g. of a [[Property editor|property]])
|--
|[[Template:Fake heading|Fake heading]]
|{{Fake heading|Heading|2}}
|Heading that will not be included in the automatic TOC
|--
|[[Template:PropertyView|PropertyView]]
|{{PropertyView|Color}}
|Show a View [[Property editor|property]]
|--
|[[Template:PropertyData|PropertyData]]
|{{PropertyData|Position}}
|Show a Data [[Property editor|property]]
|--
|[[Template:Properties Title|Properties Title]] / [[Template:TitleProperty|TitleProperty]]
|{{Properties_Title|Base}}
|Title for a [[Property editor|property]] group. Will not be included in the automatic TOC.
|--
|[[Template:PropertyTasks|PropertyTasks]] / [[Template:TasksTag|TasksTag]]
|{{PropertyTasks|Tasks}}
|
|--
|[[Template:Prettytable|Prettytable]]
|this table
|Create tables
|--
|[[Template:Clear|Clear]]
|
|Clear columns
|--
|[[Template:Docnav|Docnav]]
|{{Docnav|Online Help Startpage|Feature list}}
|Used to create the 'next', 'previous' and 'index' links (usually at the bottom of a page)
|--
|[[Template:GuiCommand|GuiCommand]]
|See example [[GuiCommand model]]
|Main template for creating right side box for documenting GuiCommands
|--
|Click
|'''Deprecated'''
|Superimpose an invisible link on an image. You should use the native Wiki picture inclusion method instead.
|--
|DASH
|'''Deprecated'''
|Text box type code, colorful background. You should use the style you obtain starting the source line with a space.
|--
|Disambig
|'''Deprecated'''
|Not used.
|--
|Information
|'''Deprecated'''
|Not used. A standardized table providing complete information about the file, including description of what it shows and how it was made, copyright status and source.
|--
|Languages
|ok
|obsolete with the new wiki
|--
|Macro
|ok, used
|the main anchor on documenting macros
|--
|Message
|rarely used
|for message not very important
|--
|VeryImportantMessage
|ok, used
|for message very important
|--
|Screenshot
|link
|<small>{{{2}}} - see more [[screenshots]]</small>
|--
|Softredirect
|
|Use it instead of the normal redirect, when you are redirecting to a special page (such as Media: or Category:), in which cases the normal redirect is disabled.
|--
|UnfinishedDocu
|ok
|mark not finished documentation.
|--
|Version
|FreeCAD version, small text
|--
|SystemInput
|
|User typed input text
|--
|SystemOutput
|
|Text output from the system
|--
|Variables
|
|Value or parameter
|--
|Optional
|[]
|Optional text or value
|--
|Choice
|<nowiki>{value1|value2}</nowiki>
|Choice of values from which one is used
|--
|Code
| function()
|Code
|}


<!--T:236-->
|--
|[[Template:Top|Top]]
|


</translate>{{Top}}<translate>
To have a global view on the chromatic aspect, see [[WikiPagesBasicColors|Basic Graphic Template]].


<!--T:238-->
===Code===
|Use it to add a link to the top of the page.
Code description should follow the text box, so that the description is structured according to the content. Accentuation should be used only on the word or lines that must strictly be accentuated.


<!--T:171-->
====Example of bad code description====
|--
|[[Template:Emphasis|Emphasis]]
|{{Emphasis|emphasis}}
|Use it to emphasize a piece of text.


<!--T:172-->
'''makeAngularDimension (center,[angle1,angle2],p3)''': creates an angular Dimension from the given center,
|--
with the given list of angles, passing through p3. Returns the newly created object.
|[[Template:KEY|KEY]]
|{{KEY|Alt}}
|Use it to indicate a keyboard key that needs to be pressed.


<!--T:173-->
====Example of good code description====
|--
|[[Template:ASCII|ASCII]]
|{{ASCII|A}}
|Use it to indicate a ascii key in a image (.svg) that needs to be pressed. You must give the character desired or the number of the code ascii of the character.


<!--T:174-->
'''makeAngularDimension (center,[angle1,angle2],p3)'''
|--
|[[Template:Button|Button]]
|{{Button|Cancel}}
|Use it to indicate a button in the graphical user interface that needs to be pressed.


<!--T:175-->
* Creates an angular Dimension from the given center, with the given list of angles, passing through p3.
|--
* Returns the newly created object.
|[[Template:RadioButton|RadioButton]]
|{{RadioButton|Option}}
|Use it to indicate a radio button in the graphical user interface that needs to be {{RadioButton|TRUE|Selected}} or {{RadioButton|FALSE|Not}}.


<!--T:176-->
==Graphics content==
|--
|[[Template:CheckBox|CheckBox]]
|{{CheckBox|Option}}
|Use it to indicate a checkbox in the graphical user interface that needs to be {{CheckBox|TRUE|Checked}} or {{CheckBox|FALSE|Not}}.


<!--T:177-->
===General===
|--
Avoid thumbnails whenever possible. Pictures should be shown in their original size, to avoid the need for the user to continuously navigate back and forth between different pages. Most important even, in the automatically generated printed manual (e.g. pdf version), thumbnails may not be readable. Thumbnails should be used only as last resource.
|[[Template:SpinBox|SpinBox]]
|{{SpinBox|1.50}}
|Use it to indicate a spinbox in the graphical user interface that needs to be modified.


<!--T:178-->
Pictures must be uploaded through the [[Special:Upload]] page.
|--
|[[Template:ComboBox|ComboBox]]
|{{ComboBox|Menu 1}}
|Use it to indicate a combobox in the graphical user interface that needs to be modified.


<!--T:239-->
===Screen capture===
|--
Recommended size for screen captures, to avoid any resizing when showing the picture, should be:
|[[Template:LineEdit|LineEdit]]
* native 600x400 (or width=600 and height<=400), for [[Gui Command]] pages, to allow the picture to fit in the left part of the page, and for other standard snapshots
|{{LineEdit|Metal Nickel (Ni)}}
* native 800x600 (or width=800 and height<=400), only for full screen images
|Use it to indicate a LineEdit in the graphical user interface that needs to be modified.
* Smaller sizes are possible when showing details, however use native resolution, not resizing or thumbnails, unless you have a very good reason to do so.
* Avoid larger resolutions, as they won't be much portable to any kind of display.


<!--T:179-->
If possible, you shouldn't depend too much on any OS. While of course achieving 100% independency from the underlying OS is not possible, you should use visual defaults whenever possible.
|--
|[[Template:FALSE|FALSE]], [[Template:false|false]]
|{{FALSE}}, {{false}}
|Use it to indicate a False Boolean value, for example, as a property in the [[Property_editor|property editor]]. This is a shortcut. Since it is a value, prefer Template [[Template:Value|Value]] {{Value|false}}


<!--T:180-->
To ease documentation translations, if you put a screenshot showing the interface, you should not show the 3D model view in the same screenshot. In this way, the translator will not have to hunt for the model used to create the screenshot, and can simply take a screenshot of the localized interface. If there are drop down menus in the taskbar, the options should be listed in the text content.
|--
|[[Template:TRUE|TRUE]], [[Template:true|true]]
|{{TRUE}}, {{true}}
|Use it to indicate a True Boolean value, for example, as a property in the [[Property_editor|property editor]]. This is a shortcut. Since it is a value, prefer Template [[Template:Value|Value]] {{Value|true}}


<!--T:181-->
===Icons and graphics===
|--
Refer to this page for ready-to-use [[Artwork]] and Icon creation rules.
|[[Template:MenuCommand|MenuCommand]]
|{{MenuCommand|File → Save}}
|Use it to indicate the location of a command inside a particular menu.


<!--T:182-->
==Models==
|--
The following pages contain models for FreeCAD documentation.
|[[Template:FileName|FileName]]
|{{FileName|File name}}
|Use it to indicate a name of a file or directory.


<!--T:183-->
[[GuiCommand_model]]<br>
|--
[[Boiler_NonCommand]]<br>
|[[Template:SystemInput|SystemInput]]
[[Wiki_Template_List]]<br>
|{{SystemInput|Type this text}}
[[Wiki_Resources]]<br>
|Use it to indicate user typed input text.
[[Template:UnfinishedDocu]]<br>


<!--T:184-->
==Translations==
|--
|[[Template:SystemOutput|SystemOutput]]
|{{SystemOutput|Output text}}
|Use it to indicate text output from the system.


<!--T:185-->
As per general consensus, the reference page is the English page, that should be created first. Moreover, if you want to change or add content in a page, you should do it in the the English page first, and only once the update is completed, port the modification to the translated page.
|--
|[[Template:Incode|Incode]]
|{{incode|import FreeCAD}}
|Use it to include in-line source code with a monospace font. It should fit in one line.


<!--T:186-->
The FreeCAD wiki supports a Translation plugin which allows to manage translations between pages.
|--
|[[Template:PropertyView|PropertyView]]
|{{PropertyView|Color}}
|Use it to indicate a View property in the [[Property_editor|property editor]]. Examples of View properties include {{emphasis|Line Color}}, {{emphasis|Line Width}}, {{emphasis|Point Color}}, {{emphasis|Point Size}}, etc.


<!--T:187-->
For an example of how it works once the translation module is activated on a page, please go to the [[Main_Page|Main Page]]. You will see a language menu bar at the bottom. It is automatically generated. Clicking on the German link you will get to [[Main_Page/de]].
|--
|[[Template:PropertyData|PropertyData]]
|{{PropertyData|Position}}
|Use it to indicate a Data property in the [[Property_editor|property editor]]. Data properties are different for different types of objects.


<!--T:188-->
Right under the title, you can read "This page is a translated version of a page Main Page and the translation is 100% complete." Click on the "translated version" link to start translation. You can now change the translated strings.
|--
|[[Template:Properties Title|Properties Title]] / [[Template:TitleProperty|TitleProperty]]
|{{Properties_Title|Base}}
|Use it to indicate the title of a property group in the [[Property_editor|property editor]]. The title will not be included in the automatic table of contents.


<!--T:189-->
You will notice that you cannot directly edit a page anymore once it's been marked as a translation. You have to go through the translation utility.
|--
|[[Template:Obsolete|Obsolete]]
|{{Obsolete|0.19}}
|Use it to indicate that a feature became obsolete in the specified FreeCAD version.


<!--T:190-->
For further details on translation, see FreeCAD Wiki Translation Process under [[Localisation]].
|--
|[[Template:Version|Version]]
|{{Version|0.18}}
|Use it to indicate that a feature was introduces in the specified FreeCAD version.


<!--T:191-->
Other useful resources are:
|--
* Language Codes: http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|[[Template:VersionMinus|VersionMinus]]
* Country Flags: http://en.wikipedia.org/wiki/Gallery_of_sovereign_state_flags
|{{VersionMinus|0.16}}
* Google Translate: http://translate.google.com/
|Use it to indicate that a feature is available in the specified FreeCAD version and earlier versions.


<!--T:192-->
==Brainstoriming==
|--
|[[Template:VersionPlus|VersionPlus]]
|{{VersionPlus|0.17}}
|Use it to indicate that a feature is available in the specified FreeCAD version and later versions.


<!--T:193-->
===Workflow, Roadmap===
|--
|[[Template:ColoredText|ColoredText]]
|{{ColoredText|Colored Text}}
|Use this template to color the background, text, or background and text. ([[Template:ColoredText|ColoredText]] page for more examples)


<!--T:194-->
Organize pages in the wiki
|--
|[[Template:ColoredParagraph|ColoredParagraph]]
|{{ColoredParagraph|Colored Paragraph}}
|Use this template to color the background, text, or background and text of an entire paragraph. [[Template:ColoredParagraph|ColoredParagraph]] page for more examples)
|}


=== Complex templates === <!--T:195-->
====Content and Appearance:====
** Renato: ''width of the page, now much space is unused (only for monitor 16:10)''
** Renato: ''white background, text more readable''
** Renato: '' links to similar commands, similar tools, scripts, examples, discussions, insights, forum, other... On all pages or only on some pages?''


<!--T:75-->
====Templates====
These templates require more input parameters, or produce a block of text with a particular format.
I think the things like this are also templates? <nowiki>{{PartDesign Tools}}</nowiki>
This template contains headlines, icons, short textual description, long textual description, list elements. May be easier to handle when splitted in pieces (at least: icon list, description list, "full featured": array of someWorkbenchTools[icon|description,{2-4}]...) ?


<!--T:196-->
* Basic Template that would be useful
{|{{Prettytable}}
{|{{Prettytable}}
!Template
!style="width:10%;"|Template
!style="width:45%;"|Appearance
!Note
!style="width:45%;"|Description
!Note
|--
|suggestion
caution
|useful?
|as Message?
|--
|alert
|useful?
|as VeryImportantMessage?
|--
|idea
|useful?
|
|--
|shortcut
|
|as KEY?
|}


<!--T:197-->
|--
|[[Template:Prettytable|Prettytable]]
|This table
|Use it to format tables such as this one. Additional table properties can be added.


<!--T:198-->
|--
|[[Template:Caption|Caption]]
|<div style="width:400px;">{{Caption|Some caption for an image}}</div>
|Use it to add an explanation below an image. It can be left aligned or center aligned.


<!--T:199-->
{|{{Prettytable}}
|--
!Template
|[[Template:Clear|Clear]]
!Appearance
|
!Description
|Use it to clear columns. Follow the definition of the template for a detailed explanation. It is often used to stop text from flowing next to unrelated images.
|--

|Clear
<!--T:200-->
|ok
|--
|Template for clearing columns
|[[Template:Code|Code]]
|--
|{{Code|code=import FreeCAD}}
|Click
|Use it to include multi-line code examples with a monospace font. The default language is Python, but other languages can be specified.
|rarely used

|superimpose an invisible link on an image
<!--T:79-->
|--
[[Python|Python]] code should adhere to the general recommendations established by [https://www.python.org/dev/peps/pep-0008/ PEP8: Style Guide for Python Code]. In particular, parentheses should immediately follow the function name, and a space should follow a comma. This makes the code more readable.
|DASH

|rarely used
<!--T:241-->
|text box type code, colorful background
|--
|--
|[[Template:CodeDownload|CodeDownload]]
|Disambig
|{{CodeDownload|https://wiki.freecad.org/Main_Page|Some label}}
|not used
|Use it to create a link on a [[Macros|macro]] page.
|

|--
<!--T:240-->
|Docnav
|ok
|--
|[[Template:Codeextralink|Codeextralink]]
|
|{{Codeextralink|https://wiki.freecad.org/Main_Page}}
|--
|Use it if the code of a [[Macros|macro]] is too large to be hosted on the Wiki. The code can then be hosted somewhere else, and the raw link to it specified with this template. The [[Std_AddonMgr|Addon Manager]] will use this link.
|FALSE

|color or black and gray?
<!--T:201-->
|<span style="color: #990000; background-color: #f1cece;">'''FALSE'''</span> <span style="color: #990000; background-color: #DDDDDD;">'''FALSE'''</span> <span style="color: #990000; background-color: #DDDDDD;">FALSE</span> <span style="color: #990000; background-color: #DDDDDD;">'''False'''</span> <span style="color: #990000; background-color: #DDDDDD;">False</span> <span style="background: #DDDDDD; border: 1px solid #888888; padding: 0px 5px 1px 5px;">False</span> <span style="background: #DDDDDD; border: 1px solid #888888; padding: 0px 5px 1px 5px;">'''False'''</span> <span style="background: #DDDDDD; border: 1px solid #888888; padding: 0px 5px 1px 5px;">'''False'''</span> <span style="background: #FFFFFF; border: 1px solid #888888; padding: 0px 5px 1px 5px;">'''False'''</span>
|--
|--
|[[Template:Fake heading|Fake heading]]
|[[GuiCommand]]
|{{Fake heading|Heading|2}}
|ok
|Use it to create a heading that will not be automatically included in the table of contents.
|the main anchor on documenting GuiCommands

|--
<!--T:202-->
|[[MenuCommand]]
|--
|{{MenuCommand|File->Save}}
|[[Template:GuiCommand|GuiCommand]]
|Text that is displayed in a GUI command menu
|See [[GuiCommand model|GuiCommand model]]
|--
|Use it to create a box with useful information to document workbench commands (tools).
|Information

|not used
<!--T:203-->
|A standardized table providing complete information about the file, including description of what it shows and how it was made, copyright status and source.
|--
|--
|[[Template:TutorialInfo|TutorialInfo]]
|[[KEY]]
|See for example [[Basic_modeling_tutorial|Basic modeling tutorial]]
|{{KEY|ALT}}
|Use it to create a box with useful information to document [[Tutorials|tutorials]].
|Show a keyboard key

|--
<!--T:204-->
|Languages
|ok
|--
|[[Template:Macro|Macro]]
|obsolete with the new wiki
|See for example [[Macro_FlattenWire|Macro FlattenWire]]
|--
|Use it to create a box with useful information to document [[macros|macros]].
|Macro

|ok, used
<!--T:205-->
|the main anchor on documenting macros
|--
|--
|[[Template:Docnav|Docnav]]
|Message
|{{Docnav|Online Help Startpage|Feature list}}
|rarely used
|Use it to create a bar with arrows and appropriate links, which is useful for putting pages in a particular sequence.
|for message not very important

|--
<!--T:206-->
|VeryImportantMessage
|--
|ok, used
|[[Template:VeryImportantMessage|VeryImportantMessage]]
|for message very important
|{{VeryImportantMessage|Important Message}}
|--
|Use it to create a highlighted box with a very important message. Use sparingly, only to indicate major problems in the functionality of the software, discontinuation of tools, and similar.
|Prettytable

|used for this table
<!--T:207-->
|could have different colors
|--
|--
|[[Template:Page in progress|Page in progress]]
|PropertyView
|{{Page in progress|Page in progress}}
|background green or gray?
|Use this for pages that are still in progress or that are currently being reworked. Don't forget to remove this when the page is ready.
|<span style="background: #C2EEAA; border: 1px solid #bbbbbb; padding: 0px 5px 1px 5px;"><small>VIEW</small> '''Property'''</span> <span style="background: #DDDDDD; border: 1px solid #bbbbbb; padding: 0px 5px 1px 5px;"><small>View</small> '''Property'''</span>

|--
<!--T:208-->
|Properties Title
|--
|spelling. color or black and gray?
|[[Template:UnfinishedDocu|UnfinishedDocu]]
|{{Properties_Title|Base}}
|{{UnfinishedDocu}}
|--
|Use it to create a highlighted box indicating an unfinished documentation page.
|PropertyTasks

|color or black and gray?
<!--T:209-->
|{{PropertyTasks|Length}} Renato: ''serve but too many disturbing reading''
|--
|--
|[[Template:Softredirect|Softredirect]]
|Screenshot
|
|link
|Use it instead of the normal redirect, when you are redirecting to a special page (such as Media: or Category:), in which cases the normal redirect is disabled.
|<small>{{{2}}} - see more [[screenshots]]</small>

|--
<!--T:210-->
|Softredirect
|
|--
|[[Template:Quote|Quote]]
|Use it instead of the normal redirect, when you are redirecting to a special page (such as Media: or Category:), in which cases the normal redirect is disabled.
|{{Quote|text=Cry "Havoc" and let slip the dogs of war.|sign=William Shakespeare|source=''Julius Caesar'', act III, scene I}}
|--
|Use it to create a box of text with a literal quote and reference.
|TasksTag

|color or black and gray?
<!--T:211-->
|{{TasksTag|Text}}
|--
|--
|[[Template:Userdocnavi|Userdocnavi]], [[Template:Powerdocnavi|Powerdocnavi]]
|TRUE
|
|color or black and gray?
|Use them to create navigation boxes for the user documentation, the power user documentation, and the developer documentation. This allows quickly jumping between different sections of the documentation. They also place the corresponding page in the proper category.
|{{TRUE}}

|--
<!--T:235-->
|UnfinishedDocu
|ok
|}
</translate>
|mark not finished documentation.
</div> <!-- end of collapsible div. Do not remove! -->
|--
</div> <!-- end of collapsible div. Do not remove! -->
|Version

|FreeCAD version, small text
<div class="mw-collapsible mw-collapsed toccolours">
|
<translate>
|--

|
== Graphics == <!--T:86-->
|
</translate>
|
<div class="mw-collapsible-content">
|}
<translate>
<!--T:87-->
Images and screenshots are necessary to produce a complete documentation of FreeCAD. They are particularly useful to illustrate examples and tutorials. Images should be shown in their original size, so they present sufficient detail and are readable if they include text. [[bitmap|Bitmap]] images should not be resized.

<!--T:88-->
Avoid animated pictures (GIF) in the general help pages. Animations and videos should be reserved for tutorials not intended to be used as offline PDF documentation.

<!--T:89-->
Images can be uploaded through the [[Special:Upload|Special:Upload]] page.

=== Name === <!--T:213-->

<!--T:90-->
Give meaningful names to your images. If you have an image that showcases the characteristics of a particular command, you should use the name of that command with {{incode|_example}} at the end. For example for the command [[Draft_Offset|Draft Offset]] the image should be called {{incode|Draft_Offset_example.png}}.

=== Screen capture === <!--T:214-->

<!--T:91-->
Recommended sizes for screen captures are:
* Native 400x200 (or width=400 and height<=200), for [[GuiCommand_model|command reference]] pages, to allow the picture to fit in the left part of the page, and for other standard snapshots.
* Native 600x400 (or width=600 and height<=400), for [[GuiCommand_model|command reference]] pages, when you really need a bigger picture, and still allow the picture to fit in the left part of the page, and for other standard snapshots.
* Native 1024x768 (or width=1024 and height<=768), only for full screen images.
* Smaller sizes are possible when showing details.
* Avoid images with larger resolutions, as they won't be very portable to other kinds of displays or the printed PDF documentation.

<!--T:92-->
You shouldn't depend on a custom configuration of your desktop or operating system when you create screenshots and you should use the visual defaults of the FreeCAD interface whenever possible.

<!--T:2-->
To create a screenshots you can use the options provided by your operating system, or one of these macros: [[Image:Snip.png|24px]] [[Macro_Snip|Macro Snip]] and [[Image:Macro_Screen_Wiki.png|24px]] [[Macro_Screen_Wiki|Macro Screen Wiki]].

=== Text === <!--T:215-->

<!--T:93-->
To ease documentation translations, try to avoid screenshots that contain texts. If you cannot avoid this, consider taking separate screenshots of the interface and the [[3D_view|3D view]]. The image of the 3D view can be reused in every translation, while a translator can take a screenshot of the localized interface if necessary.

=== Icons and graphics === <!--T:216-->

<!--T:98-->
Refer to the [[Artwork|Artwork]] page for all artwork and icons that have been created for FreeCAD, and which can also be used in documentation pages. If you would like to contribute icons, please read the [[Artwork_Guidelines|Artwork Guidelines]].
</translate>
</div> <!-- end of Graphics collapsible div. Do not remove! -->
</div> <!-- end of Graphics collapsible div. Do not remove! -->

<div class="mw-collapsible mw-collapsed toccolours">
<translate>

== Translations == <!--T:99-->
</translate>
<div class="mw-collapsible-content">
<translate>
<!--T:225-->
As per general consensus, the reference page in the wiki is the English page, which should be created first. If you want to change or add content to a page, you should do it to the English page first, and only once the update is completed, port the modification to the translated page.

<!--T:100-->
The FreeCAD wiki supports a translation extension that allows managing translations between pages easier; for details, see [[Localisation#Translating the wiki|Localisation Translating the wiki]].

<!--T:101-->
Other useful resources are:
* [http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes ISO language codes] to identify the two-letter code for a particular language that you want to translate to.
* [http://translate.google.com/ Google Translate] for help with translations.
* [https://www.deepl.com/translator Deepl translator] for help with translations.

== Some tips for translators == <!--T:102-->

=== Translate GuiCommand === <!--T:103-->

</translate>
<pre>
{{GuiCommand
|Name=FEM EquationFlux
|MenuLocation=Solve → Flux equation
|Workbenches=[[FEM_Workbench|FEM]]
|Shortcut={{KEY|F}} {{KEY|S}}
|Version=0.17
|SeeAlso=[[FEM_tutorial|FEM tutorial]]
}}
</pre>
<translate>

<!--T:105-->
Translated:

</translate>
<pre>
{{GuiCommand/fr
|Name=FEM EquationFlux
|Name/fr=FEM Équation d'écoulement
|MenuLocation=Solveur → Équation de flux
|Workbenches=[[FEM_Workbench/fr|Atelier FEM]]
|Shortcut={{KEY|F}} {{KEY|S}}
|Version=0.17
|SeeAlso=[[FEM_tutorial/fr|FEM Tutoriel]]
}}
</pre>
<translate>

=== Translate navi === <!--T:107-->


</translate>
<pre>
{{FEM_Tools_navi}}
</pre>
<translate>


<!--T:109-->
* Other Template
Translated:
* PartDesignTools
* _______________


</translate>
<pre>
{{FEM_Tools_navi/fr}}
</pre>
<translate>


=== Translate link === <!--T:111-->
===Forum===
* Reflect on requests for help made ​​in the forum and use the given examples (if it is required an aid often means that the manual is not exhaustive, in the forum there are good examples, but hard to find)
** Renato: ''Insert a link on the document page or insert the example or insert nothing?''
***Ralf: insert link(s) always in a field/area which is always there on every page. If there is nothing to link, there should be a text in this area as "There is currently no link to forum examples."
***Ralf #2 examples: no examples at pages which are describing more than exactly the use of (probably mostly) a tool. If there would be examples (at different pages) which differ in various ways and are not comparable are confusing.
*** Ralf #3 examples: But beside of existing examples: defining a "standard model" (or some of them if needed for fairly different tasks as p.e. Part-Design vs. Arch) for really every example would promise a lot of advantages. The first one: if one like to try an example the related model file is available right there with the next click. Whatever the "standard model" could be - the most important condition it have to be usable for all examples/task from to simplest up to the most complex (FEM,assembly?!)
*** May be such an ''standard model'' and his incarnations could be also a kind of a "figurehead" for FC.<br>
*** [[User:Ediloren|Ediloren]] ([[User talk:Ediloren|talk]]) 18:01, 3 September 2013 (CEST) : looks like a good idea but not too practical; I expect that the burden of adding examples for everything would be very high. I would prefer to resort on tutorials, videos, and forum unless somebody has really the time and commitment to follow this part (me not, sorry :) )
[[WikiPagesFromForum|Some useful examples taken from the forum]]


</translate>
===Documentation structure:===
<pre>
* Links between pages (tree and hierarchy linear, orderly, full)
[[Part_Module|Part Module]]
** Renato: ''If there is an index the docnav does not serves.''
</pre>
* Page titles descriptive
<translate>
** Renato: ''Translated or not translated? With the new translator seems outdated''
* Structure of the documentation (depending on the type of user and the type of documentation). ''Group some things? - If possible in any way: group everything to maximal seven (7) entrys (per group)(Ralf).'':
** Reference (needs indicate precise criteria) (Ralf: for me for advanced users/using, #3)
** How to (Ralf: additional, #4)
** Tutorial (Ralf: additional, #5)
*** External links
** Themed (Ralf: 1st thing / start point while using the documentation? - for me #1)
** examples - in relevant cases - the most basic example for using the tool / workbench /feature (is that possible with complex tools?) ; may be one "standard" example case for the most examples, if possible (so the fcstd file can be supplied and re-used for a lot of uses) for me #2 or to #1<br>
** linear (all, as now)
** structured with sub-structures (very clear if there are no more than 5..7 entrys per structure layer)
** task - specific (features is other than transform than handle mouse etc.)
** FAQ
** Books
** Plugins
** Macro


<!--T:113-->
===Documentation schemes===
Translated:


</translate>
See [[WikiPagesDocSchemes|Documentation schemes]]
<pre>
[[Part_Module/fr|Atelier Part]]
</pre>
<translate>


=== Translate Docnav === <!--T:119-->
===Repository===
* fcstd file
* pics, images
* icons (there are almost all)
* "Show your FreeCAD projects here!" archives


</translate>
===Who are the users:===
<pre>
* New users FreeCAD:
{{Docnav
** Users without CAD experience -> not the job of the FreeCAD doc to teach them CAD - the job to teach them how to use FreeCAD? ''Renato: I think that FreeCAD is currently the only free CAD program with a professional approach. Many people exactly look for this to begin.''
|[[About_FreeCAD|About FreeCAD]]
** Users with CAD experience (2D/3D/parametric); users with 3D experience - no CAD
|[[Installing_on_Windows|Installing on Windows]]
** Users who know how to program (version?)
}}
</pre>
<translate>


<!--T:218-->
* Users who know FreeCAD:
Translated:
** Users
** Advanced users
** Developers


</translate>
===What the users needs:===
<pre>
* According to the category of the previous point they need different things (to be determined).
{{Docnav/fr
* Renato: ''In my opinion the beginners to FreeCAD (or to CAD?) needs:''
|[[About_FreeCAD/fr|À propos de FreeCAD]]
** ''find the information immediately'' + Ralf: in the expected, consistent way
|[[Installing_on_Windows/fr|Installation sous Windows]]
** ''know what are the workbenches, when and how to use them,'' + Ralf: is this one workbench all I need or do I need more than one?
}}
** ''the commands that are available,'' + Ralf: in the workbench - for the task - all
</pre>
** ''the workflow to use,'' - Ralf: workflow sounds specific - may be the most basic way to use this - may be especially for tools there could be more than page per tool (as above: basic for beginners, extended use for advanced users)
<translate>
** ....


<!--T:219-->
===Translations===
Example with icons:


</translate>
* Consistent (the reference page is the English page, see the various discussions regarding the rules in the forum)
<pre>
* Updated (how?) + Ralf: 1st: Version, 2nd: frozen state of doc page - "this is the actual version of the documentation of ... for FC version xxx"; 3rd linked archiv pages of other versions (and maybe other frozen states), all with corresponding "tags" / marks
{{Docnav
** ''Use a document type that including at least one complete section of the manual (not just one page at a time). Comparable off line with an previous version. With "Recent changes" is difficult to follow all the changes, when they are frequent.''
|[[Std_Save|Save]]
* FCSTD files for Documentation ''(wandererfan wrote: It would be nice to have a repository for the fcstd files +Ralf and it would be very helpful - used to generate screenshots, etc. Then the 2nd author/translator could just open the fcstd with a different locale to generate the new screenshot. This would also for standardization of background colours, font sizes, etc. )''
|[[Std_SaveCopy|SaveCopy]]
* Renato. My personal:
|[[Std_File_Menu|Std File Menu]]
''- The wiki, is the best way to create documentation FreeCAD? Would not it be better to reserve it for some issues and create a comprehensive manual for each version?''<br>
|IconL=Std_Save.svg
''- About updates, this is a crucial point, I've seen that you do not like docboock, and I do not intend to return to this theme, but docboock allows translators to easily work on documents. Allows you to download the entire document and compare it with the previous one. With this way changes are made always and only in the original document. Then the translators periodically (even daily if they want) downloading the document and compares with an earlier version and update it indicating the upgrade version. I've experienced that this procedure is very good. Can I do a similar thing with the wiki? In this way there is no need to continuously monitor Recent Changes and updates are easier to control.''
|IconR=Std_SaveCopy.svg
|IconC=Freecad.svg
}}
</pre>
<translate>


<!--T:220-->
===Some notes taken from the forum===
Translated:


</translate>
yorikvanhavre wrote: ''Actually we could do a little brainstorming, see things that should be changed on the wiki...''
<pre>
''I already thought of a couple of things: - a new wiki homepage with a clear view of the contents - better formatting of the 3 principal sections, for user (basically the command pages), for power users (everything about python) and the higher-level stuff (compiling, etc) - more professional aspect of the wiki pages - build a better and more strict model for command pages - find a good system to handle translations''
{{Docnav/fr
|[[Std_Save/fr|Enregistrer]]
|[[Std_SaveCopy/fr|Enregistrer une copie]]
|[[Std_File_Menu/fr|Menu fichier]]
|IconL=Std_Save.svg
|IconR=Std_SaveCopy.svg
|IconC=Freecad.svg
}}
</pre>


</div> <!-- END of Translation section collapsible element. Do not remove! -->
gdo wrote: ''But maybe a survey to freecad users could help to understand precisely what is the beginners needs.''
</div> <!-- END of Translation section collapsible element. Do not remove! -->


<translate>
Ralf wrote: ''Even for the ones who are trying FreeCAD the first times, it's essential to find a consistent documentation otherwise they weren't motivated to give even some first tries.''
== Create, rename and delete pages == <!--T:128-->


=== Create pages === <!--T:232-->


<!--T:233-->
And many more ... dispersed and mixed in:<br>
Before creating a new page you should first check if a similar page already exists. If that is the case it is usually better to edit that existing page instead. When in doubt please open a topic in the [https://forum.freecadweb.org/viewforum.php?f=21 Wiki forum] first.
http://sourceforge.net/apps/phpbb/free-cad/viewtopic.php?f=8&t=3167<br>
http://sourceforge.net/apps/phpbb/free-cad/viewtopic.php?f=10&t=3899<br>
http://sourceforge.net/apps/phpbb/free-cad/viewtopic.php?f=8&t=3988<br>
http://sourceforge.net/apps/phpbb/free-cad/viewtopic.php?f=12&t=3959<br>
http://sourceforge.net/apps/phpbb/free-cad/viewtopic.php?f=13&t=4025<br>


<!--T:234-->
===Examples of CAD documentation===
To create a new page do one of the following:
* Visit the URL with the desired page name, for example: <code><nowiki>https://wiki.freecadweb.org/My_New_Page</nowiki></code>, and click on 'create this page'.
* Do a wiki search for the page name, and click on the red text in 'Create the page "My New Page" on this wiki!'.


=== Rename pages === <!--T:129-->
http://help.solidworks.com/2013/English/SolidWorks/sldworks/c_Sketch_Fillets.htm?id=cb1f4dfbe23245aeb58d17af808ee10c#Pg0 <br>


<!--T:130-->
Ralf: good: you can see where you are ; bad: a huge lot of entrys in the navigation / summary at left - the opposite of structured; sorry: pieces of the forum at the documentation page: what is the documentation page good for than? (but the link to the forum / forum search - ok.)<br>
Since FreeCAD is a project under permanent development, it is sometimes necessary to revise the content of the wiki. If the names of commands are changed in the source code, the wiki pages documenting them have to be renamed as well. This can only be done by wiki administrators. To inform them, open a topic in the [https://forum.freecadweb.org/viewforum.php?f=21 Wiki forum] and list the necessary renaming operation in this form:
http://www.gcad3d.org/ <br>
Ralf: thumbs up. clear, well structured. sometimes long but I don't know how to avoid that at some themes. Maybe the tree structure layers could be separated in two directions at the page for more place for the content. They have "last updates" I prefer "this version of the documentation is xxx and depend the program version xxy"


</translate>
Reported by wandererfan<br>
<pre>
guidelines for wiki authors:<br>
old name new name
http://wiki.blender.org/index.php/Meta:Guides/Writer_Guide<br>
Old_page_name_1 New_page_name_1
http://wiki.blender.org/index.php/Meta:Guides/Style_Guide<br>
Old_page_name_2 New_page_name_2
Manual TOC:<br>
...
http://docs.gimp.org/2.8/en/<br>
</pre>
http://wiki.blender.org/index.php/Doc:2.6/Manual<br>
<translate>


=== Delete files and pages === <!--T:135-->
Reported by Ralf:<br>
http://opensourceecology.org/wiki/FreeCAD<br>


<!--T:136-->
For the Italian translation also:<br>
In case you need to delete a file, go to its page (<code><nowiki>https://www.freecadweb.org/wiki/File:***.***</nowiki></code>) and edit it. No matter if the page is blank or not, add this as the first element: <code><nowiki>{{Delete}}</nowiki></code> and directly below it describe why the page should be deleted. Additionally, open a topic in the [https://forum.freecadweb.org/viewforum.php?f=21 Wiki forum].
http://tp.linux.it/


<!--T:137-->
===Next actions ===
For pages the procedure is the same.
# gather ideas
# build Table of Contents
# build good models (in the template created by Wandererfan)
# edit the master page in English (updated until a new FreeCAD version is released then freeze the document in pdf or doc or other)
# translate (updated until a new FreeCAD version is released then freeze)
# continue to develop the documentation for the new version of FreeCAD (repeats 4)
# continue to develop the translation for the new version of FreeCAD (repeats 5)


== Discussion == <!--T:222-->
== Terminology - Naming policy==


<!--T:140-->
===English===
The [http://forum.freecadweb.org/viewforum.php?f=21 Development/Wiki subforum] in the [https://forum.freecadweb.org FreeCAD forum] provides a dedicated space for discussing wiki topics, the wiki appearance and anything else related to the wiki. Direct your questions and suggestions there.


== Terminology - naming policy == <!--T:144-->


===Other languages===
=== English === <!--T:223-->
*[[Italian_Translation|Italiano]]
*


<!--T:145-->
See [[Glossary|Glossary]].


=== Other languages === <!--T:224-->


<!--T:146-->
* [[Italian_Translation|Italiano]]
* [[French_Translation|Français]]
* [[German_Translation|Deutsch]]
* [[Polish_Translation|Polish]]
* [[Spanish_Translation|Spanish]]


{{languages | {{|}} {{|}} }}


</translate>
[[Category:Documentation]]
[[Category:Documentation{{#translation:}}]]
[[Category:Wiki{{#translation:}}]]
[[Category:Wiki Documentation{{#translation:}}]]
[[Category:Administration{{#translation:}}]]

Latest revision as of 11:37, 16 April 2024

This page is an extension of the Help:Editing page and gives common guidelines for writing and updating the FreeCAD wiki documentation. It summarizes several discussions and brainstorming sessions

Before starting

  • This wiki documentation is based on MediaWiki, the same software that powers Wikipedia. If you have contributed to Wikipedia, editing FreeCAD wiki pages should be easy.
  • Contrary to Wikipedia, the FreeCAD wiki is write-protected to avoid spam. You must request an account on the forum.
  • If you have never used wiki software before, please read Help:Editing to become familiar with the markup that is used.
  • For advanced use of the wiki software, see MediaWiki Help:Contents. Not all features of MediaWiki are available in this FreeCAD wiki, but many are.
  • We like to keep the documentation easy to read, so avoid using complex features. Keep it simple.
  • Use a sandbox to test your code, for example, FreeCADDocu:Sandbox or a particular page with your name Sandbox:Yourname. Sandbox pages must be placed in the Sandbox category. This is done by adding [[Category:Sandbox]] at the bottom of the wiki code.
  • Please be aware of the translations. The FreeCAD wiki uses automated translation support to provide pages in many languages. For every page multiple language versions can exist. On many pages you will see tags like <translate>...</translate> and many single tags like <!--T:8-->. The latter mark so-called translation units and are created by the translation system, you should never create them manually. They link the headings and paragraphs to their translated versions. You should not change them as that would destroy those links. It is however fine to move paragraphs or change wording as long as the tags stay with them. If you remove a heading or a paragraph you should also remove the tag belonging to it. Please be aware that changes to existing headings and paragraphs affect the current translations. Your changes should be worth it. Do not worry when adding new material because the system will add new tags automatically after your edits. For more information see Localisation and the original Mediawiki:Extension:Translate page.

General guidelines

Concise descriptions

When describing FreeCAD try to be concise and to the point and avoid repetition. Describe what FreeCAD does, not what FreeCAD does not do. Also avoid colloquial expressions such as 'a couple'. Use 'some' when dealing with an indeterminate number, or specify the correct quantity.

Bad description
PartDesign Workbench: the PartDesign Workbench is a workbench for part design that aims to provide tools for modelling complex solid parts.
Good description
PartDesign Workbench: aims to provide tools for modelling complex solid parts.

Centralized information

Avoid duplicating the same information in different places. Insert the information in a new page, and link to this page from other pages that require this information.

Do not use transclusion of pages (Help:Editing#Templates and transcluding pages), as this makes the wiki difficult to translate. Use only the templates described below in #Templates.

Styling

Templates are used to style the help pages. They give the documentation a consistent look and feel. There is a template for menu commands, File → Save, a template to style keys to be pressed, Shift, to show a Boolean value, true, etc. Please get familiar with the #Templates section before writing help pages.

Temporary flags

If you are working on a large page it is advisable to mark the page either as a work in progress or as unfinished. This assures that wiki admins don't mark your page as ready for translation while you are still changing it.

To flag a page add either {{Page in progress}} or {{UnfinishedDocu}} as the first line. With {{UnfinishedDocu}} you invite others to join you in finishing the page, while {{Page in progress}} indicates that you will do the work yourself and others should give you some time.

Once the work is done, please don't forget to remove the flags!

Examples

To quickly get familiar with the structure and style of the FreeCAD wiki look at the model page: GuiCommand model.

Structure

The User hub provides a Table of Contents. This is used as the main reference for automatically building the offline help you can reach from FreeCAD, as well as the offline PDF documentation.

The Template:Docnav is used to sequentially link pages, following the structure of the Table of Contents. See #Templates for a list of all templates.

Page names

Page names should be short and they should use title case: every word should begin with a capital letter, unless they are articles, prepositions, conjunctions, or other grammatical particles (f.e. 'of', 'on', 'in', 'a', 'an', 'and').

Bad page name
Construction of AeroCompany airplanes
Good page name
Construction of AeroCompany Airplanes

The names of top level workbench pages must have this format: XYZ Workbench, where XYZ is the name of the workbench, for example PartDesign Workbench. And the names of pages describing the commands (or tools) belonging to a workbench must have this format: XYZ Command, for example PartDesign Pad. Note that you should use the command name as it occurs in the source code.

Headings

Paragraph headings should be short and use sentence case: all words except the first one and proper names, should be in lowercase. You should not use H1 headings (= Heading =) in your wiki markup since the page title is automatically added as the main H1 heading.

Links

You should use the original link name for links whenever possible. This clarifies the referenced page in printed or offline documentation. Please avoid non-meaningful words for the link.

Bad link
For more information on drafting 2D objects click here.
Good link
For more information on drafting 2D objects refer to the Draft Workbench.

The preferred format for a link is:

[[Name_of_Page|Name of Page]]

Translated:

[[Name_of_Page/fr|Nom de la Page]]

Note that for the part before the | character, the actual link, case is relevant. If your page name is Name_of_page the link will fail if you type Name_of_Page (upper case P). Before the | character all spaces should be replaced by underscores (_). This is to assist translators using translation software, without the underscores the link would be translated by the software which is undesirable.

To link to a certain paragraph add a # sign and its headings to the page name. Example:

[[WikiPages#Links|WikiPages]]

Translated:

[[WikiPages/fr#Liens|WikiPages]]

Within the same page you can omit the page name. Example:

[[#Links|Links]]

To link to the top of the page you can use:

</translate>{{Top}}<translate>

This template should automatically display the correct text depending on the language of the page. A link to the top of the page is especially useful for long pages as it allows the user to quickly jump back to the table of content. You can put it at the end of each paragraph. Make sure there is an empty line before and after the template.

Image link
Optional text that is shown when you hover the image

To use an image as a link:

[[Image:Draft_Wire.svg|24px|Optional text that is shown when you hover the image|link=Draft_Wire]]

Image link + text link
Draft Wire

If you leave out the optional text the link itself will be shown when the image is hovered, which is preferable, and you should also add a text link after the image link:

[[Image:Draft_Wire.svg|24px|link=Draft_Wire]] [[Draft_Wire|Draft Wire]]

Workbench pages

A top level workbench page should start with:

  • A description of what the workbench is used for.
  • An image to illustrate the description.

See #Screen capture for conventions on including images.

Command pages

Command pages describing workbench tools should not be too long, they should only explain what a command can do and what it can't, and how to use it. You should keep pictures and examples to a minimum. Tutorials can expand on how to use the tool and provide step-by-step details.

Please refer to the GuiCommand model page for more details.

Tutorials

A well written tutorial should teach how to achieve certain practical results quickly. It shouldn't be too long, but should include sufficient step-by-step instructions and images to guide the user. As FreeCAD evolves, tutorials may become obsolete, so it is important to mention the FreeCAD version used in, or required for, a tutorial.

For examples visit the Tutorials page.

Templates

Styling of the FreeCAD wiki pages is achieved through the use of templates (Help:Editing#Templates_and_transcluding_pages). They ensure a standardized look and feel across all pages, and also make it possible to re-style the wiki. You can see the complete list of defined templates by accessing Special:PrefixIndex/Template:. But please only use the templates listed in the tables below. Only in very special cases should you use HTML tags directly.

Click on the template link to see the usage instructions for a template, and to see its implementation. Templates are a powerful feature of the MediaWiki software. You should be an experienced wiki user if you wish to propose additions and modifications to existing templates. If implemented incorrectly, templates make it difficult to translate pages into other languages, so their use should be limited to text formatting, page transclusion should be avoided. See MediaWiki Help:Templates to learn more.

Simple templates

These templates accept a simple text parameter, and format it with a particular style.

Template Appearance Description
Top

Top

Use it to add a link to the top of the page.
Emphasis emphasis Use it to emphasize a piece of text.
KEY Alt Use it to indicate a keyboard key that needs to be pressed.
ASCII Use it to indicate a ascii key in a image (.svg) that needs to be pressed. You must give the character desired or the number of the code ascii of the character.
Button Cancel Use it to indicate a button in the graphical user interface that needs to be pressed.
RadioButton Option Use it to indicate a radio button in the graphical user interface that needs to be Selected or Not.
CheckBox Option Use it to indicate a checkbox in the graphical user interface that needs to be Checked or Not.
SpinBox 1.50 Use it to indicate a spinbox in the graphical user interface that needs to be modified.
ComboBox Menu 1 Use it to indicate a combobox in the graphical user interface that needs to be modified.
LineEdit Metal Nickel (Ni) Use it to indicate a LineEdit in the graphical user interface that needs to be modified.
FALSE, false false, false Use it to indicate a False Boolean value, for example, as a property in the property editor. This is a shortcut. Since it is a value, prefer Template Value false
TRUE, true true, true Use it to indicate a True Boolean value, for example, as a property in the property editor. This is a shortcut. Since it is a value, prefer Template Value true
MenuCommand File → Save Use it to indicate the location of a command inside a particular menu.
FileName File name Use it to indicate a name of a file or directory.
SystemInput Type this text Use it to indicate user typed input text.
SystemOutput Output text Use it to indicate text output from the system.
Incode import FreeCAD Use it to include in-line source code with a monospace font. It should fit in one line.
PropertyView ViewColor Use it to indicate a View property in the property editor. Examples of View properties include Line Color, Line Width, Point Color, Point Size, etc.
PropertyData DataPosition Use it to indicate a Data property in the property editor. Data properties are different for different types of objects.
Properties Title / TitleProperty Base Use it to indicate the title of a property group in the property editor. The title will not be included in the automatic table of contents.
Obsolete obsolete in version 0.19 Use it to indicate that a feature became obsolete in the specified FreeCAD version.
Version introduced in version 0.18 Use it to indicate that a feature was introduces in the specified FreeCAD version.
VersionMinus version 0.16 and below Use it to indicate that a feature is available in the specified FreeCAD version and earlier versions.
VersionPlus version 0.17 and above Use it to indicate that a feature is available in the specified FreeCAD version and later versions.
ColoredText Colored Text Use this template to color the background, text, or background and text. (ColoredText page for more examples)
ColoredParagraph
Colored Paragraph
Use this template to color the background, text, or background and text of an entire paragraph. ColoredParagraph page for more examples)

Complex templates

These templates require more input parameters, or produce a block of text with a particular format.

Template Appearance Description
Prettytable This table Use it to format tables such as this one. Additional table properties can be added.
Caption

Some caption for an image

Use it to add an explanation below an image. It can be left aligned or center aligned.
Clear Use it to clear columns. Follow the definition of the template for a detailed explanation. It is often used to stop text from flowing next to unrelated images.
Code
import FreeCAD
Use it to include multi-line code examples with a monospace font. The default language is Python, but other languages can be specified.

Python code should adhere to the general recommendations established by PEP8: Style Guide for Python Code. In particular, parentheses should immediately follow the function name, and a space should follow a comma. This makes the code more readable.

CodeDownload Use it to create a link on a macro page.
Codeextralink

Temporary code for external macro link. Do not use this code. This code is used exclusively by Addon Manager. Link for optional manual installation: Macro


# This code is copied instead of the original macro code
# to guide the user to the online download page.
# Use it if the code of the macro is larger than 64 KB and cannot be included in the wiki
# or if the RAW code URL is somewhere else in the wiki.

from PySide import QtGui, QtCore

diag = QtGui.QMessageBox(QtGui.QMessageBox.Information,
    "Information",
    "This macro must be downloaded from this link\n"
    "\n"
    "https://wiki.freecad.org/Main_Page" + "\n"
    "\n"
    "Quit this window to access the download page")

diag.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
diag.setWindowModality(QtCore.Qt.ApplicationModal)
diag.exec_()

import webbrowser 
webbrowser.open("https://wiki.freecad.org/Main_Page")
<class="rawcodeurl"><a href="https://wiki.freecad.org/Main_Page">raw code</a>
Use it if the code of a macro is too large to be hosted on the Wiki. The code can then be hosted somewhere else, and the raw link to it specified with this template. The Addon Manager will use this link.
Fake heading
Heading
Use it to create a heading that will not be automatically included in the table of contents.
GuiCommand See GuiCommand model Use it to create a box with useful information to document workbench commands (tools).
TutorialInfo See for example Basic modeling tutorial Use it to create a box with useful information to document tutorials.
Macro See for example Macro FlattenWire Use it to create a box with useful information to document macros.
Docnav
Online Help Startpage
Feature list
Use it to create a bar with arrows and appropriate links, which is useful for putting pages in a particular sequence.
VeryImportantMessage
Important Message
Use it to create a highlighted box with a very important message. Use sparingly, only to indicate major problems in the functionality of the software, discontinuation of tools, and similar.
Page in progress
This documentation is a work in progress. Please don't mark it as translatable since it will change in the next hours and days.
Use this for pages that are still in progress or that are currently being reworked. Don't forget to remove this when the page is ready.
UnfinishedDocu

This documentation is not finished. Please help and contribute documentation.

GuiCommand model explains how commands should be documented. Browse Category:UnfinishedDocu to see more incomplete pages like this one. See Category:Command Reference for all commands.

See WikiPages to learn about editing the wiki pages, and go to Help FreeCAD to learn about other ways in which you can contribute.

Use it to create a highlighted box indicating an unfinished documentation page.
Softredirect Use it instead of the normal redirect, when you are redirecting to a special page (such as Media: or Category:), in which cases the normal redirect is disabled.
Quote

Cry "Havoc" and let slip the dogs of war.

—William Shakespeare, Julius Caesar, act III, scene I
Use it to create a box of text with a literal quote and reference.
Userdocnavi, Powerdocnavi Use them to create navigation boxes for the user documentation, the power user documentation, and the developer documentation. This allows quickly jumping between different sections of the documentation. They also place the corresponding page in the proper category.

Graphics

Images and screenshots are necessary to produce a complete documentation of FreeCAD. They are particularly useful to illustrate examples and tutorials. Images should be shown in their original size, so they present sufficient detail and are readable if they include text. Bitmap images should not be resized.

Avoid animated pictures (GIF) in the general help pages. Animations and videos should be reserved for tutorials not intended to be used as offline PDF documentation.

Images can be uploaded through the Special:Upload page.

Name

Give meaningful names to your images. If you have an image that showcases the characteristics of a particular command, you should use the name of that command with _example at the end. For example for the command Draft Offset the image should be called Draft_Offset_example.png.

Screen capture

Recommended sizes for screen captures are:

  • Native 400x200 (or width=400 and height<=200), for command reference pages, to allow the picture to fit in the left part of the page, and for other standard snapshots.
  • Native 600x400 (or width=600 and height<=400), for command reference pages, when you really need a bigger picture, and still allow the picture to fit in the left part of the page, and for other standard snapshots.
  • Native 1024x768 (or width=1024 and height<=768), only for full screen images.
  • Smaller sizes are possible when showing details.
  • Avoid images with larger resolutions, as they won't be very portable to other kinds of displays or the printed PDF documentation.

You shouldn't depend on a custom configuration of your desktop or operating system when you create screenshots and you should use the visual defaults of the FreeCAD interface whenever possible.

To create a screenshots you can use the options provided by your operating system, or one of these macros: Macro Snip and Macro Screen Wiki.

Text

To ease documentation translations, try to avoid screenshots that contain texts. If you cannot avoid this, consider taking separate screenshots of the interface and the 3D view. The image of the 3D view can be reused in every translation, while a translator can take a screenshot of the localized interface if necessary.

Icons and graphics

Refer to the Artwork page for all artwork and icons that have been created for FreeCAD, and which can also be used in documentation pages. If you would like to contribute icons, please read the Artwork Guidelines.

Translations

As per general consensus, the reference page in the wiki is the English page, which should be created first. If you want to change or add content to a page, you should do it to the English page first, and only once the update is completed, port the modification to the translated page.

The FreeCAD wiki supports a translation extension that allows managing translations between pages easier; for details, see Localisation Translating the wiki.

Other useful resources are:

Some tips for translators

Translate GuiCommand

{{GuiCommand
|Name=FEM EquationFlux
|MenuLocation=Solve → Flux equation
|Workbenches=[[FEM_Workbench|FEM]]
|Shortcut={{KEY|F}} {{KEY|S}}
|Version=0.17
|SeeAlso=[[FEM_tutorial|FEM tutorial]]
}}

Translated:

{{GuiCommand/fr
|Name=FEM EquationFlux
|Name/fr=FEM Équation d'écoulement
|MenuLocation=Solveur → Équation de flux
|Workbenches=[[FEM_Workbench/fr|Atelier FEM]]
|Shortcut={{KEY|F}} {{KEY|S}}
|Version=0.17
|SeeAlso=[[FEM_tutorial/fr|FEM Tutoriel]]
}}

Translate navi

{{FEM_Tools_navi}}

Translated:

{{FEM_Tools_navi/fr}}

Translate link

[[Part_Module|Part Module]]

Translated:

[[Part_Module/fr|Atelier Part]]

Translate Docnav

{{Docnav
|[[About_FreeCAD|About FreeCAD]]
|[[Installing_on_Windows|Installing on Windows]]
}}

Translated:

{{Docnav/fr
|[[About_FreeCAD/fr|À propos de FreeCAD]]
|[[Installing_on_Windows/fr|Installation sous Windows]]
}}

Example with icons:

{{Docnav
|[[Std_Save|Save]]
|[[Std_SaveCopy|SaveCopy]]
|[[Std_File_Menu|Std File Menu]]
|IconL=Std_Save.svg
|IconR=Std_SaveCopy.svg
|IconC=Freecad.svg
}}

Translated:

{{Docnav/fr
|[[Std_Save/fr|Enregistrer]]
|[[Std_SaveCopy/fr|Enregistrer une copie]]
|[[Std_File_Menu/fr|Menu fichier]]
|IconL=Std_Save.svg
|IconR=Std_SaveCopy.svg
|IconC=Freecad.svg
}}

Create, rename and delete pages

Create pages

Before creating a new page you should first check if a similar page already exists. If that is the case it is usually better to edit that existing page instead. When in doubt please open a topic in the Wiki forum first.

To create a new page do one of the following:

  • Visit the URL with the desired page name, for example: https://wiki.freecadweb.org/My_New_Page, and click on 'create this page'.
  • Do a wiki search for the page name, and click on the red text in 'Create the page "My New Page" on this wiki!'.

Rename pages

Since FreeCAD is a project under permanent development, it is sometimes necessary to revise the content of the wiki. If the names of commands are changed in the source code, the wiki pages documenting them have to be renamed as well. This can only be done by wiki administrators. To inform them, open a topic in the Wiki forum and list the necessary renaming operation in this form:

old name         new name
Old_page_name_1  New_page_name_1
Old_page_name_2  New_page_name_2
...

Delete files and pages

In case you need to delete a file, go to its page (https://www.freecadweb.org/wiki/File:***.***) and edit it. No matter if the page is blank or not, add this as the first element: {{Delete}} and directly below it describe why the page should be deleted. Additionally, open a topic in the Wiki forum.

For pages the procedure is the same.

Discussion

The Development/Wiki subforum in the FreeCAD forum provides a dedicated space for discussing wiki topics, the wiki appearance and anything else related to the wiki. Direct your questions and suggestions there.

Terminology - naming policy

English

See Glossary.

Other languages