ZebroidСтатьиСоздаём "Содержание документа" на подобии Википедии

Создаём "Содержание документа" на подобии Википедии

Голосуем за реализацию данного инструмента на автомате 
https://zebroid.ru/forum/topic/4006/


Сегодня мы научимся делать «Содержание документа», как в Википедии.



Для чего это нужно? Это улучшит юзабилити и качество документа. Яндекс любит, когда документ сделан для людей, вот этим то мы и сейчас займёмся.
Скажу сразу — необходимо будет сделать несколько различных манипуляций — поэтому потом сделаем «Каплю-макрос», который будет автоматически делать за нас всю работу.

Для начала, чтобы наша капля-макроса работала нужно определить Заголовки — по которым и будет формироваться Содержание. Данную процедуру необходимо делать вручную и без этого никак.
Что я имею ввиду: просмотрите свои документы — в них должны быть сформированы теги H1, H2, H3, H4...B,I… и т.д. Вот по этим тегам и будет наша капля-макроса на автомате делать Содержание.

БУДЕМ СОБИРАТЬ ДАННЫЕ ПО 3м ТЕГАМ: H2,H3,H4 (можно больше, но это вы уже сами по логике сделаете).
1)ПОИСК/ЗАМЕНА, СТАВИМ ГАЛОЧКУ «РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ. Нужно привести все теги (по которым будет формироваться содержание) в один вид.

Поиск:

([^<]+)


Замена:

< b>1332\1
О чём говорят эти строки: ищем всё, что внутри тега H2 — и переименовываем сам тег H2 — в
1332
Зачем? Чтобы было понятно — какие данные мы уже обработали.
То же самое проделываем с другими тегами, которые у вас есть в документе.

([^<]+)



1333\1
Данные "
1333" — должны отличаться — так как — нам нужно будет в конце — все теги поставить обратно.

([^<]+)



1334\1
и т.д. Можно какие угодно ставить теги для замены — хоть

— главное понимать, какое именно Содержание вы хотите видеть.
1.1) Записываем полученное правило замены в "soderj".

2) Вторым этапом мы формируем список Содержания и записываем его в самое начало документа. По необходимости потом вы сможете перенести отображение "Содержания" в любое другое место страницы.
ПОИСК/ЗАМЕНА, СТАВИМ ГАЛОЧКУ "РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ
Поиск:
(.*)
([^<]+)(.*)
Замена:
\2

\1
\2\3
Аналогичную запись повторяем ещё около 7 раз — т.к. данный код должен идти циклично.
2.1) Записываем полученный правило замены в "soderj2".
3) После сформирования "Содержания" вернём прежнию разметку документа, т.е. H1, H2....
Поиск:
1332([^<]+)
Замена:

\2


Для других тегов аналогично, не забывая при этом прежних данных для разных тегов.
1333([^<]+)

\2


1334([^<]+)

\2


3.1) Записываем полученный правило замены в "soderj3".
4) Теперь приведём "Содержание" в красивый вид. Сделаем ограничение по длине в 50 знаков.
записываем:

soderj4


4.1) Записываем полученный правило замены в "soderj4".
5) Окружаем Содержание тегом для того, чтобы можно было эти данные перенести в нужное место страницы или переместить в доп. поля.

soderj5

9 комментариев

  • avatar

    17 апреля 2014, 20:29

    timaalex
    Спасибо… надо будет как-нибудь опробовать
  • avatar

    17 апреля 2014, 20:50

    Vladimir1997
    Может автор программы внесет эти макросы в дефолтные так чтобы не пришлось все это проделывать?
  • avatar

    18 апреля 2014, 01:08

    iptips
    для joomla есть спец. плагин которые делает это на автомате, насчет других систем не знаю.
    За статью спасибо.
  • avatar

    19 апреля 2014, 20:56

    AleksanderDream
    Хотелось бы узнать что за плагин для JOOMLA который проделывает все это автоматом?!
  • avatar

    20 апреля 2014, 02:34

    iptips
    autoTOC
  • 28 апреля 2014, 10:02

    b2b
    Голосуем за реализацию данного инструмента на автомате
    zebroid.ru/forum/topic/4006/

  • avatar

    8 мая 2014, 10:50

    BoBkaShaxV
    здравствуйте, я недавно купил программу и пытаюсь разобраться в ней) подскажите плиз пункт 1.1) Записываем полученное правило замены в «soderj».
    я не понял куда это записать, разъясните если не трудно данный пункт по подробней новичку
  • 9 мая 2014, 17:51

    b2b
    Это в продолжении пункта 1. В Поиске/замена сохраняете всё, что сделали в пункте 1 и называете это как«soderj»
  • avatar

    23 апреля 2020, 20:26

    iehon
    Теперь это реализовано проще:
    Обработка текстов — содержание статей.

    Можно выбрать место вставки. Но если пользуетесь CMS можно выводить через плагины TOC.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Популярные метки

cms Facebook FTP RSS wiki wordpress xml-rpc Zebroid автонаполнение автопостинг акция бан видео википедия вконтакте заливка Зеброид импорт инструменты капля-макрос картинки карты Ключи в тексте Метки настройки обновление обработка оптимизация оригинальные тексты парсинг переводчик перелинковка плагины постинг программа проект прокси регулярные выражения редактор сайт сателлит скидка скидки содержание документа социальные сети тексты уникализация форум экспорт Яндекс api CSS CSV Excel SQL SSH ucoz updater Word XML XSL аккаунты быстрый старт горячие клавиши дерево проекта дополнительные поля каптча категории ключевые слова командная строка комментарии меню новичкам орфография планировщик поиск профили публикация скачивание скрипты словари ссылки статья типы проектов транслитерация установка файлы чистка