Отображение текста в формате reStructured невозможно без установки Docutils.
ReStructuredText для Начинающих
==================================
:Author: Richard Jones
:Version: $Revision: 1.17 $
:Copyright: This document has been placed in the public domain.
.. contents::
Нижеследующий текст содержит ссылки вида "(quickref__)". Это относительные ссылки на руководство пользователя `Quick reStructuredText`_. Если эти ссылки не работают, можно обращаться к `master
quick reference`_.
__
.. _Quick reStructuredText: quickref.html
.. _master quick reference:
http://docutils.sourceforge.net/docs/user/rst/quickref.html
Структура
-----------
Для начала стоит отметить, что название "Structured Text" ("Структурированный Текст") не слишком удачно. На самом деле, это больше напоминает "Relaxed Text"("Нестрогий Текст"), в котором используются устойчивые обороты. Эти обороты интерпртируются HTML-конвертером и получается "Очень Структурированный Текст", который может использоваться веб-браузером.
Базовый распознаваемый паттерн --- **параграф** (quickref__). Это кусок текста, отделённый пустыми строками(одной достаточно). У параграфов должны быть одинаковые отступы, то есть, количество пробелов в левом верхнем углу. Параграфы, начинающиеся с отступа, превращаются в параграфы-цитаты, с отступом. Например:
Это параграф. Весьма короткий.
Этот параграф превратится в блок текста с отступом,
обычно используемый для цитирования другого текста.
А это ещё один.
Превратится в:
Это параграф. Весьма короткий.
Этот параграф превратится в блок текста с отступом,
обычно используемый для цитирования другого текста.
А это ещё один.
__ quickref.html#paragraphs
Текстовые стили
----------------
(quickref__)
__ quickref.html#inline-markup
Внутри параграфов или других частей текста можно дополнительно выделять текст *курсивом*, используя "``*курсив*``" или **жирным**, используя "``**жирным**``".
Если нужно моноширное начертание, используются "````двойные обратные кавычки````". Обратите внимание, что внутри двойных обратных кавычек дальнейших махинаций уже не производится --- звёздочки "``*``" и т. д. оставляются в покое.
Если какой-то из "специальных символов" надо использовать в тексте, обычно все получится хорошо -- reStructuredText достаточно интеллектуален. Например, эта * звёздочка прекрасно обрабатывается. Если нужно, чтобы текст, \*обособленный звёздочками* **не** выделялся курсивом, необходимо обозначить, что звёздочка не используется как специальный символ. Это можно сделать, поставив непосредственно перед ней обратный слэш, вот так "``\*``" (quickref__), или окружив её двойными обратными кавычками(inline literals), вот так::
``\*``
__ quickref.html#escaping
Списки
-------
Списки пунктов бывают трех видов: **нумерованные**, **ненумерованные**, **определения**. В любом случае, можно делать сколько угодно параграфов, подспсиков, и т.д., пока левый край параграфа или чего угодно другого имеет тот же отступ, что и первая строка пункта.
Списки всегда должны начинаться в новом параграфе, то есть, после пустой строки.
**нумерованные** списки (числа, буквы или римские цифры; quickref__)
__ quickref.html#enumerated-lists
Начинайте пункт с цифры или буквы с последующей точкой ".", правой скобкой ")" или окруженной скобками "( )", смотря что удобней. Все нижеследующие формы распознаются::
1. числа
A. большие буквы
и оно продолжается на нескольких строчках
даже два параграфа и всё такое!
a. маленькие буквы
3. с вложенным спсиком, начинающимся с другого числа
4. всё же, убедитесь, что числа идут в правильной последовательности!
I. большие римские цифры
i. маленький римские цифры
(1) снова числа
1) и снова
**ненумерованные** списки (quickref__)
__ quickref.html#bullet-lists
Точно так же, как и нумерованные списки, новый пункт начинается с новой строки и символа-буллита -- "-", "+" или "*"::
* буллит с использованием "*"
- вложенный список с использованием "-"
+ ещё один вложенный список
- ещё один пункт
Превратится в:
* буллит с использованием "*"
- вложенный список с использованием "-"
+ ещё один вложенный список
- ещё один пункт
**definition** lists (quickref__)
__ quickref.html#definition-lists
В отличие от остальных двух случаев, списки-определения стостоят из термина и определения этого термина. Формат списков-определений следующий::
what
Списки-определения ассоциируют термин с определением.
*how*
Термин -- это однострочная фраза.Определение -- это один или несколько
параграфов или текстовых элементов, с отступами относительно термина.
Пустые строки между термином и определением не разрешены.
Превратится в:
what
Списки-определения ассоциируют термин с определением.
*how*
Термин -- это однострочная фраза.Определение -- это один или несколько
параграфов или текстовых элементов, с отступами относительно термина.
Пустые строки между термином и определением не разрешены.
Преформатирование (примеры)
-----------------------------
(quickref__)
__ quickref.html#literal-blocks
Чтобы просто вставить кусок преформатированного текста, который-никто-не-будет-трогать, завершите предыдущий параграф "``::``". Перформатированный блок завершится, когда текст вернётся на уровень отступа, который был у параграфа предшествующего преформатированному блоку.
Пример::
Пробел, новые строки, пустые строки, и все виды разметок
( *такая* или \такая) в подобных блоках сохраняются.
Внимание, я изменил отступ
(но недостаточно)
пример завершён
В результате получится:
Пример::
Пробел, новые строки, пустые строки, и все виды разметок
( *такая* или \такая) в подобных блоках сохраняются.
Внимание, я изменил отступ
(но недостаточно)
пример завершён
Обратите внимание, что если параграф состоит только из "``::``", то он не отображается. ::
::
Это преформатированный текст, а
последний параграф, состоящий из
"::" --- удалён.
В результате:
::
Это преформатированный текст, а
последний параграф, состоящий из
"::" --- удалён.
Разделы
-------------
(quickref__)
__ quickref.html#section-structure
Чтобы разбить длинный текст на разделы, используйте **заголовки разделов**. Это строка текста(одно или несколько слов) с обрамлением: просто подчеркиванием, или отчеркиванием сверху и снизу, состоящим из минусов "``-----``", знаков равно "``======``", тильд "``~~~~~~``" или любых других неалфавитных символов: ``= - ` : ' " ~ ^ _ * + # < >``, которые Вам нравятся. Подчеркивание отличается от отчеркивания сверху и снизу, состоящего из тех же символов. Подчеркивание/отчеркивание должны быт не корче самого заголовка. Будьте последовательны, така как одинаково обрамлённые разделы будут на одном уровне. ::
Часть 1 Заголовок
=================
Раздел 1.1 Заголовок
---------------------
Глава 1.1.1 Заголовок
~~~~~~~~~~~~~~~~~~~~~~
Раздел 1.2 Заголовок
----------------------
Часть 2 Заголовок
====================
Превратится в следующую структуру(проиллюстрируем на упрощённом псевдо-XML):
<section>
<title>
Часть 1 Заголовок
<section>
<title>
Раздел 1.1 Заголовок
<section>
<title>
Глава 1.1.1 Заголовок
<section>
<title>
Раздел 1.2 Заголовок
<section>
<title>
Часть 2 Заголовок
(В псевдо-XML для указания вложенности используются отступы и нет закрывающих тэгов. Нет возможности продемонстрировать обработанный результат, как в других примерах, потому что разделов не существует внутри двойных кавычек. Для конкретного примера, сравните структуру разделов этого исходного текста этого документа и его же в обработанном виде.)
Обратите внимание, что на заголовки разделов можно ссылаться, просто используя их название. Чтобы сослаться на заголовок Списки_, мне достаточно написать "``Списки_``". Если заголовок содержит пробел(ы), как, например, `текстовые стили`_, то нужно обрамить заголовок кавычками: "```текстовые стили`_``".
Заголовок / Подзаголовок
``````````````````````````
Название документа отличается от названий разделов, и может быть оформлено по другому (например, HTML writer по умолчанию показывает его как отцентированный заголовок).
Чтобы выделить название заголовок документа в reStructuredText, используйте уникальный стиль обрамления в начале документа. Чтобы выделить подзаговок, используюте другой ункальный стиль обрамления сразу же после заголовка.
Для
примера::
================
Заголовок
================
-----------------
Подзаголовок
----------------
Название Раздела
==================
...
Обратите внимание, что и для "Заголовка" и для "Названия раздела" используются знаки равно, ноэто два различных и независмых стиля. Текст отчёркнутых сверху и снизу заголовков (а не просто подчеркнутых) может быть вставлен для эстетики.
Изображения
--------------
(quickref__)
__ quickref.html#directives
Чтобы вставить в документ изображение, используйте директиву ``image``.
Например::
.. image:: images/biohazard.png
Результат:
.. image:: images/biohazard.png
``images/biohazard.png`` --- это имя файла с изображением, которое надо включить в документ. На изображение не накладывается никаких ограничений(ни на формат, ни на размер, ни на что-либо ещё). Если изображение будет вставлять в HTML и есть желание указать дополнительную информацию, можно написать так:
.. image:: images/biohazard.png
:height: 100
:width: 200
:scale: 50
:alt: alternate text
Более подробную информацию см. в `image directive documentation`__ .
__ ../../ref/rst/directives.html#images
Что Дальше?
------------
Это пособие для начинающих описывает наиболее широкоиспользуемые возможности reStructuredText, но их намного больше. Руководство пользователя `Quick reStructuredText`_ будет хорошим продолжением. За детальными подробностями стоит обратится к
`reStructuredText Markup Specification`_ [#]_.
.. [#] Если относительная ссылка не работает, попробуйте обратится к основному документу:
http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html.
.. _reStructuredText Markup Specification:
../../ref/rst/restructuredtext.html
.. _post a message: mailto:docutils-users@lists.sourceforge.net
.. _Docutils-Users mailing list:
http://lists.sourceforge.net/lists/listinfo/docutils-users
.. _Docutils project web site: http://docutils.sourceforge.net/