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 |
|