Важно
Prevod je zajednički napor :ref:`možete se pridružiti `. Ova stranica je trenutno prevedena na |napredak prevođenja|.
2. Smernice za pisanje
Uopšteno, pri pravljenju reST dokumentacije za QGIS projekat, pratite smernice za stil Python dokumentacije. Radi praktičnosti, ispod pružamo skup opštih pravila na koja se oslanjamo pri pisanju QGIS dokumentacije.
2.1. Pisanje dokumentacije
2.1.1. Naslovi
Svakoj veb stranici dokumentacije odgovara .rst datoteka.
Odeljci koji se koriste za strukturiranje teksta prepoznaju se po svom naslovu koji je podvučen (a za prvi nivo i nadvučen). Naslovi istog nivoa moraju koristiti isti znak za ukras podvlačenja. Naslovima odeljaka prethodi prazan red. U QGIS dokumentaciji treba da koristite sledeće stilove za poglavlje, odeljak, pododeljak i minisec.
********
Chapter
********
Section
=======
Subsection
----------
Minisec
.......
Subminisec
^^^^^^^^^^
2.1.2. Liste
Liste su korisne za strukturiranje teksta. Evo nekih jednostavnih pravila zajedničkih svim listama:
Sve stavke liste počinjite velikim slovom
Ne koristite interpunkciju posle stavki liste koje sadrže samo jednu jednostavnu rečenicu
Koristite tačku (
.) kao interpunkciju za stavke liste koje se sastoje od više rečenica ili jedne složene rečenice
2.1.3. Uvlačenje
Uvlačenje u reStructuredText-u treba poravnati sa oznakom liste ili markupa. Takođe je moguće praviti blok citate uvlačenjem. Pogledajte Specifikaciju
#. In a numbered list, there should be
three spaces when you break lines
#. And next items directly follow
* Nested lists
* Are also possible
* And when they also have
a line that is too long,
the text should be naturally
aligned
* and be in their own paragraph
However, if there is an unindented paragraph, this will reset the numbering:
#. This item starts at 1 again
2.1.5. Natpisi/reference
Sidra unutar teksta mogu se koristiti za pravljenje hiperlinkova ka odeljcima ili stranicama.
Primer ispod pravi sidro odeljka (npr. Naslov natpisa/reference)
.. _my_anchor:
Label/reference
---------------
Da biste pozvali referencu na istoj stranici, koristite
see my_anchor_ for more information.
što će vratiti:
pogledajte my_anchor za više informacija.
Imajte u vidu da će skočiti na liniju/stvar koja sledi posle „sidra“. Ne morate koristiti apostrofe, ali morate imati prazne redove posle sidra.
Još jedan način za skok na isto mesto sa bilo kog mesta u dokumentaciji jeste korišćenje uloge :ref:.
see :ref:`my_anchor` for more information.
što će umesto toga napraviti link sa natpisom (u ovom slučaju naslovom ovog odeljka!):
pogledajte Natpisi/reference za više informacija.
Dakle, referenca 1 (my_anchor) i referenca 2 (Natpisi/reference). Pošto referenca često prikazuje pun natpis, nije zaista neophodno koristiti reč odeljak. Imajte u vidu da možete koristiti i prilagođen natpis za opis reference:
see :ref:`Label and reference <my_anchor>` for more information.
što vraća:
pogledajte Natpis i referenca za više informacija.
2.1.6. Slike i ilustracije
Slike
Da biste umetnuli sliku, koristite
.. figure:: /static/common/logo.png
:width: 10 em
što vraća
Zamena ikonom
Sliku možete dodati unutar tekstualnog pasusa (npr. kao ikonu alatke). Da biste to uradili, prvo morate napraviti alijas (nazvan i zamena), što je referentni naziv koji se koristi za prikaz ikone. Radi obezbeđivanja doslednosti u dokumentima i pomoći pri korišćenju ikona, održavamo listu u datoteci substitutions.txt u korenu ovog repozitorijuma. Više detalja pronađite u poglavlju Zamene.
Korišćenje zamene ikonom obično se postiže kroz ove korake:
Dodajte zamenu ikonom u datoteku
substitutions.txtkao ispod. Ako zamena za ikonu koju želite da koristite već postoji, preskočite ovaj korak... |logo| image:: /static/common/logo.png :width: 1 em
Pozovite je u svom pasusu:
My paragraph begins here with |logo|.
Dodajte (ponovo) zamenu ikonom na kraju datoteke koju menjate. Ovo pomaže u povezivanju teksta zamene sa stvarnom slikom, a može se uraditi kopiranjem iz
substitutions.txtili izvršavanjem skriptescripts/find_set_subst.py.Ovako će primer biti prikazan:
Slika
.. _figure_logo:
.. figure:: /static/common/logo.png
:width: 20 em
:align: center
A caption: A logo I like
Rezultat izgleda ovako:
Сл. 2.24 Natpis: Logo koji volim
Da biste izbegli sukobe sa drugim referencama, sidra slika uvek počinjite sa _figure_ i koristite termine koji se lako povezuju sa natpisom slike. Iako je za sliku obavezno samo centrirano poravnanje, slobodno koristite bilo koje druge opcije za slike (kao što su width, height, scale…) ako je potrebno.
Skripte će umetnuti automatski generisan broj pre natpisa slike u generisanim HTML i PDF verzijama dokumentacije.
Da biste koristili natpis (pogledajte Moj natpis), samo umetnite uvučen tekst posle praznog reda u bloku slike.
Na sliku se može uputiti pomoću oznake reference ovako:
see :numref:`figure_logo`
iscrtava se ovako:
pogledajte Сл. 2.24
Ovo je preferirani način upućivanja na slike.
Белешка
Da bi :numref: radilo, slika mora imati natpis.
Umesto :numref: moguće je koristiti :ref: za referencu, ali to vraća pun natpis slike.
see :ref:`figure_logo`
iscrtava se ovako:
pogledajte Natpis: Logo koji volim
2.1.7. Tabele
Jednostavnu tabelu možete napraviti ovako:
======= ======= =======
x y z
======= ======= =======
1 2 3
4 5
======= ======= =======
Iscrtaće se ovako:
x |
y |
z |
|---|---|---|
1 |
2 |
3 |
4 |
5 |
Tabele treba da imaju natpis. Možete koristiti eksplicitnu reST direktivu „table“ da biste dodali natpis jednostavnim tabelama ili tabelama sa mrežom. Dodajte natpis u istom redu kao direktivu i uvucite tabelu bar jedan razmak.
Takođe možete dodati cilj hiperlinka pre tabele da biste je negde drugde referencirali. Da biste izbegli sukobe sa drugim referencama, ciljeve hiperlinka uvek počinjite sa _table_ i koristite termine relevantne za natpis tabele.
Evo primera složenije tabele sa mrežom, sa natpisom i ciljem hiperlinka:
.. _table-grid-caption:
.. table:: Grid table with caption
+---------------+--------------------+
| Windows | macOS |
+---------------+--------------------+
| |win| | |osx| |
+---------------+--------------------+
| and of course not to forget |nix| |
+------------------------------------+
Rezultat:
Windows |
macOS |
Možda će vam biti lakše da koristite list tabele ili CSV tabele za pravljenje složenih tabela. Dodajte natpis posle direktive list-table ili csv-table.
Evo primera list tabele sa natpisom i ciljem hiperlinka:
.. _table-list-caption:
.. list-table:: List table with caption
:header-rows: 1
:widths: 20 20 20 40
* - What
- Purpose
- Key word
- Description
* - **Test**
- ``Useful test``
- complexity
- Geometry. One of:
* Point
* Line
Rezultat:
Šta |
Svrha |
Ključna reč |
Opis |
|---|---|---|---|
Test |
|
složenost |
Geometrija. Jedno od:
|
Koristite uloge :numref: za upućivanje na tabele ovako:
see :numref:`table-grid-caption` or :numref:`table-list-caption`
Rezultat:
pogledajte Табела 2.2 ili Табела 2.3
Белешка
Morate dodati natpis svojoj tabeli da biste napravili unakrsnu referencu pomoću uloge :numref:.
2.1.8. Index
Indeks je zgodan način da se čitaocu pomogne da pronađe informacije u dokumentu. QGIS dokumentacija pruža neke suštinske indekse. Postoji nekoliko pravila koja nam pomažu da pružimo skup indeksa koji su zaista korisni (koherentni, dosledni i zaista međusobno povezani):
Indeks treba da bude čitljiv, razumljiv i prevodiv; indeks se može sastojati od više reči, ali treba da izbegavate sve nepotrebne znakove
_,-… za njihovo povezivanje, tj.Loading layersumestoloading_layersililoadingLayers.Velikim slovom pišite samo prvo slovo indeksa, osim ako reč ima poseban način pisanja. Npr.
Loading layers,Atlas generation,WMS,pgsql2shp.Obratite pažnju na postojeću listu indeksa da biste ponovo iskoristili najpogodniji izraz sa ispravnim pisanjem i izbegli nepotrebne duplikate.
U reST-u postoji nekoliko oznaka indeksa. Možete koristiti ugrađenu oznaku :index: unutar običnog teksta:
QGIS can load several :index:`Vector formats` supported by GDAL ...
Ili možete koristiti markup na nivou bloka .. index:: koji vodi ka početku sledećeg pasusa. Zbog gore pomenutih pravila, preporučuje se korišćenje oznake na nivou bloka:
.. index:: WMS, WFS, Loading layers
Takođe se preporučuje korišćenje parametara indeksa kao što su single, pair i see, radi izgradnje strukturiranije i međusobno povezane tabele indeksa. Za više informacija o pravljenju indeksa pogledajte Generisanje indeksa.
2.1.9. Specijalni komentari
Ponekad ćete možda želeti da istaknete neke tačke opisa, bilo da upozorite, podsetite ili date neke savete korisniku. U QGIS dokumentaciji koristimo reST specijalne direktive kao što su .. warning::, .. seealso::, .. note:: i .. tip::. Ove direktive generišu okvire koji ističu vaše komentare. Za više informacija pogledajte Markup na nivou pasusa. Jasan i odgovarajući naslov je obavezan i za upozorenja i za savete.
.. 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.
2.1.10. Isečci koda
Možda ćete takođe želeti da date primere i umetnete isečke koda. U tom slučaju napišite komentar ispod reda sa umetnutom direktivom ::. Za bolje iscrtavanje, naročito za primenu isticanja boja na kôd prema njegovom jeziku, koristite direktivu code-block, npr. .. code-block:: xml. Više detalja na Prikaz koda.
Белешка
Tekst u specijalnim komentarima biće preveden, ali tekst u okvirima code-block neće biti preveden. Zato držite komentare u blokovima koda što je kraće moguće i izbegavajte komentare nepovezane sa kodom.
2.1.11. Fusnote
Ovo je za pravljenje fusnote (prikazuje se kao primer [1])
blabla [1]_
Što će voditi ka:
2.2. Upravljanje snimcima ekrana
2.2.1. Dodavanje novih snimaka ekrana
Evo nekih saveta za pravljenje novih, lepih snimaka ekrana. Slike treba postaviti u folder slika (img/) koji se nalazi u istom folderu kao .rst datoteka koja ih referencira.
Neke pripremljene QGIS projekte koji se koriste za pravljenje snimaka ekrana možete pronaći u folderu
./qgis-projectsovog repozitorijuma. Time se olakšava reprodukcija snimaka ekrana za sledeću verziju QGIS-a. Ovi projekti koriste QGIS uzorne podatke (poznate i kao Alaska skup podataka), koje treba raspakovati i postaviti u isti folder kao repozitorijum QGIS-Documentation.Smanjite prozor na minimalni prostor potreban za prikaz mogućnosti (uzimanje celog ekrana za mali modalni prozor > preterivanje)
Što manje zbrke, to bolje (nema potrebe za aktiviranjem svih paleta alatki)
Nemojte im menjati veličinu u uređivaču slika; veličina će biti postavljena u
.rstdatotekama ako je potrebno (smanjivanje dimenzija bez propisnog povećanja rezolucije > ružno)Isecite pozadinu
Učinite gornje uglove prozirnim ako pozadina nije bela
Postavite rezoluciju veličine štampe na
135 dpi(npr. u GIMP-u smanjite sliku pomoću i postavljanjem „X/Y“ na135 pixels/in, i izvezite je kroz ). Na ovaj način, slike će biti u originalnoj veličini u HTML-u i u dobroj rezoluciji štampe u PDF-u.Za paket slika možete koristiti i ImageMagick convert komandu:
convert -units PixelsPerInch input.png -density 135 output.png
Sačuvajte ih kao
.png(da biste izbegli.jpegartefakte)Snimak ekrana treba da prikazuje sadržaj u skladu sa onim što je opisano u tekstu
Савет
Ako ste na Ubuntu-u, možete koristiti sledeću komandu da uklonite funkciju globalnog menija i napravite manje ekrane aplikacije sa menijima:
sudo apt autoremove appmenu-gtk appmenu-gtk3 appmenu-qt
2.2.2. Prevedeni snimci ekrana
Evo nekih dodatnih saveta za one koji žele da naprave snimke ekrana za prevedeni korisnički vodič:
Prevedene slike treba postaviti u folder img/<your_language>/. Koristite isti naziv datoteke kao „originalni“ engleski snimak ekrana.
2.3. Dokumentovanje algoritama obrade
Ako želite da pišete dokumentaciju za algoritme obrade, razmotrite ove smernice:
Datoteke pomoći algoritama obrade su deo QGIS korisničkog vodiča, pa koristite isto formatiranje kao korisnički vodič i druga dokumentacija.
Dokumentacija svakog algoritma treba da bude postavljena u odgovarajući folder provajdera i datoteku grupe, npr. algoritam Voronoi polygon pripada QGIS provajderu i grupi vectorgeometry. Dakle, ispravna datoteka za dodavanje opisa je:
source/docs/user_manual/processing_algs/qgis/vectorgeometry.rst.Белешка
Pre nego što počnete da pišete vodič, proverite da li je algoritam već opisan. U tom slučaju možete poboljšati postojeći opis.
Izuzetno je važno da svaki algoritam ima sidro koje odgovara nazivu provajdera + jedinstvenom nazivu samog algoritma. Time se dugmetu Pomoć omogućava da otvori stranicu Pomoć ispravnog odeljka. Sidro treba postaviti iznad naslova, npr. (pogledajte i odeljak Natpisi/reference):
.. _qgisvoronoipolygons: Voronoi polygons ----------------
Da biste saznali naziv algoritma, samo zadržite pokazivač miša iznad algoritma u kutiji sa alatkama za obradu.
Pomenite QGIS verziju u kojoj je algoritam uveden:
``Added in 3.44``Isto tako, pomenite ako algoritam zahteva određenu opcionu zavisnost (i verziju).
.. attention:: Running this algorithm requires QGIS installed with <library> >= min_value (see :menuselection:`Help --> About` menu).
Izbegavajte korišćenje „Ovaj algoritam radi to i to…“ kao prve rečenice u opisu algoritma. Pokušajte da koristite opštije izraze kao što su:
Takes a point layer and generates a polygon layer containing the...
Izbegavajte opisivanje onoga što algoritam radi ponavljanjem njegovog naziva i nemojte ponavljati naziv parametra u opisu samog parametra. Na primer, ako je algoritam
Voronoi polygon, razmotrite da opišeteInput layerkaoSloj iz kojeg se računa poligon.U opisu navedite da li algoritam ima podrazumevanu prečicu u QGIS-u ili podržava izmenu na licu mesta.
Dodajte slike! Slika vredi hiljadu reči! Koristite
.pngformat i pratite opšte smernice za dokumentaciju (za više informacija pogledajte odeljak Slike i ilustracije). Stavite datoteku slike u ispravan folder, tj. folderimgpored.rstdatoteke koju menjate.Ako je potrebno, dodajte linkove u odeljak „Pogledajte i“ koji pružaju dodatne informacije o algoritmu (npr. publikacije ili veb stranice). Dodajte odeljak „Pogledajte i“ samo ako zaista ima šta da se vidi. Kao dobra praksa, odeljak „Pogledajte i“ može se popuniti linkovima ka sličnim algoritmima.
Dajte jasno objašnjenje za parametre i izlaze algoritma: inspirišite se postojećim algoritmima.
Izbegavajte dupliranje detaljnog opisa opcija algoritma. Dodajte ovu informaciju u opis parametra.
Izbegavajte dodavanje informacija o tipu vektorske geometrije u opis algoritma ili parametra, pošto je ova informacija već dostupna u opisima parametara.
Dodajte podrazumevanu vrednost parametra, npr.:
* - **Number of points** - ``NUMBER_OF_POINTS`` - [numeric: integer] Default: 1 - Number of points to create
Kada se parametar ili vrednost parametra doda već postojećem algoritmu, navedite QGIS verziju u kojoj je uveden. Ako zahteva određenu biblioteku, navedite i njene minimalne zahteve.
Opišite tip ulaza koji parametri podržavaju. Dostupno je nekoliko tipova, možete izabrati jedan od:
Tip parametra/izlaza
Opis
Vizuelni pokazatelj
Tačkasti vektorski sloj
vector: pointLinijski vektorski sloj
vector: linePoligonski vektorski sloj
vector: polygonSvi prostorni vektorski slojevi
vector: geometryVektorski sloj bez geometrije
vector: tableGenerički vektorski sloj
vector: anyNumeričko vektorsko polje
tablefield: numericNiskovno vektorsko polje
tablefield: stringGeneričko vektorsko polje
tablefield: anyRasterski sloj
rasterRasterski kanal
raster bandHTML datoteka
htmlExpression
expressionLinijska geometrija
geometry: lineTačkasta geometrija
coordinatesObuhvat
extentCRS
crsNabrajanje
enumerationLista
listCelobrojna vrednost
numeric: integerDecimalna vrednost
numeric: doubleNiska
string
Logička vrednost
booleanPutanja foldera
folderDatoteka
fileMatrica
matrixSloj
layerIsti tip izlaza kao tip ulaza
same as inputDefinition
definitionSlojevi karte
layerlistOpseg
rangeAuthConfig
authconfigMesh
meshRaspored
layoutLayoutItem
layoutitemBoja
colorRazmera
scaleTema karte
map themeProučite postojeći i dobro dokumentovan algoritam i kopirajte sve korisne rasporede.
Kada završite, samo pratite smernice opisane u A Step By Step Contribution da biste komitovali svoje izmene i napravili Pull Request
Evo primera postojećeg algoritma koji će vam pomoći sa rasporedom i opisom:
.. _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
:class: longtable
* - 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
* - Label
- Name
- Type
- Description
* - **Count**
- ``OUTPUT``
- [vector: polygon]
- Resulting layer with the attribute table containing the
new column with the points count






