wiki:ru/WikiParser

Version 1 (modified by vadim.godunko, 7 years ago) ( diff )

--

Заметки по архитектуре Wiki

Разбор wiki документа удобно производить в несколько этапов:

  • разделение на строки
  • обработка блочных элементов (параграфы и т.д.)
  • обработку inline-элементов (курсив, подчёркивание и т.д.)

Все элементы могут быть вложенными, причём исключительно вложенными, все открытые элементы закрываются объемлющим элементом даже при отсутствии явного закрытия вложенных элементов.

Блочные элементы

Для блочных элементов уровень вложенности контролируется отступом первой строки блока. Для параграфа возможно использование более сложного правила, когда первая строка может иметь больший отступ нежели строки продолжения. В этом случае используется отступ первой строки ("красная строка").

Поддержка базового блочного элемента - параграфа - по всей видимости должна быть реализована ядром парсера. Все остальные блочные элементы могут быть реализованы в форме подключаемых модулей.

Note: See TracWiki for help on using the wiki.