Голосуем за реализацию данного инструмента на автомате http://zebroid.com.ua/forum/topic/4006/
Сегодня мы научимся делать «Содержание документа», как в Википедии.
Для чего это нужно? Это улучшит юзабилити и качество документа. Яндекс любит, когда документ сделан для людей, вот этим то мы и сейчас займёмся.
Скажу сразу — необходимо будет сделать несколько различных манипуляций — поэтому потом сделаем «Каплю-макрос», который будет автоматически делать за нас всю работу.
Для начала, чтобы наша капля-макроса работала нужно определить Заголовки — по которым и будет формироваться Содержание. Данную процедуру необходимо делать вручную и без этого никак.
Что я имею ввиду: просмотрите свои документы — в них должны быть сформированы теги H1, H2, H3, H4...B,I… и т.д. Вот по этим тегам и будет наша капля-макроса на автомате делать Содержание.
БУДЕМ СОБИРАТЬ ДАННЫЕ ПО 3м ТЕГАМ: H2,H3,H4 (можно больше, но это вы уже сами по логике сделаете).
1)ПОИСК/ЗАМЕНА, СТАВИМ ГАЛОЧКУ «РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ. Нужно привести все теги (по которым будет формироваться содержание) в один вид.
Поиск:
<h2>([^<]+)</h2>
Замена:
<br>< b>1332\1</b>
О чём говорят эти строки: ищем всё, что внутри тега H2 — и переименовываем сам тег H2 — в <br><b>1332
Зачем? Чтобы было понятно — какие данные мы уже обработали.
То же самое проделываем с другими тегами, которые у вас есть в документе.
<h3>([^<]+)</h3>
<br><b>1333\1</b>
Данные "<br><b>1333" — должны отличаться — так как — нам нужно будет в конце — все теги поставить обратно.
<h4>([^<]+)</h4>
<br><b>1334\1</b>
и т.д. Можно какие угодно ставить теги для замены — хоть <I> <P> <U> — главное понимать, какое именно Содержание вы хотите видеть.
1.1) Записываем полученное правило замены в "soderj".
2) Вторым этапом мы формируем список Содержания и записываем его в самое начало документа. По необходимости потом вы сможете перенести отображение "Содержания" в любое другое место страницы.
ПОИСК/ЗАМЕНА, СТАВИМ ГАЛОЧКУ "РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ
Поиск:
(.*)<br><b>([^<]+)</b>(.*)
Замена:
<a href="#\2">\2</a><br></menu>
\1<br><b1 id="\2">\2</b>\3
Аналогичную запись повторяем ещё около 7 раз — т.к. данный код должен идти циклично.
2.1) Записываем полученный правило замены в "soderj2".
3) После сформирования "Содержания" вернём прежнию разметку документа, т.е. H1, H2....
Поиск:
<b1 id=\"1332([^<]+)">1332([^<]+)</b>
Замена:
<h2 id="\1">\2</h2>
Для других тегов аналогично, не забывая при этом прежних данных для разных тегов.
<b1 id=\"1333([^<]+)">1333([^<]+)</b>
<h3 id="\1">\2</h3>
<b1 id=\"1334([^<]+)">1334([^<]+)</b>
<h4 id="\1">\2</h4>
3.1) Записываем полученный правило замены в "soderj3".
4) Теперь приведём "Содержание" в красивый вид. Сделаем ограничение по длине в 50 знаков.
записываем:
soderj4
4.1) Записываем полученный правило замены в "soderj4".
5) Окружаем Содержание тегом <menu></menu> для того, чтобы можно было эти данные перенести в нужное место страницы или переместить в доп. поля.
soderj5
5.1) Записываем полученный правило замены в "soderj5".
6) Самое основное мы сделали, необходимо создать настройку для "Расставить произвольный код" и записать саму "Каплю-макрос".
И так:
идём в Обработка текста — "Расставить произвольный код", создаём запись:
<start>
Устанавливаем галочку "В начале статьи".
Всё, как на рисунке:
6.1) сохраняем как "start".
6.2) Идём в Каплю-макрос и создаём задание по очереди вписывая (если одно и то-же значение, значит нужно повторное действие производить:
Поиск и замена soderj1
Поиск и замена soderj2 (возможен повтор)
Поиск и замена soderj3
Поиск и замена soderj4
Расстановка произвольного кода start
Поиск и замена soderj5 (возможен повтор)
Поиск и замена soderj5 (возможен повтор)
Поиск и замена soderj5 (возможен повтор)
Обратите внимание, что некоторые поля повторяются, это всё зависет от того — на сколько длинное будет формироваться Содержание.
Если содержание имеет более 7 записей, то НУЖНО повторять действия для: soderj2 и soderj5. В данном случае — лучше больше — чем меньше и тогда ошибок не будет.
6.3) Сохранить каплю-макрос
Наконец всё готово и оно замечательно работает!
Посмотрите теперь, как выглядит наш документ в Зеброиде:
п.с. Уверен, есть и другие методы, как легче сделать работу выше, но для меня — этот вариант ближе.
Голосуем за реализацию данного инструмента на автомате http://zebroid.com.ua/forum/topic/4006/
9 комментариев
17 апреля 2014, 20:29
timaalex17 апреля 2014, 20:50
Vladimir199718 апреля 2014, 01:08
iptipsЗа статью спасибо.
19 апреля 2014, 20:56
AleksanderDream20 апреля 2014, 02:34
iptips28 апреля 2014, 10:02
b2bzebroid.com.ua/forum/topic/4006/
8 мая 2014, 10:50
BoBkaShaxVя не понял куда это записать, разъясните если не трудно данный пункт по подробней новичку
9 мая 2014, 17:51
b2b23 апреля 2020, 20:26
iehonОбработка текстов — содержание статей.
Можно выбрать место вставки. Но если пользуетесь CMS можно выводить через плагины TOC.