Hướng dẫn và bảng tra cứu nhanh RST

Quan trọng

Chúng tôi khuyến khích mạnh mẽ bạn đọc trang Nguyên tắc nội dung và trang chính Tài liệu trước khi đóng góp.

Hướng dẫn chung

Tuân theo các hướng dẫn RST dưới đây khi đóng góp cho tài liệu để giúp duy trì tính nhất quán với phần còn lại của tài liệu và tạo điều kiện thuận lợi cho quá trình xem xét của nhóm:

Định dạng

Sử dụng định dạng cụ thể để cải thiện độ rõ ràng và khả năng đọc. Ví dụ, áp dụng Chọn menu cho đường dẫn menu, Phần tử GUI cho các phần tử giao diện người dùng khác, chẳng hạn như trường, nút và tùy chọn, Lưu ý cho ghi chú, Ví dụ cho ví dụ, v.v.

Ghi chú

Thêm một dòng trống giữa các phần tử khối khác nhau, chẳng hạn như đoạn văn, danh sách và directive, để đảm bảo hiển thị và định dạng đúng cách.

Thụt lề

Chỉ sử dụng dấu cách (không bao giờ dùng tab).

Sử dụng số dấu cách cần thiết ở đầu dòng thụt lề để căn chỉnh với ký tự đầu tiên của cú pháp markup ở dòng phía trên. Điều này thường có nghĩa là ba dấu cách, nhưng ví dụ, bạn chỉ cần hai dấu cách đối với danh sách có dấu đầu dòng.

Example

Dấu : đầu tiên nằm bên dưới chữ i (ba dấu cách):

.. image:: media/example.png
   :alt: example

:titlesonly: và các tham chiếu trang bắt đầu bên dưới chữ t (ba dấu cách):

.. toctree::
   :titlesonly:

   payables/supplier_bills
   payables/pay

Các dòng tiếp tục bắt đầu lại bên dưới các chữ I trong "Invoice" (hai dấu cách):

- Invoice on ordered quantity: invoice the full order as soon as the sales order is confirmed.
- Invoice on delivered quantity: invoice on what was delivered even if it is a partial
  delivery.

Giới hạn ký tự thứ 100

Trong RST, có thể ngắt dòng mà không buộc phải xuống dòng trong HTML hiển thị. Hãy tận dụng tính năng này để viết các dòng tối đa 100 ký tự. Không cần để lại khoảng trắng ở cuối dòng để phân tách các từ.

Mẹo

  • Bạn có thể ngắt dòng an toàn tại bất kỳ khoảng trắng nào, kể cả bên trong các markup như menuselectiondoc.

  • Một số liên kết bên ngoài có thể vượt quá 100 ký tự, nhưng để chúng trên một dòng duy nhất là chấp nhận được.

Example

To register your seller account in Odoo, go to :menuselection:`Sales --> Configuration -->
Settings --> Amazon Connector --> Amazon Accounts` and click :guilabel:`Create`. You can find
the **Seller ID** under the link :guilabel:`Your Merchant Token`.

Tiêu đề

Đối với mỗi dòng định dạng (ví dụ: ===), hãy viết số ký hiệu (=) bằng đúng số ký tự có trong tiêu đề. Sử dụng các ký hiệu dưới đây để định dạng tiêu đề:

Kích thước tiêu đề

Định dạng

H1

=======
Heading
=======

H2

Heading
=======

H3

Heading
-------

H4

Heading
~~~~~~~

H5

Heading
*******

H6

Heading
^^^^^^^

Quan trọng

Mỗi tài liệu phải có chính xác một tiêu đề H1.

Markup

Nhấn mạnh (in nghiêng)

Để nhấn mạnh một phần của văn bản. Văn bản được hiển thị bằng chữ in nghiêng.

Điền thông tin trước khi lưu biểu mẫu.

Fill out the information *before* saving the form.

Nhấn mạnh mạnh (in đậm)

Để nhấn mạnh một phần của văn bản. Văn bản được hiển thị bằng chữ in đậm.

Tên miền phụ là một tên miền thuộc về một tên miền khác.

A **subdomain** is a domain that is a part of another domain.

Thuật ngữ kỹ thuật (literal)

Để viết một thuật ngữ kỹ thuật hoặc một giá trị cụ thể cần chèn vào. Văn bản được hiển thị dưới dạng literal.

Nhập địa chỉ IP của máy in của bạn, ví dụ: 192.168.1.25.

Insert the IP address of your printer, for example, `192.168.1.25`.

Định nghĩa

Sử dụng markup dfn để định nghĩa một thuật ngữ.

Tài liệu được viết bằng RST và cần được build (chuyển đổi sang HTML) để hiển thị đẹp mắt.

The documentation is written in RST and needs to be built (:dfn:`converted to HTML`) to
display nicely.

Từ viết tắt

Sử dụng markup abbr để viết một từ viết tắt tự giải thích, được hiển thị dưới dạng tooltip.

Odoo sử dụng công nghệ OCR và trí tuệ nhân tạo để nhận diện nội dung của các tài liệu.

Odoo uses :abbr:`OCR (optical character recognition)` and artificial intelligence
technologies to recognize the content of the documents.

Phần tử GUI

Sử dụng markup guilabel để xác định bất kỳ văn bản nào của giao diện người dùng tương tác (ví dụ: nhãn).

Cập nhật thông tin đăng nhập của bạn, sau đó nhấp vào Save.

Update your credentials, then click on :guilabel:`Save`.

Ghi chú

Tránh sử dụng markup guilabel khi đề cập đến một khái niệm hoặc thuật ngữ chung.

Example

  • Ví dụ tốt:
    Để tạo một credit note, đi tới Accounting ‣ Customers ‣ Invoices, mở hóa đơn, và nhấp vào Credit Note.
  • Ví dụ xấu:
    Để tạo Credit Note, đi tới Accounting ‣ Customers ‣ Invoices, mở Invoice, và nhấp vào Credit Note.

Tệp

Sử dụng markup file để chỉ đường dẫn hoặc tên tệp.

Tạo chuyển hướng bằng cách sử dụng tệp redirects.txt nằm ở thư mục gốc của kho lưu trữ.

Create redirections using the :file:`redirects.txt` file found at the root of the
repository.

Lệnh

Sử dụng markup command để làm nổi bật một lệnh.

Chạy lệnh make clean html để xóa các tệp đã build hiện có và build tài liệu sang HTML.

Run the command :command:`make clean html` to delete existing built files and build the
documentation to HTML.

Biểu tượng

Sử dụng markup icon để thêm tên class của một biểu tượng. Có hai bộ biểu tượng được sử dụng trong Odoo: FontAwesome4Odoo UI. Theo sau biểu tượng bằng tên của nó dưới dạng Phần tử GUI trong dấu ngoặc như một mô tả.

Chế độ xem graph được biểu thị bằng biểu tượng (area chart). Chế độ xem pivot được biểu thị bằng biểu tượng .

The graph view is represented by the :icon:`fa-area-chart` :guilabel:`(area chart)` icon.
The pivot view is represented by the :icon:`oi-view-pivot` icon.

Danh sách

Danh sách có dấu đầu dòng

  • Đây là một danh sách có dấu đầu dòng.

  • Nó có hai mục, mục thứ hai sử dụng hai dòng.

- This is a bulleted list.
- It has two items, the second
  item uses two lines.

Danh sách đánh số

  1. Đây là một danh sách đánh số.

  2. Việc đánh số là tự động.

#. This is a numbered list.
#. Numbering is automatic.
  1. Sử dụng định dạng này để bắt đầu đánh số với một số khác 1.

  2. Việc đánh số sẽ tự động tiếp tục từ đó.

6. Use this format to start the numbering
   with a number other than one.
#. The numbering is automatic from there.

Mẹo

Ưu tiên sử dụng danh sách tự động đánh số với #. thay vì 1., 2., v.v. để mã có khả năng chịu lỗi tốt hơn.

Danh sách lồng nhau

Mẹo

  • Thêm một dòng trống trước các phần tử lồng nhau trong danh sách.

  • Thụt lề danh sách lồng nhau đúng cách, với các mục con được căn chỉnh dưới mục cha của chúng.

  • Đây là mục đầu tiên của một danh sách có dấu đầu dòng.

    1. Nó có một danh sách đánh số lồng nhau

    2. với hai mục.

- This is the first item of a bulleted list.

  #. It has a nested numbered list
  #. with two items.

Bí danh

Bí danh liên kết bên ngoài cho phép tạo các lối tắt cho các liên kết bên ngoài. Cú pháp định nghĩa như sau: .. _target: URL. Có hai cách để tham chiếu đến chúng, tùy thuộc vào trường hợp sử dụng:

  1. target_ tạo một liên kết với tên target làm nhãn và URL làm tham chiếu. Lưu ý rằng dấu _ đã được chuyển ra sau target.

  2. `label <target_>`_ nhãn thay thế tên của target, và target được thay thế bằng URL.

Một proof-of-concept là một phiên bản đơn giản hóa, một bản mẫu để thống nhất về những đường hướng chính của các thay đổi dự kiến. PoC là một từ viết tắt thông dụng.

.. _proof-of-concept: https://en.wikipedia.org/wiki/Proof_of_concept

   A proof-of-concept_ is a simplified version, a prototype of what is expected to agree on
   the main lines of expected changes. `PoC <proof-of-concept_>`_ is a common abbreviation.

Neo tùy chỉnh

Neo tùy chỉnh tuân theo cú pháp giống với bí danh siêu liên kết bên ngoài nhưng không có URL. Chúng cho phép tham chiếu đến một phần cụ thể của tệp RST bằng cách sử dụng đích (target) làm điểm neo. Khi người dùng nhấp vào tham chiếu, họ sẽ được đưa đến phần của trang tài liệu nơi đích đó được định nghĩa.

Cú pháp định nghĩa là: .. _target:. Có hai cách để tham chiếu đến chúng, cả hai đều sử dụng cú pháp ref:

  1. :ref:`target` tạo một siêu liên kết đến điểm neo, sử dụng tiêu đề được định nghĩa bên dưới làm nhãn.

  2. :ref:`label <target>` tạo một siêu liên kết đến điểm neo với nhãn được chỉ định.

Quan trọng

Vì các đích (target) có thể được nhìn thấy từ toàn bộ tài liệu khi được tham chiếu bằng cú pháp ref, hãy thêm tiền tố cho tên đích bằng tên ứng dụng/phầntên tệp, cách nhau bởi dấu gạch chéo, ví dụ: accounting/taxes/configuration.

Ghi chú

  • Thêm các neo tùy chỉnh cho tất cả tiêu đề để chúng có thể được tham chiếu từ bất kỳ tệp tài liệu nào hoặc trong Odoo bằng cách sử dụng các liên kết tài liệu.

  • Lưu ý rằng không có dấu _ ở cuối, khác với siêu liên kết bên ngoài.

Vui lòng tham khảo phần Liên kết bên ngoài để tìm hiểu thêm về bí danh.

 .. _contributing/rst/external-hyperlinks:

 External hyperlinks
 -------------------

.. _contributing/rst/external-hyperlink-aliases:

Aliases
~~~~~~~

Please refer to the :ref:`contributing/rst/external-hyperlinks` section to learn more
about :ref:`aliases <contributing/rst/external-hyperlink-aliases>`.

Tải tệp xuống

Cú pháp download cho phép tham chiếu đến các tệp (không nhất thiết phải là tài liệu RST) trong cây nguồn để tải xuống.

Tải module structure template này xuống để bắt đầu xây dựng mô-đun của bạn.

Download this :download:`module structure template <rst_guidelines/my_module.zip>` to start building your module.

Ghi chú

Lưu trữ tệp cùng với các tệp media khác và tham chiếu đến nó bằng cách sử dụng liên kết tương đối.

Hình ảnh

Cú pháp image cho phép chèn hình ảnh vào tài liệu.

Tạo một hóa đơn.
.. image:: rst_guidelines/create-invoice.png
   :alt: Create an invoice.

Mẹo

  • Hình ảnh thường nên được căn trái, đây là hành vi mặc định. Sử dụng tham số align để thay đổi căn chỉnh, ví dụ: :align: center.

  • Sử dụng tham số alt để thêm Thẻ ALT, ví dụ: :alt: Activating the developer mode in the Settings app.

  • Sử dụng tham số scale để thay đổi tỷ lệ hình ảnh, ví dụ: :scale: 75%.

Khối cảnh báo (admonitions)

Xem thêm

.. seealso::
   - :doc:`Accounting documentation <../../../applications/finance/accounting>`
   - :doc:`../../../applications/sales/sales/invoicing/proforma`
   - `Google documentation on setting up Analytics for a website <https://support.google.com/analytics/answer/1008015?hl=en/>`_

Lưu ý

Ghi chú

Sử dụng khối cảnh báo này để thu hút sự chú ý của người đọc và làm nổi bật thông tin bổ sung quan trọng.

.. note::
   Use this alert block to draw the reader's attention and highlight important additional information.

Mẹo

Mẹo

Sử dụng khối cảnh báo này để thông báo cho người đọc về một mẹo hữu ích cần thực hiện.

.. tip::
   Use this alert block to inform the reader about a useful trick that requires an action.

Ví dụ

Example

Sử dụng khối cảnh báo này để đưa ra một ví dụ.

.. example::
   Use this alert block to show an example.

Bài tập

Exercise

Sử dụng khối cảnh báo này để đề xuất một bài tập cho người đọc.

.. exercise::
   Use this alert block to suggest an exercise to the reader.

Quan trọng

Quan trọng

Sử dụng khối cảnh báo này để thông báo cho người đọc về thông tin quan trọng.

.. important::
   Use this alert block to notify the reader about important information.

Cảnh báo

Cảnh báo

Sử dụng khối cảnh báo này để yêu cầu người đọc thận trọng với những gì được mô tả trong cảnh báo.

.. warning::
   Use this alert block to require the reader to proceed with caution with what is described in the warning.

Nguy hiểm

Nguy hiểm

Sử dụng khối cảnh báo này để thu hút sự chú ý của người đọc đến một mối đe dọa nghiêm trọng.

.. danger::
   Use this alert block to bring the reader's attention to a serious threat.

Tùy chỉnh

Tiêu đề

Tùy chỉnh khối cảnh báo này với một Tiêu đề theo ý muốn của bạn.

.. admonition:: Title

   Customize this alert block with a **Title** of your choice.

Bảng

Bảng danh sách

Bảng danh sách sử dụng danh sách có dấu đầu dòng hai cấp để chuyển đổi dữ liệu thành bảng. Cấp đầu tiên đại diện cho các hàng và cấp thứ hai đại diện cho các cột.

Tên

Quốc gia

Màu yêu thích

Raúl

Montenegro

Tím

Mélanie

Pháp

Đỏ

.. list-table::
   :header-rows: 1
   :stub-columns: 1

   * - Name
     - Country
     - Favorite colour
   * - Raúl
     - Montenegro
     - Purple
   * - Mélanie
     - France
     - Turquoise

Mẹo

Sử dụng các tham số cụ thể để điều chỉnh giao diện và bố cục của bảng danh sách:

  • :class: table-striped: Áp dụng màu xen kẽ cho các hàng.

  • :class: table-sticky-header: Giữ cố định hàng tiêu đề khi cuộn.

  • :widths:: Xác định tỷ lệ cột. Tránh sử dụng auto. Ví dụ: :widths: 25 25 50.

Bảng lưới

Bảng lưới thể hiện bảng đã được render và trực quan hơn khi làm việc.

Áo

Áo thun

Màu sắc có sẵn

Tím

Xanh lá

Ngọc lam

Cam

Chiều dài tay áo

Tay dài

Tay ngắn

+-----------------------+--------------+---------------+
|                       | Shirts       | T-shirts      |
+=======================+==============+===============+
| **Available colours** | Purple       | Green         |
|                       +--------------+---------------+
|                       | Turquoise    | Orange        |
+-----------------------+--------------+---------------+
| **Sleeves length**    | Long sleeves | Short sleeves |
+-----------------------+--------------+---------------+

Mẹo

  • Sử dụng = thay vì - để định nghĩa hàng tiêu đề.

  • Xóa các dấu phân cách -| để gộp các ô.

  • Sử dụng công cụ tạo bảng tiện lợi này để xây dựng bảng. Sau đó, sao chép-dán định dạng đã được tạo vào tài liệu của bạn.

Khối mã

Sử dụng chỉ thị code-block để hiển thị mã ví dụ. Chỉ định ngôn ngữ (ví dụ: python, xml, v.v.) để định dạng mã theo quy tắc cú pháp của ngôn ngữ đó.

def main():
    print("Hello world!")
.. code-block:: python

   def main():
       print("Hello world!")

Nội dung ẩn

42

.. spoiler:: Answer to the Ultimate Question of Life, the Universe, and Everything

   **42**

Tab nội dung

Cảnh báo

Cú pháp tabs có thể không hoạt động tốt trong một số trường hợp. Cụ thể:

Tab cơ bản

Tab cơ bản hữu ích để chia nội dung thành nhiều tùy chọn. Cú pháp tabs được sử dụng để định nghĩa một chuỗi các tab. Sau đó, mỗi tab được định nghĩa bằng cú pháp tab theo sau bởi một nhãn.

Nội dung dành riêng cho người dùng Odoo Online.

.. tabs::

   .. tab:: Odoo Online

      Content dedicated to Odoo Online users.

   .. tab:: Odoo.sh

      Alternative for Odoo.sh users.

   .. tab:: On-premise

      Third version for On-premise users.

Tab lồng nhau

Các tab có thể được lồng vào nhau.

Ngôi sao gần chúng ta nhất.

.. tabs::

   .. tab:: Stars

      .. tabs::

         .. tab:: The Sun

            The closest star to us.

         .. tab:: Proxima Centauri

            The second closest star to us.

         .. tab:: Polaris

            The North Star.

   .. tab:: Moons

      .. tabs::

         .. tab:: The Moon

            Orbits the Earth.

         .. tab:: Titan

            Orbits Jupiter.

Tab nhóm

Tab nhóm là các tab đặc biệt được đồng bộ hóa dựa trên nhãn nhóm. Nhóm được chọn lần cuối sẽ được ghi nhớ và tự động được chọn khi người dùng quay lại trang hoặc truy cập một trang khác có nhóm tab đó. Cú pháp group-tab được sử dụng để định nghĩa tab nhóm.

C++

int main(const int argc, const char **argv) {
    return 0;
}
.. tabs::

   .. group-tab:: C++

      C++

   .. group-tab:: Python

      Python

   .. group-tab:: Java

      Java

.. tabs::

   .. group-tab:: C++

      .. code-block:: c++

         int main(const int argc, const char **argv) {
             return 0;
         }

   .. group-tab:: Python

      .. code-block:: python

         def main():
             return

   .. group-tab:: Java

      .. code-block:: java

         class Main {
             public static void main(String[] args) {}
         }

Tab mã

Sử dụng cú pháp code-tab để tạo tab mã, về cơ bản đây là tab nhóm xử lý nội dung của tab như một khối mã. Chỉ định ngôn ngữ để định dạng mã theo quy tắc cú pháp của ngôn ngữ đó. Nếu một nhãn được thiết lập, nhãn đó sẽ được sử dụng để nhóm các tab thay vì tên ngôn ngữ.

#include <iostream>

int main() {
    std::cout << "Hello World";
    return 0;
}
.. tabs::

   .. code-tab:: c++ Hello C++

      #include <iostream>

      int main() {
          std::cout << "Hello World";
          return 0;
      }

   .. code-tab:: python Hello Python

      print("Hello World")

   .. code-tab:: javascript Hello JavaScript

      console.log("Hello World");

Thẻ

.. cards::

   .. card:: Documentation
      :target: ../documentation
      :tag: Step-by-step guide
      :large:

      Use this guide to acquire the tools and knowledge you need to write documentation.

   .. card:: Content guidelines
      :target: content_guidelines

      List of guidelines, tips, and tricks to help you create clear and effective content.

   .. card:: RST guidelines
      :target: rst_guidelines

      List of technical guidelines to observe when writing with reStructuredText.

   .. card:: Card with image
      :target: ../documentation
      :large:
      :image: placeholder-image.png
      :alt: Placeholder card image

      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Trang con

Chỉ thị toctree được sử dụng để tổ chức tài liệu thành các phần với các trang con. Nó thêm một mục lục tại vị trí hiện tại (tức là trang cha), được xây dựng từ các tệp được liệt kê trong chỉ thị. Tất cả các tệp RST phải được đưa vào một TOC tree, trừ khi orphan cú pháp metadata được sử dụng.

Mẹo

Example

  • TOC tree trong mục lục chính của tài liệu:

    Phần Website của tài liệu
  • Chỉ thị toctree trong website.rst (tức là trang cha):

    .. toctree::
       :titlesonly:
    
       website/web_design
       website/pages
       website/configuration
       website/reporting
       website/mail_groups
    

Metadata tài liệu

Sphinx hỗ trợ các cú pháp metadata áp dụng cho toàn bộ tài liệu, chỉ định hành vi cho toàn bộ trang. Chúng phải được đặt giữa các dấu hai chấm (:) ở đầu tệp nguồn.

Metadata

Mục đích

show-content

Làm cho nội dung của một tệp RST có chứa TOC tree hiển thị và có thể truy cập được từ mục lục chính của tài liệu.

show-toc

Hiển thị mục lục của trang khi sử dụng cú pháp metadata show-content. Sử dụng tham số titlesonly cho chỉ thị toctree để chỉ hiển thị tiêu đề chính của các trang con.

hide-page-toc

Ẩn thanh bên "On this page" và sử dụng toàn bộ chiều rộng trang cho nội dung.

nosearch

Loại trừ tài liệu khỏi kết quả tìm kiếm.

orphan

Loại bỏ yêu cầu phải đưa tài liệu vào một TOC tree.

code-column

Hiển thị một cột bên động có thể được sử dụng để hiển thị hướng dẫn tương tác hoặc đoạn mã trích dẫn.

custom-css

Liên kết các tệp CSS (cách nhau bởi dấu phẩy) đến tệp.

custom-js

Liên kết các tệp JS (cách nhau bởi dấu phẩy) đến tài liệu.

classes

Gán các lớp (class) đã chỉ định cho phần tử <main/> của tệp.

Mẹo định dạng

Ngắt dòng nhưng không ngắt đoạn văn

Một dòng dài đầu tiên mà bạn ngắt thành hai -> tại đây <- được hiển thị thành một dòng duy nhất.
Một dòng thứ hai theo sau một lần ngắt dòng.
| A first long line that you break in two
  -> here <- is rendered as a single line.
| A second line that follows a line break.

Thoát ký hiệu markup

Các ký hiệu markup được thoát bằng dấu gạch chéo ngược (\) sẽ được hiển thị bình thường. Ví dụ: this \*\*line of text\*\* with \*markup\* symbols được hiển thị thành “this **line of text** with *markup* symbols”.

Đối với dấu backtick (`), được sử dụng trong nhiều trường hợp như siêu liên kết bên ngoài, việc sử dụng dấu gạch chéo ngược để thoát không còn khả thi nữa vì các dấu backtick bên ngoài sẽ diễn giải các dấu gạch chéo ngược bên trong và do đó ngăn chúng thoát các dấu backtick bên trong. Ví dụ, `\`this formatting\`` sẽ tạo ra lỗi [UNKNOWN NODE title_reference]. Thay vào đó, nên sử dụng ```this formatting``` để tạo ra kết quả sau: `this formatting`.