Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Регулярные выражения

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

AZJIO



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Очень интересен процесс создания полученного chm
частично ручной подход, может этим и интересен.
1. Скачивание страниц, как оказалось на главной не сотни ссылок, а ссылка на 10 страниц в которых внутренние ссылки, значит не пришлось использовать прогу скачивающую сайт.
2. Переделка ссылок на внутренние. Обычно ссылки на домен а в домене на внутреннюю структуру папок, поэтому тупо заменить домен на ничего и страницы начнут ссылаться от текущей папки. Ну ещё проверить наличие оставшихся ссылок на другой домен или не детектировались. Обычно использую TextReplace и Notepad++ для поиска и замены.
3. Делаем содержание TOC.hhc. В теории оно у нас есть в index.htm, нам нужно ссылки такого вида
Код:
<li><a href="ссылка.htm">Видимый_текст</a></li>
заменить на ссылки такого вида

Код:
<li><OBJECT type="text/sitemap"><param name="Name" value="Видимый_текст"><param name="Local" value="html/ссылка.htm"></OBJECT>
Как видно так как части меняются местами, то придётся использовать группы в регвыре, примерно так:
Код:
(?m)<li><a href="(.+?)">(.+?)</a></li>
<li><OBJECT type="text/sitemap"><param name="Name" value="\2"><param name="Local" value="html/\1"></OBJECT>
у нас осталось поменять шапку и ботинки концовку. Хотя и концовка одинаковы, теги <ul> не удаляем они в принципе делают древовидным наш контент, то есть используются в TOC.hhc по прямому назначению. Всё, TOC.hhc создан.
4. Делаем index.hhk, нужно из TOC.hhc все ссылки вытащить и желательно сортировать. Можно удалить <ul> и убрать отступы, или вытащить ссылки, так:

Код:
<li><OBJECT[^\r\n]+?</OBJECT>
используя мою прогу RegExp, поставив флаг "Группы". Рег выр хочешь используй (?m) чтобы по строкам искал используя .+?, а хочешь так [^\r\n]+? тут результат одинаковый. Получил список сплошной столбик, копируешь его в свой шаблон, где уже готова шапки и концовка.
5. Файл проекта Project.hhp тоже берёшь шаблон и автоматом заменяешь имена на свои (дерева, индекса, заголовок, результирующий файл)
6. Для сборки нужна прога "HTML Help Workshop", ищи русскую сборку от gora.
7. Шаблон проектов: я себе заготовил несколько: обычный - как то что я выложил. Также есть разной степени компактности. Например справка содержит 1 страницу, значит дерево не нужно, панель не нужна. Или справка, как та что я выкладываю в своих прогах - там нет панели и нет вложенности в дереве, слева 4-10 страниц, справа контент, посмотри в TextReplace.
8. Забыл про стили. Файл style.css указываешь в каждой странице, пример у тебя есть. Если стиль внутри страниц, его можно вырезать и вставить ссылку на style.css
9. Конвертнуть UTF-8 в windows-1251. Тут есть несколько способов а) руками в Notepad++ если немного, б) скриптом, в) прогой TextReplace, в настройках указав ANSI (откроет любой и сохранит в ANSI) с заменой UTF-8 в windows-1251. Если не конвертировать то вкладка "поиск" не будет работать, также это увеличит размер файла допустим на 30%, но можно сжать прогой htm2chm на 20%.

Всего записей: 4409 | Зарегистр. 03-05-2006 | Отправлено: 09:34 07-08-2018 | Исправлено: AZJIO, 15:03 07-08-2018
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Регулярные выражения


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru