1 Proxmox VE Documentation
2 ========================
4 We try to generate high quality documentation for
5 {website}[{pve}], and choose to use
6 http://www.methods.co.nz/asciidoc/[AsciiDoc] as base format.
8 The basic idea is to generate high quality manual pages, and assemble
9 them into a complete book, called link:pve-admin-guide.adoc[Proxmox VE
10 Administration Guide]. So we have one source, and generate several
11 documents from that. It is also possible to generate printable PDF
12 files, or ebook formats ('.epub').
14 When possible, we provide scripts to extract API definitions,
15 configuration or command line options from the source code.
17 To simplify the documentation task, we keep all Documentation within
18 this repository. It is possible to generate the docs without installing
19 any additional Proxmox packages with:
23 To update the auto-generate API definitions use:
27 NOTE: you need a fully installed development environment for that.
33 We generate a development package called 'pve-doc-generator', which is
34 used by other Proxmox VE package to generate manual pages at package
37 Another package called 'pve-docs' is used to publish generated
38 '.html' and '.pdf' files on our web servers. You can generate
39 those Debian packages using:
44 Common Macro definition in link:asciidoc/asciidoc-pve.conf[]
45 ------------------------------------------------------------
47 'asciidoc' allows us to define common macros, which can then be
48 referred to using `{macro}`. We try to use this mechanism to improve
49 consistency. For example, we defined a macro called `pve`, which
50 expands to "Proxmox VE".
52 For URLs which are used more than once, two macros should be defined:
54 * `{name-url}`, which just contains the http(s) URL
55 * `{name}`, which contains the complete link including the canonical
58 For example, the macro `{forum-url}` expands to {forum-url}, and the macro
59 `{forum}` expands to {forum}.
61 The plan is to add more such definitions for terms which are used more
64 WARNING: When asciidoc encounters a misspelled macro name, it will
65 silently drop the containing line!
68 Autogenerated CLI Command Synopsis
69 ----------------------------------
71 We generate the command line synopsis for all manual pages
72 automatically. We can do that, because we have a full declarative
73 definition of the {pve} API. I added those generated files
74 ('*-synopsis.adoc') to the git repository, so that it is possible to
75 build the documentation without having a fully installed {pve}
76 development environment.
81 'asciidoc' uses a fairly simple markup syntax for formatting content.
82 The following basic principles should be followed throughout our
89 Sections are formatted using `two-line titles', by adding a line of
90 the appropriate characters and of the same length as the section title
93 Level 0 (top level): ======================
94 Level 1: ----------------------
95 Level 2: ~~~~~~~~~~~~~~~~~~~~~~
96 Level 3: ^^^^^^^^^^^^^^^^^^^^^^
97 Level 4 (bottom level): ++++++++++++++++++++++
99 Section titles should always be preceded by two empty lines. Each word
100 in a title should be capitalized except for ``articles, coordinating
101 conjunctions, prepositions, and the word to in infinitives unless they
102 appear as the first or last word of a title'' (see
103 http://web.mit.edu/course/21/21.guide/capitals.htm[Mayfield Electronic Handbook of Technical & Scientific Writing]).
112 Numbered lists should be created using the implicit numbering format:
128 Bulleted lists should be created using the '*' symbol:
144 Labeled lists should be used to make lists of key-value style text
145 more readable, such as command line parameters or configuration options:
147 .Regular labeled lists
151 Element text paragraph
155 Another element text paragraph.
160 Element text paragraph
164 Another element text paragraph.
166 .Horizontal labeled lists
169 First Label Text:: Element text paragraph
171 Second Label Text:: Another element text paragraph.
177 First Label Text:: Element text paragraph
179 Second Label Text:: Another element text paragraph.
181 The FAQ section uses a special questions and answers style for
185 Text and Block Styles
186 ~~~~~~~~~~~~~~~~~~~~~
188 'asciidoc' offers a wide range of default text styles:
190 * 'Emphasized text': created using \'text', used for emphasizing words
192 * `Monospaced text`: created using \`text`, used for command / program
193 names, file paths, in-line commands, option names and values
194 * *Strong text*: created using \*text*, used for emphasizing concepts
195 or names when first introduced in a section.
197 There are also different built-in block styles that are used in
200 Complete paragraphs can be included literally by prepending each
201 of their lines with whitespace. Use this for formatting complete
202 commands on their own line, such as:
204 pct set ID -option value
207 By surrounding a paragraph with lines containing at least four '-'
208 characters, its content is formatted as listing.
210 Use this for formatting file contents or command output.
213 Specially highlighted 'notes', 'warnings' and 'important' information
214 can be created by starting a paragraph with `NOTE:`, `WARNING:` or
219 WARNING: this is warning
221 IMPORTANT: this is important information
223 For each of these blocks (including lists and paragraphs), a block header
224 can be defined by prepending the block with a `.' character and the header
239 For example, block headers can be used to add file names/paths to file
245 [thumbnail="gui-datacenter-search.png"]
247 First, it should be noted that we can display screenshots on 'html'
248 and 'wiki' pages, and we can include them in printed doumentation. But
249 ith is not possible to render them inside manual pages. So screenshot
250 inside manual pages should be optional, i.e. the text should not
251 depend on the visibility of the screenshot. You can include a
252 screenshot by setting the 'thumbnail' attribute on a paragraph:
255 [thumbnail="gui-datacenter-search.png"]
256 First, it should be noted ...
259 The corresponding file need to reside inside folder
260 `images/screenshot`, and should be in `.png` image format. We include
261 the screenshots in printed documentation, and 'pdftex' uses the
262 density (DPI) specified inside the file. So all screenshots should use
263 the same density. We currently require the density set to 146 DPI, so
264 that we can display a 1024 pixels wide image. You should not include
265 larger screenshots (although it is possible).
267 You can use the `./png-cleanup.pl` script to set the correct
268 density. Simply use the following command to import a screenshot
272 # ./png-cleanup.pl screenshot.png images/screenshot/screenshot.png
275 TIP: You can use `identify -verbose screenshot.png` command to show
276 all image attributes (from debian package 'imagemagick')
278 .Default Screenshot Layout
280 [thumbnail="gui-datacenter-search.png"]
282 We normally display screenshots as small thumbnail on the right side
283 of a paraprah. On printed docomentation, we render the full sized
284 graphic just before the paragraph, or between the title and the text
285 if the paragraph has a title. It is usually a good idea to add a title
286 to paragraph with screenshots.
288 [thumbnail="gui-datacenter-search.png", float="left"]
290 If you need to render many screenshots, it is possible to place them
291 on the left side, so you can alternate the thumbnail position using the
295 [thumbnail="gui-datacenter-search.png", float="left"]
296 If you need to render many screenshots ...
299 Please avoid to many consecutive screenshots to avoid rendering
300 problems. Also verify the printed documentation to see if large
301 screenshots create layout problems.
307 Copyright (C) 2016 Proxmox Server Solutions Gmbh
309 Permission is granted to copy, distribute and/or modify this document
310 under the terms of the GNU Free Documentation License, Version 1.3 or
311 any later version published by the Free Software Foundation; with no
312 Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
313 copy of the license is included in the link:LICENSE[LICENSE] file.