TRVMarkdownProperties.LoadOptions

<< Нажмите, чтобы показать Содержание >>

TRVMarkdownProperties.LoadOptions

Опции загрузки Markdown.

type 

  // объявлено в модуле RVStyle/fmxRVStyle
  TRVMarkdownLoadOption = (

    rvmdloBasePathLinks,
    rvmdloCollapseWhitespace,
    rvmdloCollapseWhitespaceInCodeSpans,
    rvmdloEnforceListLevels,

    rvmdloKeepLineBreaks);
 
  TRVMarkdownLoadOptions = set of TRVMarkdownLoadOption;

Опция

Описание

rvmdloBasePathLinks

Если включена, к целям гиперссылок добавляется базовый путь (если цели ссылок являются относительными путями).

Для изображений базовый путь добавляется даже если эта опция не включена (если пути к изображениям являются относительными).

rvmdloCollapseWhitespace

Если включена: все последовательности пробельных символов (включая пробелы и табуляции) заменяются одним пробелом (в соответствии со спецификацией Markdown).

Это свойство применяется ко всему тексту, за исключением вставок кода и блоков кода (в блоках кода пробелы загружаются как есть).

rvmdloCollapseWhitespaceInCodeSpans

Если включена: во вставках кода все последовательности пробельных символов (включая пробелы и табуляции) заменяются одним пробелом (в соответствии со спецификацией Markdown).

rvmdloEnforceListLevels

Если включена: сохранение уровней вложенности списка.

Иначе: сохранение типа списка.

rvmdloKeepLineBreaks

Обычно двойные пробелы или символ '\' в конце строк абзаца приводят к переносу строки.

Если эта опция включена, переносы строк в абзацах Markdown также приводят к переносам строк.

Этот параметр не влияет на вставки кода (во вставках кода переносы строк всегда заменяются пробелами) и блоки кода (в блоках кода переносы строк всегда начинают новые абзацы).

О загрузке уровней списка из Markdown

В Markdown списки имеют HTML-модель: одноуровневые списки, которые могут быть вложенными.

В ТРВ-Редакторе (как в Microsoft Word) списки могут иметь несколько уровней, но не могут быть вложенными.

В результате следующий список не может быть загружен как он есть (поскольку на втором уровне у него маркеры разных типов):

* itemA

  * itemAA

* itemB

  1. itemBA

 

Если опция rvmdloEnforceListLevels включена, этот список загружается как:

itemA (уровень 1)

oitemAA (уровень 2)

itemB (уровень 1)

oitemBA (уровень 2)

При его сохранении в Markdown получится код:

* itemA

  * itemAA

* itemB

  * itemBA

 

Если опция rvmdloEnforceListLevels не включена, этот список загружается как:

itemA (уровень 1)

oitemAA (уровень 2)

itemB (уровень 1)

1.itemBA (уровень 3) 

При его сохранении в Markdown получится код:

* itemA

  * itemAA

* itemB

  * 

    1. itemBA

Значение по умолчанию:

[rvmdloBasePathLinks, rvmdloCollapseWhitespace, rvmdloCollapseWhitespaceInCodeSpans, rvmdloEnforceListLevels]

 

См. также:

TRVRTFReaderProperties.BasePathLinks, TRVHTMLReaderProperties.BasePathLinks

TRVHTMLReaderProperties.EnforceListLevels