.. SPDX-FileCopyrightText: 2023 Emmanuele Bassi .. .. SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later ======= Content ======= Gi-docgen parses the content of docblocks from the introspection data as plain Markdown, using the `Python-Markdown `_ module. For more information on Markdown, please see `the syntax rules `_. Basic syntax ------------ These are the elements outlined in the original Markdown documentation. .. list-table:: :widths: 35 65 :header-rows: 1 * - Element - Markdown Syntax * - Heading - | ``# H1`` | ``## H2`` | ``### H3`` * - Bold - ``**bold text**`` * - Italic - ``*italicized text*`` * - Blockquote - ``> blockquote`` * - Ordered list - | ``1. First item`` | ``2. Second item`` | ``3. Third item`` * - Unordered list - | ``- First item`` | ``- Second item`` | ``- Third item`` * - Code - `` `code` `` * - Horizontal rule - ``---`` * - Link - ``[title](https://www.example.com)`` * - Image - ``![alt text](image.jpg)`` Extensions ---------- These are extensions to the basic syntax that are supported by gi-docgen: - `Definition Lists `_ - `Fenced Code Blocks `_ - `Tables `_ Admonitions ~~~~~~~~~~~ Gi-docgen supports "admonitions": asides, like notes, tips, and warnings. The syntax for admonitions is: :: ::: type "optional title within double quotes" Any number of other indented markdown elements. This is another paragraph within the admonition - This is a list - With two items The ``type`` can be one of: - ``note`` - ``important`` - ``warning`` - ``seealso`` - ``tip`` - ``hint`` If there is no title, each type of admonition will use a default title: .. list-table:: :widths: 35 65 :header-rows: 1 * - Type - Title * - ``note`` - Note * - ``important`` - Important * - ``warning`` - Warning * - ``seealso`` - See also * - ``tip`` - Tip * - ``hint`` - Hint In order to distinguish the content of an admonition block from content following the admonition, you should add an empty line after the admonition, e.g. :: ::: tip This is a tip. This is still a tip This paragraph is outside the tip. GTK-Doc compatibility ~~~~~~~~~~~~~~~~~~~~~ Gi-docgen tries to facilitate porting an API reference from gtk-doc. It automatically turns gtk-doc sigils into code fragments: - ``%CONSTANT`` - ``#TypeName`` - ``#TypeName:property`` - ``#TypeName::signal`` - ``symbol_name()`` .. important:: Gi-docgen does **not** turn gtk-doc sigils into links, as they lack the specificity to allow cross-linking.