Как создать скомпилированный файл справки в формате html
При разработке программы хорошим тоном является снабжение этой программы справочной системой. И чем сложнее программа, тем более необходимой оказывается справочная система.
Имеется много различных способов и средств для разработки справки. Рассмотрим один из них — это разработка справочной системы в виде файла с расширением chm при помощи бесплатной программы HTML Help Workshop фирмы Microsoft.
Формат CHM ( Compiled HTML — скомпилированный HTML) широко используется фирмой Microsoft для создания справочных файлов к своим продуктам.
При разработке справочной системы есть смысл придерживаться следующего порядка:
продумать общую схему справочной системы, т.е. какие темы должны быть отражены в справке;
написать все тексты по пунктам справки. Использовать лучше обычный текстовый редактор, например Writer из OpenOffice.org (OOO);
готовые тексты конвертировать в формат html . В ООО для этого достаточно выбрать пункт меню Файл/Сохранить как и сохранить в формате html (тип файла — Документ HTML );
создать новый проект справочной системы и включить в него тексты справки в формате html .
Рассмотрим последний пункт более подробно.
Создание нового проекта
Создать новый проект очень просто. Рассмотрим этот процесс по шагам:
Запускаем программу HTML Help Workshop:
Выбираем пункт меню File/New и в открывшемся окне диалога New выбираем строку Project и нажимаем на кнопку OK .
Появится первое окно мастера. В нём нам нечего делать, поэтому сразу нажимаем клавишу Далее .
Во втором окне мастера задаём имя проекта, например HelpAlfa, и определяем папку, где будет находится этот проект. Лучше всего указать ту же папку, где хранятся ранее созданные файлы справки в формате html .
В третьем окне мастера можно сразу же добавить файлы справки в проект, но лучше это сделать позже без использования мастера. Поэтому опять нажимаем кнопку Далее .
В последнем окне остаётся только нажать кнопку Готово .
Всё, проект создан. Он имеет расширение hhp . Так будет выглядеть окно программы HTML Help Workshop:

Сохраним файл проекта.
Добавление новых файлов справки
Во вкладке Project нажимаем вторую сверху кнопку Add/Remove topic files ( Добавление/Удаление файлов разделов ). Открывается окно Topic Files , нажимаем на кнопку Add и в окне диалога выбираем нужные файлы для нашей справки в формате html . В конце необходимо нажать на кнопку OK для подтверждения своего выбора. Для удаления ненужных файлов служит кнопка Remove .
Теперь в основном окне вкладки Project кроме секции [OPTIONS] появилась секция [FILES] с перечнем тех файлов, что мы только-что выбрали:

Создание оглавления
После того, как все файлы справки добавлены в проект, можно приступить к созданию оглавления. Выполним следующие действия:
В окне файла проекта выбираем вкладку Contents . В появившемся окне диалога выбираем пункт Create a new contents file ( Создание нового файла оглавления ) и нажимаем кнопку OK .
В открывшемся стандартном диалоге Сохранить как задаём имя файла оглавления. Оно получит расширение hhc . Я дал оглавлению имя Oglavlenie. В папке с проектом справки был создан файл Oglavlenie.hhc.
После этого будет открыта вкладка Contents , имеющая свой набор инструментов, расположенных слева:

Теперь самое важное: необходимо связать пункты оглавления с соответствующими им файлами справки (для «книги» это не всегда требуется, а для «страницы» это обязательно).
Добавление «книги». На панели инструментов щелкаем по кнопке Insert a heading , открывается окно Table of Contents Entry ( Вход в таблицу оглавления ) и в поле Entry title ( Заголовок входа ) набираем текст, например «Часть 1» и сразу нажимаем OK , если «книга» не имеет собственного текста. Если для неё нужен свой текст, то нажимаем кнопку Add , затем Browse , выбираем имя файла и нажимаем кнопку OK , а затем снова OK .
Добавление «страницы. Щелкаем по кнопке Insert a page , также открывается окно Table of Contents Entry и в поле Entry title набираем поясняющий текст, например, «Введение», затем нажимаем кнопку Add , затем Browse , выбираем имя файла и нажимаем кнопку OK , а затем снова OK .
И так последовательно заводим всё оглавление. Как видим, всё достаточно просто.
Редактирование оглавления
Выделив необходимый пункт оглавления, его можно отредактировать.
Прежде всего, необходимо убедится в правильности следования пунктов оглавления. Для перестановки вверх служит кнопка Move selection up ( Переместить выделенное вверх ), для перестановки вниз — Move selection down ( Переместить выделенное вниз ).
Затем с помощью кнопок Move selection right ( Переместить выделенное вправо ) и, при необходимости, — Move selection left ( Переместить выделенное влево ), определяем вложенность пунктов оглавления.
Внешний вид значка для «книги» можно подредактировать. Выделяем нужный объект («книга»), нажимаем кнопку Edit selection , открываем вкладку Advanced и в списке Image index вместо auto выбираем, к примеру, 1 (Внимание! «Книга» не должна быть пуста, т.е. в неё должна входить хотя бы одна страница).
Пример того, что может получиться.

А вот так справочная система будет выглядеть в работе:

Выходной файл будет иметь имя HelpAlfa.chm.
Создание предметного указателя
Предметный указатель, по своей сути, является альтернативой оглавлению. Есть смысл создавать предметный указатель только в том случае, когда справочная система велика, и поиск по оглавлению получается долгим.
Порядок создания предметного указателя аналогичен порядку создания оглавления. Рассмотрим это по шагам:
В окне проекта щёлкаем по вкладке Index . В появившемся окне выбираем пункт Create a new index file и нажимаем на кнопку OK .
В открывается окне диалога Сохранить как задаём имя индексного файла. Можно согласиться с тем, что идёт по-умолчанию: Index.hhk. Окно проекта будет выглядеть так:

На вертикальной панели инструментов щёлкаем по второй сверху кнопке — Inset a keyword ( Вставить ключевое слово ). На экране появится окно Index Entry ( Вход указателя ).
В поле Keyword ( Ключевое слово ) набираем необходимое ключевое слово, например, «Функции». Именно в таком виде это слово будет показываться во вкладке Указатель панели навигации справочника.
Теперь необходимо связать ключевое слово с разделом справочника. Нажимаем кнопку Add ( Добавить ), в новом окне нажимаем кнопку Browse ( Выбор ) и указываем имя файла. Здесь же необходимо заполнить поле Title .
Таким же образом заполняем информацию для остальных ключевых слов.
Редактирование предметного указателя
Предметный указатель можно упорядочить — кнопка Sort keywords alphabetically ( Сортировать в алфавитном порядке ).
Есть и другие возможности по редактированию предметного указателя, но на них мы не останавливаемся.
Подключение файла со справочной системой к программе на C#
После создания файла справки, его необходимо подключить к нашей программе. Всё рассмотрим на элементарном примере. Пусть имеется простейшая программа с пунктами меню Файл/Выход и Помощь/Справка . Создадим для них необходимые обработчики.
Текст файла MainForm.cs:
public partial class MainForm : Form
Как создать скомпилированный файл справки в формате html
Интернет хорош тем, что он заполнен общедоступными справочными материалами по самым разным областям.
Задача — подать эти справочные материалы в самой удобной для использования форме.
Методы создания справок
Справки можно создавать вручную или использовать для этого специализированные программы.
Каждый, кто имеет некоторое представление о создании html-страниц, сможет быстро создать справку. Для этого достаточно создать страницы справки и оглавление. Оглавление содержит список тем (страниц), к которым можно быстро перейти, используя ссылки. Пример такой справки — данная страница (оглавление расположено на левой стороне страницы).
Другой метод, который более часто применяется при создание справок — это применение фреймов (рамок) см. Фреймы . В этом случает в одну из рамок помещают заголовок справки, в другую — оглавление справки, в третью — само содержание справки. Преимущество этого метода в том, что при просмотре страниц справки две первые рамки (с заголовком и оглавлением) остаются неизменными и загружается только содержание справки, т.е. отдельные страницы.
В том случае, когда справка должна иметь много разделов, под-разделов и страниц, указанные выше простые методы могут оказаться неудачными, т.к. оглавление справки начнет разрастаться в размерах и им становится неудобно пользоваться (Вы можете представить оглавление со списком страниц высотой в метр или более ?).
Для таких больших справок обычно применяется в качестве оглавления многоуровневый раскрывающийся список — при щелчке по разделу раскрывается дополнительный список под-разделов, при щелчке по под-разделу — раскрывается список составляющих его страниц. Обычно для создания справок достаточно трехуровневого раскрывающегося списка.
Для создания раскрывающегося списка применяется код JavaScript. Вы можете освоить JavaScript и создавать код раскрывающихся списков самостоятельно.
Или Вы можете применить специальные программы, способные создавать раскрывающиеся списки в визуальном режиме, например Sothink DHTML Menu, Xara Menu Maker, Easy CSS Menu, HTML TreeView Generator и другие (см. Навигация — Обзор программ ).
В этом случае достаточно вставить созданный спецпрограммой раскрывающийся список на страницу — и оглавление справки практически готово — см. Пример (раскрывающий список создан в бесплатной программе HTML TreeView Generator).
Еще более простой способ создания справок — применить программы, специально для этого предназначенные.
В этом случае даже не нужно знать html, css, javascript — работа во всех спецпрограммах по созданию справок ведется в визуальном режиме, и программа сама создает исходный код.
Некоторые программы позволяют добавлять к справке эффекты, используя jQuery (например — создается справка с временно исчезающим оглавлением, чтобы освободить место на экране компьютера).
На самом деле большинство программ для создания справок могут выполнять более широкие задачи — создавать не только справки, но различную техническую документацию, каталоги, обзоры коллекций, книги и пр. Короче говоря, программы для создания справок применяются, когда нужно систематизировать большой объем данных и подать его в наиболее удобной форме.
Справки могут создаваться в нескольких форматах, из которых наиболее распространены форматы CHM, Web Help и HTML.
CHM (Compiled HTML Help) или HTML Help, или Windows CHM — формат Microsoft. Чаще всего формат используется, чтобы создать справки для программ (так называемые контекстные справки), работающих в системах Windows.
Формат CHM позволяет объединить несколько отдельных файлов в один файл. Справка используется без подключения к Интернету.
Подробнее о формате CHM
Web Help или Browser-based Help — формат справки, которая размещается в Интернете (на сайте). Как уже понятно из названия, для того чтобы можно было пользоваться справкой, нужно подключение к Интернету.
Подробнее о формате Web Help
HTML — Справка формата HTML может располагаться на Вашем сайте, и пользователи могут ее рассмотреть через свой браузер. При создании справки использованы фреймовая структура, html, css и нет javascript. Оглавление представляет из себя обычный (не раскрывающийся) список, нет поиска, списка индексированных слов и избранного.
Пример справки формата HTML (для сравнения — эта же справка в формате Web Help)
Также применяются и другие форматы справок — PDF, в формате документов Word, e-Book, JavaHelp и другие. Подробнее
При необходимости можно преобразовать один формат справки в другой, например преобразовать формат CHM к формату Microsoft Word (или наоборот).
Компиляция (сборка) — объединение отдельных файлов (html, css, javascript) в один файл. Пример скомпилированного файла — .chm.
Декомпиляция — операция, обратная компиляции (разборка единого файла на составляющие его части).
Контекстно-зависимая справка позволяет пользователям легко переходить к разделам справки, касающимся выполняемых ими операций в той или иной программе.
Для создания контекстно-зависимой справки используются справки формата CHM (для этого нужно, чтобы справка была «прикручена» к программе).
Справка программы обычно вызывается при щелчке по кнопке Help (Справка), которая имеется в большинстве программ, или с помощью клавиши F1. При этом открывается справка программы со всем ее содержимым.
Но контекстно-зависимая справка позволяет перейти не только к справке программы, а и к определенному разделу справки. При этом нужный раздел справки открывается при выполнении определенной операции или при воздействии на какой-то элемент интерфейса программы.
Справка состоит из нескольких элементов:
— набор страниц справки
Оглавление — обеспечивает переход к нужной странице справки
Оглавление также часто называют TOC (table of contents). Оглавление представляет из себя раскрывающийся список и расположено на левой стороне окна справки. Все пункты (под-пункты, страницы) оглавления помечены специальными значками.
Индекс (Index) — список индексированных (ключевых) слов. В список включаются слова (сочетания слов), которые облегчают пользователям справки переход к нужному разделу справки или к разъяснению некоторых слов и терминов. Список индексированных слов создается автором справки.
Поиск — позволяет пользователям искать любое слово или фразу в справке. Программы по созданию справок создают поиск автоматически.
Избранное (Favorites или Bookmark) — Создается пользователем справки. В список избранного пользователь может включить все нужные ему разделы справки.
Примечания :
1. В более широком смысле к программам для создания справок можно отнести также программы, которые способны создавать видео-обучающие материалы ( так называемые скринкасты ) — см. Снимки экрана. В данный обзор включены некоторые из программ, подобного рода.
2. Вы можете создать справочник по любой теме, используя специальные программы — Записные книжки . Но такие справки нельзя разместить в Интернете, т.к. они просматриваются в программах-создателях. Поэтому эти справки создаются только для личного пользования.
Файлы справки (справка HTML)
Указанные ниже файлы создаются, когда вы добавляете в приложение поддержку справки типа «Справка в формате HTML», установив флажок Контекстная справка и выбрав Формат справки HTML на странице Дополнительные функции мастера приложений MFC.
| Имя файла | Расположение каталога | Расположение в обозревателе решений | Description |
|---|---|---|---|
| Имя_проекта.hhp | Имя_проекта\hlp | файлы справки HTML | Файл проекта справки. Он содержит данные, необходимые для компиляции файлов справки в файл HXS или CHM. |
| Имя_проекта.hhk | Имя_проекта\hlp | файлы справки HTML | Содержит индекс разделов справки. |
| Имя_проекта.hhc | Имя_проекта\hlp | файлы справки HTML | Содержимое проекта справки. |
| Makehtmlhelp.bat | Имя_проекта | Исходные файлы | Используется системой для сборки проекта справки при компиляции проекта. |
| Afxcore.htm | Имя_проекта\hlp | Разделы справки HTML | Содержит стандартные разделы справки для обычных команд MFC и объектов экрана. Добавьте собственные разделы справки в этот файл. |
| Afxprint.htm | Имя_проекта\hlp | Разделы справки HTML | Содержит разделы справки для команд печати. |
| *.Jpg; *.Gif | Имя_проекта\hlp\Images | Файлы ресурсов | Содержат изображения для различных формируемых разделов в файлах справки. |
Как создать CHM файл (HTM2CHM и HTML Help Workshop в действии)
CHM — это расширение файла в формате Compressed HTML Help. Формат был разработан Microsoft для гипертекстовых справочных систем. Для просмотра CHM файлов достаточно наличия в системе Internet Explorer. У CHM файлов, как правило, есть Содержание — отдельная панель со списком статей для упрощения навигации. В наличии содержания, пожалуй и заключается главное отличие CHM файлов от использовавшихся ранее HLP файлов справки Windows. Несколько человек интересовались процессом создания моего учебника по автоматической установке Windows в формате CHM, а в двух словах это не описать. Изложенное ниже руководство применимо к созданию любого CHM файла, обладающего древовидной структурой отображения страниц в содержании, индексом, полнотекстовым поиском с поддержкой логических операторов и возможностью добавления страниц в избранное. Рассказ отражает мой личный опыт, и не исключено, что есть более простой путь (особенно при использовании специализированных и недешевых программных продуктов). Предполагается, что все HTML страницы, которые вы хотите включить в CHM уже подготовлены: в них работают все внутренние ссылки и отображаются картинки и прочие объекты. Речь в рассказе пойдет в основном о создании и компиляции CHM файла.
Давид и Голиаф (HTM2CHM и HTML Help Workshop)
Для создания оффлайн версии сайта использовались две бесплатные программы: Microsoft HTML Help Workshop и HTM2CHM (если заголовок параграфа вызвал у вас недоумение, то смотрите примечание 🙂 . По ходу рассказа я объясню, почему не удалось обойтись лишь одной из них.
| HTM2CHM — маленькая программа, написанная Ярославом Кирилловым. Программа обладает русским интерфейсом и интуитивно понятна. Если вы не планируете снабжать свой CHM файл полнотекстовым поиском и индексом, a расширенные настройки внешнего вида CHM файла вам не нужны, то наверное не стоит городить огород с HTML Help Workshop. Создать файл Содержания и выстроить страницы в желаемом порядке, назначив им различные иконки можно и в HTM2CHM. Мне же возможностей этой программы не хватило — я посчитал, что для почти сотни страниц учебника нужен полнотекстовый поиск, а также не помешает индекс. |
| Поэтому пришлось задействовать HTML Help Workshop — творение программистов Microsoft. В отличии от HTM2CHM, программа не очень интуитивно понятна и русского интерфейса у нее тоже нет. Зато функционально она меня устроила всем, кроме того что не сумела корректно сформировать файл содержания из кириллических заголовков страниц. В заключение этого мини-сравнения хочу сказать, что у HTML Help Workshop получился намного более компактный учебник (у HTM2CHM размер выходного файла оказался в 1.5 раза больше). Итак, перейдем к делу. Я изложу тонкости создания CHM в файла том порядке, в котором я создавал свой учебник. Рассказ о HTML Help Workshop будет длинным, но лишь потому, что первый раз требуется указать много настроек проекта (в дальнейшем изменить уже имеющийся проект намного проще). |
Давид (HTM2CHM)
Работа с программой не должна вызвать затруднений даже у чайников — настолько все понятно и просто. Я рассмотрю создание содержания и компиляцию CHM файла.
Создание содержания
Содержание — это фактически обязательная часть любого CHM файла. На этой закладке отображается список статей (страниц), входящих в файл. Будет ли этот список линейным или древовидным, зависит от структуры информации и в каком виде вы ее хотите преподнести читателю. За содержание отвечает файл с расширением .HHC, который иногда для краткости именуют TOC файлом (Table of Contents). С создания TOC файла мы и начнем. Как правило, названия статей для содержания генерируются из заголовков HTML страниц (тег TITLE). Для создания исходного файла содержания я как раз и использовал HTM2CHM, поскольку мне не удалось преодолеть проблему некорректного отображения кириллицы в TOC файле, сгенерированном HTML Help Workshop. Создание файла содержания в HTM2CHM — дело нехитрое. Запускаем HTM2CHM и видим список режимов работы программы.
| Выбрав Содержание, мы попадаем в окно генератора содержания, в котором нужно указать папку с HTML файлами, а также имя и расположение результирующего TOC файла. |
После генерации файла содержания откроется редактор, в котором все статьи, вошедшие в содержание будут отображаться вертикальным линейным списком.
| HTM2CHM позволяет отсортировать статьи в алфавитном порядке автоматически или сделать это вручную. Названия статей можно редактировать, а также назначать статьям индивидуальные иконки. Отмечу, что создание древовидной структуры и назначение иконок можно сделать и в HTML Help Workshop, однако в HTM2CHM это реализовано поудобнее. Например, в HTM2CHM для перемещения статей можно просто перетаскивать их мышью или делать это с нажатой клавишей CTRL, что намного удобнее, чем тыкать курсором в кнопку, перемещая за раз всего на одну позицию. Иконки тоже назначаются легко — трудно придумать что-то проще, чем выпадающее меню (у HTML Help Workshop смена иконки находится в свойствах страницы, да еще и на второй закладке). Короче говоря, я рекомендую привести файл содержания к желаемому виду в HTM2CHM, а уж если вам понадобятся дополнительные настройки CHM файла, то использовать для этого HTML Help Workshop. |
Компиляция
После того как файл содержания готов, можно переходить к компиляции CHM файла. В главном окне программы жмем большую кнопку Создать. И заполняем все поля, не забывая про только что созданный файл содержания. Через несколько секунд у вас будет готовый CHM файл. К сожалению, HTM2CHM не обладает возможностью создания полнотекстового поиска (или я не нашел такой опции), так что покончив с Содержанием, я продолжил работу над CHM файлом в HTML Help Workshop, в котором мне также открылись и другие возможности.
Голиаф (HTML Help Workshop)
За неказистым (и иногда не очень удобным) интерфейсом HTML Help Workshop скрывается очень мощный инструмент создания CHM файлов. Насколько мне известно, у программы нет русского лица (однако, русификаторы существуют), да и английский интерфейс не слишком информативен — иконки не имеют подписей и пока их не «выучишь», приходится наводить курсор мыши для получения всплывающей подсказки. Однако, функционально HTML Help Workshop превосходит HTM2CHM. Я опишу лишь те функции программы, которые использовал сам. Вообще, HTML Help Workshop снабжен достаточно подробной справкой (EN).
Создание нового проекта
Первое что нужно сделать — это создать новый проект (File | New).
| Выбираем Project и нам открывается мастер создания проекта. |
| На первом этапе предлагается конвертировать существующий WinHelp проект. Поскольку мы ничего не конвертируем, то флажок ставить не надо. |
| Указываем имя файла проекта (*.HHP) и папку, в которой он будет сохранен. |
| На этом этапе можно указать HTML файлы, которые мы включаем в проект, а также файл содержания и индекса (HHK). Я указываю только HTML файлы, а TOC файл, созданный в HTM2CHM, добавляю потом. |
| Добавляем HTML файлы. И на этом работа мастера завершается. |
По завершении работы мастера левая часть рабочего окна HTML Help Workshop выглядит примерно так.
Настройка внешнего вида
- Window with navigation pane, topic pane, and button — обязательно ставим флажок, чтобы навигационная панель отображалсь в скомпилированном CHM файле. Поставив флажок, мы видим остальные опции.
- Тabs — закладки навигационной панели
- Default Tab — активная закладка по умолчанию (при открытии файла)
- Search Tab и Advanced — закладка поиска и возможность расширенного поиска с использованием логических операторов
- Favorites tab — закладка Избранное
Закладка Buttons контролирует какие кнопки будут доступны на верхней панели скомпилированного файла. Выбор оставляю на ваше усмотрение.
Закладка Position позволяет задать размер окна и его расположение на экране. Рекомендую дать пользователю возможность автоматически запомнить размер и позицию после первого запуска CHM файла (Save user defined window position after first use). Можете также поиграть с кнопкой Autosizer.
На закладке Files указываем ряд важных файлов:
- Window — фокус по умолчанию при запуске (я выбираю Навигационную панель)
- TOC — файл содержания. Здесь я указываю файл, который ранее создал в HTM2CHM (путь нужно указывать, если только TOC не в одной папке с файлом проекта)
- Index — индексный файл (если вам нужен индекс — впишите туда index.hhk; о создании индекса я расскажу ниже)
- Default — страница, отображаемая при открытии CHM файла
- Home — домашняя страница (кнопка Home на панели)
Остальные закладки диалогового окна Window Types изучите самостоятельно.
Свойства проекта
Чтобы попасть в свойства проекта, делаем двойной щелчок на слове [Options] (в левой верхней части главного окна программы под закладкой Project) и идем по закладкам по порядку. Может я не уловил логики программы, но мне показалось, что часть настроек дублируются. Т.е. ниже вы увидите некоторые настройки, которые мы уже установили, ковыряясь во внешнем виде.
На закладке General нас интересуют:
- Title — название CHM файла (отображается в заголовке окна скомпилированного файла)
- Default File — страница (статья), которая отображается при открытии CHM файла
- Default Window — я выбираю Navigation Pane (навигационная панель с закладками в левой части CHM файла)
- Language — Russian (обязательно, если в Содержании кириллица)
На закладке Files мы указываем следующие параметры:
- Compiled File — имя и расположение скомпилированного файла
- Contents File — вот тут я и указываю TOC файл, созданный в HTM2CHM
- Index file — (если вам нужен индекс — впишите туда index.hhk; о создании индекса я расскажу ниже)
- Include keywords from HTML file — эта опция предполагает наличие заранее сформированных ключевых слов в HTML файлах для создания индекса. См. ниже.
- Full text search stop file — текстовый файл с расширением STP, содержащий слова, которые вы хотите исключить из полнотекстового поиска. См. ниже.
Едем дальше — закладка Compiler. Здесь мы отмечаем лишь Compile full-text search information (если, конечно, нужен полнотекстовый поиск).
На этом начальную настройку проекта можно считать завершенной. Теперь можно уже переходить к компиляции. Если вас интересует создание индекса и исключение слов из поиска, то читайте дальше.
Создание индекса
Где-то в тексте справки к HTML Help Workshop мне встретилась фраза, что пользователи чаще обращаются к индексу, чем к поиску. Не знаю насколько это верно, но мне вообще хотелось иметь индекс, чтобы было все профессионально 🙂 Добавить ключевые слова для индекса в каждую страницу можно через интерфейс HTML Help Workshop или вручную в каждую страницу. Я изложу оба способа.
Добавление ключевых слов через интерфейс Workshop
Через интерфейс программы ключевые слова добавляются на закладке Index. Я обойдусь без скриншотов, так как там трудно промахнуться (окна будут фактически аналогичны тем, что приведены в рассказе о редактировании проекта). Нажимаем на вторую сверху иконку с изображением ключа и получаем окно в котором нужно ввести ключевое слово и кнопкой Add выбрать страницу, к которой слово будет относиться. Одно ключевое слово может относиться к нескольким страницам — просто добавляйте их все в том же окне. В итоге индекс будет сохранен в файл index.hhk, который несмотря на расширение является текстовым файлом, содержащим гипертекстовую разметку (HTML).
Я, однако, избрал другой способ, и теперь уже точно не помню почему. Если память мне не изменяет, кириллические ключевые слова, добавленные через GUI, впоследствии некорректно отображались в CHM файле. Так что прежде чем наполнять индекс тысячами слов проверьте как у него дела с кириллицей 🙂
Внесение ключевых слов в HTML код
В код HTML страницы после тега BODY вносится следующий текст (приводится скриншот, т.к. данный HTML код вырезается скриптом сайта):
Непроизносимый набором символов лучше скопировать 🙂 Вообще, это одна строка, просто на скриншоте сделан перевод строки.
object type=»application/x-oleobject» classid=»clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e»
Очевидно, что можно указать несколько ключевых слов — они все будут указывать на статью, в текст которой они были внесены. В итоге я методом Search&Replace внес эту абракадабру во все страницы, а потом потихоньку добавлял ключевые слова.
Ни один из способов особо быстрым не назовешь. Так или иначе приходится назначать ключевые слова страницам вручную, и как это автоматизировать непонятно. Если вам известен более простой способ, то я буду рад о нем узнать.
Исключение слов из полнотекстового поиска
Исключить слова из полнотекстового поиска можно, поместив их в обычный текстовый файл (одно слово на строку) и сохранив файл с расширением STP. В виде исключений я использовал слова, которые часто упоминаются на страницах, но вряд ли нужны при поиске. Фрагмент файла:
Автор в вас все для до и Иcточник из или им на не но Опубликована переведено по при Распечатано с так то у что эти этот я XP Windows unattended загрузить ссылка ссылке
Не скажу, что мне удалось реально сэкономить на размере файла таким образом. Используя список на 70 слов я сэкономил 30 кб. Однако, для больших CHM файлов с длинным списком слов-исключений это вполне может иметь смысл.
Компиляция
Если у вас есть по крайней мере файл содержания и список страниц, можно попробовать запустить компиляцию и посмотреть, что получается. Делается это через меню File | Compile или по нажатию третьей кнопки слева на верхней панели инструментов.
Получаем предложение сохранить все файлы и показать скомпилированный файл по окончании компиляции. Через несколько секунд или минут (в зависимости от кол-ва материала и/или скорости компьютера) получаемый желаемый и любимый CHM файл. Смотрим что получилось. Если чего-то не хватает, проверяем настройки и компилируем снова.
Редактирование существующего проекта
Ну вот примерно такая картина наблюдается у меня на закладке Contents. Сразу видно, что файл содержания из HTM2CHM был принят как родной.
Слева панель инструментов, кнопки которой означают:
- Свойства содержания
- Добавить заголовок (секцию). Предварительно нужно выбрать страницу, после которой будет вставлен заголовок.
- Добавить страницу. Предварительно нужно выбрать страницу, после которой вставляется новая.
- Редактировать выбранную страницу или заголовок
- Удалить выбранную страницу или заголовок
- Перемещение страниц (перетаскивания нет)
- Посмотреть исходный код HTML (и внести изменения)
- Сохранить файл
Допустим, нам нужно добавить статью. Нажимаем на иконку с изображением вопросительного знака (3) и видим диалог добавления статьи.
Здесь все делается в таком порядке:
- Название статьи
- Добавить статью
- Выбрать статью
- Статья добавлена
На этом же скриншоте видна закладка Advanced, перейдя на которую можно назначить странице иконку. Однако, она недоступна в режиме создания новой статьи. А вот после создания — в режиме редактирования (кнопка с изображением карандаша (4)) иконку статье уже можно назначить.
Все изменения сохраняются в файле проекта с расширением HHP. По сути это текстовый файл в формате INI — его можно даже поправить руками (например, внести новые страницы в список).
Так победил ли Давид Голиафа?
Все зависит от поля боя 🙂 Я вот наоборот пытался их подружить. И в связке эти две программы неплохо сработали. Другое дело, что сгенерировав содержание в HTM2CHM, я больше к ней не возвращался, а продолжаю редактировать проект в HTML Help Workshop, но на то у меня были свои причины.
А вообще, создание CHM файла не такая уж и сложная задача. Простой CHM файл можно создать при помощи HTM2CHM за три-четыре минуты. Потом можно потратить еще час на доводку, если редактировать меню и баловаться иконками страниц. HTML Help Workshop займет побольше времени, особенно на начальном этапе. Однако разобравшись с настройками и меню, вы будете тратить совсем немного времени на создание более функциональных и компактных файлов.
Если у вас есть на примете другие бесплатные (и удобные) инструменты для создания CHM файлов, то я буду признателен за ссылки на сайты программ.
Согласно библейскому описанию, во время войны между филистимлянами и израильтянами Голиаф и Давид были избраны своими соплеменниками для единоборства, которое должно было решить исход битвы: победивший в поединке завоевывал победу своей стороне. Голиаф был шести локтей и пяди ростом (т.е. более 3 м). Давид, человек обычного роста, не облаченный в тяжелые доспехи, использовал в поединке только пращу. Выпущенный им камень попал Голиафу в лоб, расколол ему череп и убил его. Назад к тексту
