Writing Guidelines¶
In general, when creating reST documentation for the QGIS project, please follow the Python documentation style guidelines. For convenience, we provide a set of general rules we rely on for writing QGIS documentation below.
문서 작성¶
표제¶
문서의 .rst
파일 하나가 웹페이지 하나와 대응합니다.
밑줄(1단계 제목의 경우 윗줄도 포함) 그어진 제목을 통해 텍스트의 구조를 구성하는 절(section)을 식별합니다. 동일한 단계의 제목은 반드시 동일한 특수문자로 밑줄을 작성해야 합니다. QGIS 문서의 경우, 장(chapter), 절(section), 항(subsection), 목(minisec)에 대해 다음과 같은 스타일을 사용해야 합니다.
********
Chapter
********
Section
=======
Subsection
----------
Minisec
.......
Subminisec
^^^^^^^^^^
Lists¶
Lists are useful for structuring the text. Here are some simple rules common to all lists:
Start all list items with a capital letter
Do not use punctuation after list items that only contain a single simple sentence
Use period (
.
) as punctuation for list items that consist of several sentences or a single compound sentence
Inline Tags¶
일부 항목을 강조하기 위해 텍스트 내부에서 몇몇 태그를 사용할 수 있습니다.
Menu GUI: to mark a complete sequence of menu selections, including selecting submenus and choosing a specific operation, or any subsequence of such a sequence.
:menuselection:`menu --> submenu`
Dialog and Tab title: Labels presented as part of an interactive user interface including window title, tab title, button and option labels.
:guilabel:`title`
파일명 또는 디렉터리
:file:`README.rst`
팝업 텍스트를 보유한 아이콘
|icon| :sup:`popup_text`
(다음 image 를 참조하십시오)
Keyboard shortcuts
:kbd:`Ctrl+B`
will show Ctrl+B
When describing keyboard shortcuts, the following conventions should be used:
Letter keys are displayed using uppercase: S
Special keys are displayed with an uppercase first letter: Esc
Key combinations are displayed with a
+
sign between keys, without spaces: Shift+R
사용자 텍스트
``label``
라벨/참조¶
텍스트 내부에 앵커(anchor)를 삽입하는 데 참조를 이용합니다. 이 앵커를 통해 절 또는 페이지 사이의 하이퍼링크를 생성하고 호출할 수 있습니다.
다음은 절(예: 라벨/참조 제목)의 앵커를 생성하는 예시입니다.
.. _my_anchor:
Label/reference
---------------
동일 페이지 안에서 참조를 호출하려면 다음과 같이 작성합니다.
see my_anchor_ for more information.
다음과 같은 내용을 반환할 것입니다.
see my_anchor for more information.
Notice how it will jump to the following line/thing following the 〈anchor〉. Normally to declare this label you do not need to use apostrophes but you do need to use empty lines before and after the anchor.
문서 어디에서든 동일한 장소로 넘어가는 또다른 방법은 :ref:
기능을 이용하는 것입니다.
see :ref:`my_anchor` for more information.
앵커 대신 캡션을 (이 경우 현재 절의 제목을) 표시할 것입니다.
see 라벨/참조 for more information.
이렇게 참조 1(my_anchor)과 참조 2(라벨/참조)라는 방법이 있습니다. 참조가 완전한 캡션을 표시하는 경우가 많기 때문에, 절 이라는 단어를 따로 작성할 필요는 없습니다. 또한 참조를 설명하는 데 사용자 지정 캡션을 쓸 수도 있습니다.
see :ref:`Label and reference <my_anchor>` for more information.
다음과 같이 반환됩니다.
see Label and reference for more information.
Figures and Images¶
별명¶
You can put an image inside text or add an alias to use everywhere. To use an image
inside a paragraph, first create an alias in the source/substitutions.txt
file:
.. |nice_logo| image:: /static/common/logo.png
:width: 2 em
and then call it in your paragraph:
My paragraph begins here with a nice logo |nice_logo|.
This is how the example will be displayed:
My paragraph begins here with a nice logo .
In order to render in GitHub a preview of the documentation that is the closest
to html rendering, you will also need to add the image replacement call at the
end of the file you changed. This can be done by copy-pasting it from the
substitutions.txt
or by executing the scripts/find_set_subst.py
script.
참고
Currently, to ensure consistency and help in the use of QGIS icons a list of aliases is built and available in the 별명 chapter.
도형¶
.. _figure_logo:
.. figure:: /static/common/logo.png
:width: 20 em
:align: center
A caption: A logo I like
결과는 다음과 같습니다.
To avoid possible conflict with other references, always begin figure
anchors with _figure_
and prefer using terms that can easily refer to the
figure caption. While only the centered alignment is mandatory for the image,
feel free to use any other options for figures (such as width
,
height
, scale
…) if needed.
The scripts will insert an automatically generated number before the caption of the figure in the generated PDF version of the documentation.
To use a caption (see My caption) just insert indented text after a blank line in the figure block.
도형에 대한 참조는 다음과 같이 참조 라벨을 사용해서 작성할 수 있습니다.
(see Figure_logo_).
It will show the anchor Figure_logo. You can use uppercase if you want.
It can be used in the same .rst
document but not in others.
You can still use the :ref:
role for reference from other files, but
keep in mind that this returns the full caption of the image.
see :ref:`figure_logo`
returns:
도표¶
다음은 단순한 표를 생성하는 예시입니다.
======= ======= =======
x y z
======= ======= =======
1 2 3
2 4
======= ======= =======
공백을 남기려면 \
뒤에 공백을 삽입하십시오.
참조 등을 이용, 표를 직접 그려서 좀 더 복잡한 표를 작성할 수도 있습니다.
.. _my_drawn_table:
+---------------+--------------------+
| Windows | macOS |
+---------------+--------------------+
| |win| | |osx| |
+---------------+--------------------+
| and of course not to forget |nix| |
+------------------------------------+
My drawn table, mind you this is unfortunately not regarded as a caption
You can reference to it like this my_drawn_table_.
결과물은 다음과 같습니다.
Windows |
macOS |
My drawn table, mind you this is unfortunately not regarded as a caption
You can reference to it like this my_drawn_table.
색인¶
An index is a handy way to help the reader easily find an information in a doc. QGIS documentation provides some essential indices. There are few rules to follow in order to keep a set of indices that are really useful (coherent, consistent and really connected to each other):
An index should be human readable, understandable and translatable; an index can be made from many words but you should avoid any unneeded
_
,-
… characters to link them i.e.,Loading layers
instead ofloading_layers
orloadingLayers
.Always capitalize only the first letter of the index unless the word has a particular spelling, in which case keep using its spelling e.g.,
Loading layers
,Atlas generation
,WMS
,pgsql2shp
.Keep an eye on the existing Index list in order to reuse the most convenient expression with the right spelling and avoid wrong duplicates.
Several index tags exist in RST. You can either use the inline :index:
tag
within the normal text.
QGIS allows to load several :index:`Vector formats` supported by GDAL/OGR ...
Or you can use the .. index::
block-level markup which links to the
beginning of the next paragraph. Because of the rules mentioned above, it’s
advised to use this latter tag as it’s easier to fulfill them.
.. index:: WMS, WFS, Loading layers
It’s also recommanded to use index parameters such as single
, pair
,
see
… in order to build a more structured and interconnected table of index.
See Index generating
for more information on index creation.
Special Comments¶
Sometimes, you may want to emphasize some points of the description, either to
warn, remind or give some hints to the user. In QGIS Documentation, we use reST
special directives such as .. warning::
, .. note::
and .. tip::
generating particular frames that highlight your comments. See Paragraph Level markup
for more information.
A clear and appropriate title is required for both warnings and tips.
.. tip:: **Always use a meaningful title for tips**
Begin tips with a title that summarizes what it is about. This helps
users to quickly overview the message you want to give them, and
decide on its relevance.
Code Snippets¶
You may also want to give examples and insert a code snippet. In this case,
write the comment below a line with the ::
directive inserted. However, for
a better rendering, especially to apply color highlighting to code according
to its language, use the code-block directive, e.g. .. code-block:: xml
.
More details at Showing code.
참고
While texts in note, tip and warning frames are translatable, be aware that code block frames do not allow translation. So avoid comments not related to code sample and keep this just as short as needed.
Managing Screenshots¶
새 스크린샷 추가¶
Here are some hints to create new, nice looking screenshots.
The images should be placed in a img/
folder, in the same folder as the
referencing .rst
file.
You can find some prepared QGIS-projects that are used to create screenshots in the
./qgis-projects
folder of this repository. This makes it easier to reproduce screenshots for the next version of QGIS. These projects use the QGIS Sample Data (aka Alaska Dataset), which should be placed in the same folder as the QGIS-Documentation Repository.Reduce the window to the minimal space needed to show the feature (taking the whole screen for a small modal window > overkill)
The less clutter, the better (no need to activate all the toolbars)
Don’t resize them in an image editor; the size will be set into the
.rst
files if necessary (downscaling the dimensions without properly upping the resolution > ugly)Cut the background
Make the top corners transparent if the background is not white
Set print size resolution to
135 dpi
(e.g. in Gimp set the print resolution and save). This way, images will be at original size in html and at a good print resolution in the PDF. You can also use ImageMagick convert command to do a batch of images:convert -units PixelsPerInch input.png -density 135 output.png
Save them in
.png
(no.jpeg
artifacts)The screenshot should show the content according to what is described in the text
팁
If you are on Ubuntu, you can use the following command to remove the global menu function and create smaller application screens with menus:
sudo apt autoremove appmenu-gtk appmenu-gtk3 appmenu-qt
스크린샷 번역¶
Here are some hints to create screenshots for your translated user guide.
Translated images should be placed in a img/<your_language>/
folder, in
the same folder as the referencing .rst
file.
Use the QGIS projects included in QGIS-Documentation repository (in
./qgis_projects
) These were used to produce the 〈original〉 screenshots in the manual. The QGIS Sample Data (aka Alaska Dataset) should be placed in the same folder as the QGIS-Documentation Repository.Same filename as the english 〈original〉 screenshot
Reduce the window to the minimal space needed to show the feature (taking the whole screen for a small modal window > overkill)
The less clutter, the better (no need to activate all the toolbars)
Don’t resize them in an image editor; the size will be set into the
.rst
files if necessary (downscaling the dimensions without properly upping the resolution > ugly)Cut the background
Save them in
.png
(no.jpeg
artifacts)The screenshot should show the content according to what is described in the text
공간 처리 알고리즘 문서 작성¶
공간 처리 알고리즘을 위한 문서를 작성하고자 할 경우, 다음과 같은 지침들을 고려하십시오.
Processing algorithm help files are part of QGIS User Guide, so use the same formatting as User Guide and other documentation.
Each algorithm documentation should be placed in the corresponding provider folder and group file, e.g. the algorithm Voronoi polygon belongs to the QGIS provider and to the group vectorgeometry. So the correct file to add the description is:
source/docs/user_manual/processing_algs/qgis/vectorgeometry.rst
.참고
Before starting to write the guide, check if the algorithm is already described. In this case, you can enhance the existing description.
It is extremely important that each algorithm has an anchor that corresponds to the provider name + the unique name of the algorithm itself. This allows the Help button to open the Help page to the correct section. The anchor should be placed above the title, e.g. (see also the 라벨/참조 section):
.. _qgisvoronoipolygons: Voronoi polygons ----------------
To find out the algorithm name you can just hover the mouse on the algorithm in the Processing toolbox.
Avoid use 《This algorithm does this and that…》 as first sentence in algorithm description. Try to use more general expressions like:
Takes a point layer and generates a polygon layer containing the...
Avoid to describe what the algorithm does by replicating its name and please don’t replicate the name of the parameter in the description of the parameter itself. For example if the algorithm is
Voronoi polygon
consider to describe theInput layer
likeLayer to calculate the polygon from
.Indicate in the description whether the algorithm has a default shortcut in QGIS or supports in-place editing.
Add images! A picture is worth a thousand words! Use
.png
format and follow general guidelines for documentation (see the Figures and Images section for more info). Put the image file in the correct folder, i.e. theimg
folder next to the.rst
file you are editing.If necessary, add links to the 《See also》 section that provides additional information about the algorithm (e.g., publications or web-pages). Only add the 《See also》 section if there is really something to see. As a good practice, the 《See also》 section can be filled with links to similar algorithms.
Give clear explanation for algorithm parameters and outputs: take inspiration from existing algorithms.
Avoid to duplicate algorithm options detailed description. Add these information in the parameter description.
Avoid to add information about the vector geometry type in algorithm or parameter description without compelling reason as this information is already available in parameter description.
Add the default value of the parameter in italic, e.g.:
``Number of points`` [number] Number of points to create Default: *1*
Describe the type of input supported the parameters. There are several types available you can pick one from:
Parameter/Output type
Description
Visual indicator
Point vector layer
vector: point
Line vector layer
vector: line
Polygon vector layer
vector: polygon
Generic vector layer
vector: any
Vector field numeric
tablefield: numeric
Vector field string
tablefield: string
Vector field generic
tablefield: any
Raster layer
raster
Raster band
raster band
HTML file
HTML
Table layer
table
Expression
expression
Point geometry
coordinates
Extent
extent
CRS
crs
Enumeration
enumeration
List
list
Number
number
String
string
Boolean
boolean
Folder path
folder
The best option is studying an existing and well documented algorithm and copy all the useful layouts
If the algorithm does not provide any output just skip that section
When you are finished just follow the guidelines described in 단계별 기고 방법 to commit your changes and make a Pull Request
Here is an example of an existing algorithm to help you with the layout and the description:
.. _qgiscountpointsinpolygon:
Count points in polygon
-----------------------
Takes a point and a polygon layer and counts the number of points from the
point layer in each of the polygons of the polygon layer.
A new polygon layer is generated, with the exact same content as the input polygon
layer, but containing an additional field with the points count corresponding to
each polygon.
.. figure:: img/count_points_polygon.png
:align: center
The labels in the polygons show the point count
An optional weight field can be used to assign weights to each point. Alternatively,
a unique class field can be specified. If both options are used, the weight field
will take precedence and the unique class field will be ignored.
``Default menu``: :menuselection:`Vector --> Analysis Tools`
Parameters
..........
.. list-table::
:header-rows: 1
:widths: 20 20 20 40
:stub-columns: 0
* - Label
- Name
- Type
- Description
* - **Polygons**
- ``POLYGONS``
- [vector: polygon]
- Polygon layer whose features are associated with the count of
points they contain
* - **Points**
- ``POINTS``
- [vector: point]
- Point layer with features to count
* - **Weight field**
Optional
- ``WEIGHT``
- [tablefield: numeric]
- A field from the point layer.
The count generated will be the sum of the weight field of the
points contained by the polygon.
* - **Class field**
Optional
- ``CLASSFIELD``
- [tablefield: any]
- Points are classified based on the selected attribute and if
several points with the same attribute value are within the
polygon, only one of them is counted.
The final count of the points in a polygon is, therefore, the
count of different classes that are found in it.
* - **Count field name**
- ``FIELD``
- [string]
Default: 'NUMPOINTS'
- The name of the field to store the count of points
* - **Count**
- ``OUTPUT``
- [vector: polygon]
Default: [Create temporary layer]
- Specification of the output layer type (temporary, file,
GeoPackage or PostGIS table).
Encoding can also be specified.
Outputs
.......
.. list-table::
:header-rows: 1
:widths: 20 20 20 40
:stub-columns: 0
* - Label
- Name
- Type
- Description
* - **Count**
- ``OUTPUT``
- [vector: polygon]
- Resulting layer with the attribute table containing the
new column with the points count