Разметка подзаголовков, чистка пустых строк v3.2

Разметка подзаголовков, чистка пустых строк v3.2

Скрипт превращает код вида

‹p›***‹/p›

‹p›* * *‹/p›

‹subtitle›***‹/subtitle›

‹title›‹p›***‹/p›‹/title›

‹title›‹p›* * *‹/p›‹/title›

в

‹subtitle›* * *‹/subtitle›

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

^(|)**((|)*(*))?((|)*(*))?(|)*$

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

Пустые строки (далее – ПС) непосредственно перед и непосредственно после подзаголовков (всех) удаляются. В случае с ‹title› разрыв секции перед этим тэгом ликвидируется. По информации от jurgenntа преобразование title – › subtitle может быть опасно для файлов, где используется заголовок (не стиха, а простой) из трех звездочек, чтобы «одноименное» стихотворение попало в оглавление.

Также удаляются тэги ‹empty-line/› в начале и конце секции («в начале» в данном случае значит не только сразу после ‹section›, но и после ‹title›, ‹epigraph› и пр.).

Удаляются ПС перед и после тэгов ‹cite› и ‹poem›.

Последовательности из нескольких ПС заменяются на одну ПС.

Удаляются ПС внутри ‹poem›, т. к. они препятствуют валидности документа. ПС внутри тегов ‹title› также удаляются.

ПС, нужные для того, чтобы секция была валидной, не удаляются при описанных выше действиях скрипта.

За ПС во всех указанных случаях считаются: абзацы, которые из чисто текстового содержимого (не считая тэгов) либо не имеют вообще ничего, либо представляют комбинацию произвольного количества пробелов и неразрывных пробелов; тэги ‹empty-line/›.

Некоторые подверсии скрипта умеют удалять жирность и курсив в заголовках.

Всего подверсий скрипта в архиве – четыре:

1. Разметка подзаголовков, чистка пустых строк;

2. Разметка подзаголовков, чистка пустых строк, удаление жирности в заголовках;

3. Разметка подзаголовков, чистка пустых строк; удаление жирности в заголовках по запросу;

4. Разметка подзаголовков, чистка пустых строк, удаление жирности и курсива в заголовках.

Слова «…по запросу» в названии третьего скрипта означают то, что при запуске скрипта выскакивает окошко, в котором можно выбрать, удалять жирность в заголовках или нет.