ПомощьПоПарсерам/ReStructuredTextПарсер ReStructuredTextReStructuredText — это легкий для чтения синтаксис разметки текста, парсер для которого включен в состав МойнМойн. Он удобен для документирования программ непосредственно в исходном коде (как docstrings в Python), для быстрого создания простых веб-страниц и для автономных документов. ReStructuredText допускает расширяемость при применении в конкретных прикладных областях. ReStructuredText — это переработка и переосмысление легковесных систем разметки текста StructuredText и Setext. Новички в Вики часто считают разметку ReStructuredText более естественной и простой для изучения, чем разметка, используемая в МойнМойн по умолчанию. УстановкаДля того, чтобы получить возможность использовать эту разметку, необходимо установить пакет Python docutils, который используется в МойнМойн для поддержки ReStructuredText. Необходимая версия пакета docutils зависит от версии МойнМойн. Если этот текст — часть Вашей инсталляции МойнМойн, вероятно, у Вас установлен МойнМойн версии 1.5 или более новой, для которой (по состоянию на январь 2006) требуется docutils версии 0.4.0 или более новой, или новейший вариант (snapshot) версии 0.3.10. Если МойнМойн используется под Linux, пакет docutils, вероятно, уже доступен в составе Вашего дистрибутива Linux. Так, например, в Debian GNU/Linux достаточно просто набрать apt-get install python-docutils
. В других дистрибутивах Linux могут использоваться иные варианты установки пакетов, см. документацию к Вашему дистрибутиву Linux. Парсер в МойнМойнПарсер поддерживает те же возможности, что и редактор docutils HTML writer. Однако, некоторые особенности были немного изменены для улучшения взаимодействия с МойнМойн. Отличия перечислены ниже. Использование ReST в МойнМойнПримерRendering of reStructured text is not possible, please install Docutils.Неопределенные ссылкиНеопределенные ссылки используются для создания вики-ссылок. В обычной ситуации, неопределенная ссылка приводит к ошибке в reStructuredText документе. Но, чтобы обеспечить поведение, аналогичное Вики, неопределенные ссылки создают ссылки на вики-страницы, используя имя такой ссылки в качестве имени этой вики-страницы. Например: Rendering of reStructured text is not possible, please install Docutils.Вышеприведенный пример содержит reStructuredText ссылку на "SecondPage". В обычной ситуации такая ссылка вызвала бы в парсере docutils ошибку "ссылка на неизвестный объект", так как в документе нет части с именем "SecondPage". Но в парсере МойнМойн cсылка "SecondPage_" вместо генерации ошибки создает ссылку на страницу МойнМойн с именем "SecondPage". Поддержка специфичных для МойнМойн схем ссылокСпецефичные для МойнМойн схемы ссылок поддерживаются, если они указываются в reStructuredText-гиперссылке явным образом. Например: Rendering of reStructured text is not possible, please install Docutils.Вышеприведенный пример создает ссылку на вложение с названием Attachment.zip. Если на странице нет вложения, ссылка будет заменена на стандартный текст МойнМойн с приглашением загрузить вложение. Поддерживаются следующие стандартные схемы ссылок МойнМойн: wiki:
attachment:
inline:
drawing:
Включённые изображенияДирективы изображений docutils, не являющиеся URL-ами, преобразуются в ссылки МойнМойн inline:
. Это обеспечивает желаемый результат — вставку изображения в документ. Если вложения с изображением не существует, будет отображено стандартное приглашение МойнМойн для загрузки нового вложения. Например: Rendering of reStructured text is not possible, please install Docutils.В вышеприведенном примере будет выполнена вставка изображения "Yesterday.jpg" вместо |image|
. Экспериментальные возможностиДирективы включения и макроса на данный момент имеют статус экспериментальных, так как не были тщательно протестированы. Предположительно, они работают задуманным образом, но пока широко не использовались. Поддержка включенияДиректива включения reStructuredText поддерживается с некоторыми ограничениями. Эта директива позволяет включать в страницу вики-страницы из той же вики(не считая вложений). Включаемые страницы должны быть оформлены с использованием разметки reStructuredText (страницы в вики-разметке приведут к получению неверно отформатированных документов). Например, нижеприведенный код вставит верхний и нижний колонтитулы, окружающие содержимое страницы. Количество включаемых документов ограничено десятью. Это сделано для защиты от DoS атак, использующих рекурсивные директивы включения. Поддержка МакроПарсер reStructuredText в МойнМойн добавляет новую, специфичную для МойнМойн директиву макро. Эта директива позволяет получить доступ к макрокоммандам МойнМойн из документа reStructuredText. Например: >
}}}]]>Rendering of reStructured text is not possible, please install Docutils.>]]>Известные проблемыDocutils и МойнМойн используют разные наборы CSS-директив. Некоторые директивы совпадают, некоторые — нет. Например, директива заметки не отображается с любым особым форматированием. Эта проблема особенно актуальна при использовании темы с панелью справа вместе с директивой боковой панели docutils (sidebar). Боковая панель docutils заменяет боковую панель МойнМойн. На данный момент рекомендуется не использовать директиву боковой панели в МойнМойн. Возможности, связанные с получением внешних URL и файлов с локальных дисков не поддерживаются парсером в целях обеспечения локальной безопасности. Кроме того необработанные роли и другие возможности, которые могут дать пользователю возможность выводить необработанный HTML код, также запрещены. СсылкиreStructuredText Quick Reference Docutils A ReStructuredText Primer