Guidedog मैनुअल 0.2.0
भाषा
इस पृष्ठ पर
Guidedog / दस्तावेज़ 0.2.0

डोमेन

डोमेन निर्देशों और रोल का समूह है। इससे किसी भाषा या विषय के प्रोग्राम ऑब्जेक्ट का वर्णन और पार-संदर्भ दिया जाता है।

Guidedog में ये Sphinx डोमेन मूल रूप से उपलब्ध हैं:

  • मानक डोमेन (std): कमांड लाइन विकल्प, वातावरण चर, शब्द और UI लेबल जैसे सामान्य ऑब्जेक्ट।
  • Python डोमेन (py): मॉड्यूल, क्लास, फ़ंक्शन, मेथड, एट्रिब्यूट, प्रॉपर्टी और एक्सेप्शन।
  • C डोमेन (c): फ़ंक्शन, टाइप, स्ट्रक्ट, यूनियन, एनम, एनम मान, चर और मैक्रो।
  • C++ डोमेन (cpp): क्लास, कॉन्सेप्ट, टेम्पलेट, नेमस्पेस, मेथड और एक्सप्रेशन।
  • JavaScript डोमेन (js): फ़ंक्शन, मेथड, क्लास और प्रॉपर्टी।
  • Odin डोमेन (odin): Odin पैकेज, प्रोसीजर, स्ट्रक्ट, यूनियन और एनम। Odin के दस्तावेज़ बनाना देखें।

मुख्य डोमेन तय करना

conf.toml के primary_domain से डिफ़ॉल्ट डोमेन तय होता है; डिफ़ॉल्ट "py" है। इसके बाद उपसर्ग छोड़ सकते हैं: .. py:function:: की जगह .. function:: और :py:func:`name` की जगह :func:`name` लिखें।

दस्तावेज़ में स्थानीय रूप से डोमेन बदलने के लिए:

.. default-domain:: c

मानक डोमेन

मानक डोमेन कमांड लाइन टूल, वातावरण चर और दस्तावेज़ पार-संदर्भ का वर्णन करता है।

निर्देश

.. program:: mytool

.. option:: -c <config>, --config <config>

   Path to the configuration file.

.. envvar:: GUIDEDOG_THEME

   Specifies the default theme stylesheet.

रोल

  • :doc:`path`: सापेक्ष पथ से परियोजना के दस्तावेज़ का लिंक देता है।
  • :ref:`label`: स्पष्ट लक्ष्य लेबल .. _label: का लिंक देता है।
  • :term:`term`: glossary में परिभाषित शब्द का लिंक देता है।
  • :option:`--config`: option में बताए कमांड लाइन विकल्प का लिंक देता है।
  • :envvar:`VARIABLE`: envvar में बताए वातावरण चर का लिंक देता है।
  • :command:`name`: सिस्टम कमांड का नाम दर्शाता है।
  • :file:`path`: फ़ाइल या फ़ोल्डर का पथ दर्शाता है; {variable} प्लेसहोल्डर भी चलता है।
  • :kbd:`Ctrl+C`: कीबोर्ड की कुंजियाँ दर्शाता है।
  • :menuselection:`File --> Save As`: मेनू चयन का क्रम दिखाता है।
  • :guilabel:`Submit`: बटन या UI तत्व का नाम दिखाता है।
  • :pep:`8`: Python Enhancement Proposal का लिंक देता है।
  • :rfc:`7231`: IETF RFC दस्तावेज़ का लिंक देता है।

Python डोमेन

Python डोमेन Python इंटरफ़ेस और सिग्नेचर का वर्णन करता है।

निर्देश

.. py:module:: pipeline.reader
   :synopsis: Document reading and normalization.

.. py:class:: DocumentReader(source_path: str, encoding: str = "utf-8")

   Base class for document readers.

   .. py:method:: parse(content: bytes) -> Document

      Parses raw bytes into a document tree.

      :param content: Raw source content bytes.
      :return: Parsed document tree instance.
      :raises ValueError: If the source format is unrecognized.

   .. py:attribute:: encoding
      :type: str

      The character encoding used for text decoding.

निर्देश हैं: py:module, py:currentmodule, py:function, py:data, py:class, py:method, py:staticmethod, py:classmethod, py:attribute, py:property, py:exception, py:decorator और py:type।

रोल

  • :py:func:`name`: Python फ़ंक्शन का लिंक देता है।
  • :py:class:`name`: Python क्लास का लिंक देता है।
  • :py:meth:`name`: Python क्लास या इंस्टेंस मेथड का लिंक देता है।
  • :py:attr:`name`: Python एट्रिब्यूट का लिंक देता है।
  • :py:data:`name`: Python मॉड्यूल-स्तरीय डेटा का लिंक देता है।
  • :py:exc:`name`: Python एक्सेप्शन क्लास का लिंक देता है।
  • :py:mod:`name`: Python मॉड्यूल का लिंक देता है।

C डोमेन

C डोमेन C लाइब्रेरी और हेडर का वर्णन करता है।

निर्देश

.. c:namespace:: gd

.. c:struct:: Workspace

   A contiguous memory buffer for in-memory document parsing.

   .. c:member:: size_t capacity

      Total byte size of the storage slab.

.. c:function:: int gd_convert(Workspace *ws, const char *input, char *output, size_t out_len)

   Converts source text into HTML.

   :param ws: Pointer to the initialized workspace.
   :param input: Null-terminated input string.
   :param output: Destination buffer.
   :param out_len: Size of destination buffer.
   :returns: 0 on success, or an error code.

रोल

  • :c:func:`name`: C फ़ंक्शन का लिंक देता है।
  • :c:member:`name`: C स्ट्रक्ट या यूनियन के सदस्य का लिंक देता है।
  • :c:data:`name` / :c:var:`name`: C चर का लिंक देता है।
  • :c:type:`name`: C typedef या टाइप का लिंक देता है।
  • :c:struct:`name`: C स्ट्रक्ट का लिंक देता है।
  • :c:union:`name`: C यूनियन का लिंक देता है।
  • :c:enum:`name`: C एनम का लिंक देता है।
  • :c:macro:`name`: C प्रीप्रोसेसर मैक्रो का लिंक देता है।

C++ डोमेन

C++ डोमेन आधुनिक C++ संरचनाएँ, कॉन्सेप्ट, नेमस्पेस और स्कोप संभालता है।

निर्देश

.. cpp:namespace:: guidedog

.. cpp:concept:: template<typename T> Reader

   Specifies requirements for document reader types.

.. cpp:class:: template<typename Allocator> Builder

   Constructs AST document nodes.

   .. cpp:function:: NodeId add_text(std::string_view text)

      Appends text to the active node.

रोल

  • :cpp:class:`name`: C++ क्लास या स्ट्रक्ट का लिंक देता है।
  • :cpp:func:`name`: C++ फ़ंक्शन या मेथड का लिंक देता है।
  • :cpp:member:`name` / :cpp:var:`name`: सदस्य या चर का लिंक देता है।
  • :cpp:type:`name`: C++ टाइप उपनाम या typedef का लिंक देता है।
  • :cpp:concept:`name`: C++20 कॉन्सेप्ट का लिंक देता है।
  • :cpp:enum:`name`: C++ एनम का लिंक देता है।

JavaScript डोमेन

JavaScript डोमेन ब्राउज़र स्क्रिप्ट, लाइब्रेरी और Node.js मॉड्यूल का वर्णन करता है।

निर्देश

.. js:module:: theme

.. js:class:: ThemeController(options)

   Manages color themes and local storage persistence.

   .. js:method:: toggleTheme()

      Toggles between light and dark modes.

रोल

  • :js:func:`name`: JavaScript फ़ंक्शन का लिंक देता है।
  • :js:meth:`name`: JavaScript मेथड का लिंक देता है।
  • :js:class:`name`: JavaScript क्लास का लिंक देता है।
  • :js:data:`name`: JavaScript चर का लिंक देता है।
  • :js:attr:`name`: JavaScript ऑब्जेक्ट प्रॉपर्टी का लिंक देता है।
  • :js:mod:`name`: JavaScript मॉड्यूल का लिंक देता है।

पार-संदर्भ की परंपराएँ

डोमेन के पार-संदर्भ में ये संशोधक इस्तेमाल कर सकते हैं:

  • उपसर्ग छिपाना: लक्ष्य से पहले ~ लगाने पर नाम का आख़िरी भाग ही दिखता है। जैसे :py:func:`~pipeline.reader.DocumentReader.parse` से parse() दिखता है।
  • वर्तमान स्कोप में खोज: सापेक्ष संदर्भ पहले वर्तमान मॉड्यूल या नेमस्पेस में खोजता है, फिर वैश्विक खोज करता है।
  • सटीक मिलान: पहले . लगाने पर खोज वर्तमान मॉड्यूल या घेरने वाले ऑब्जेक्ट से शुरू होती है।