Как создать скомпилированный файл справки в формате html
Перейти к содержимому

Как создать скомпилированный файл справки в формате html

  • автор:

Как создать скомпилированный файл справки в формате 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 был принят как родной.

Слева панель инструментов, кнопки которой означают:

  1. Свойства содержания
  2. Добавить заголовок (секцию). Предварительно нужно выбрать страницу, после которой будет вставлен заголовок.
  3. Добавить страницу. Предварительно нужно выбрать страницу, после которой вставляется новая.
  4. Редактировать выбранную страницу или заголовок
  5. Удалить выбранную страницу или заголовок
  6. Перемещение страниц (перетаскивания нет)
  7. Посмотреть исходный код HTML (и внести изменения)
  8. Сохранить файл

Допустим, нам нужно добавить статью. Нажимаем на иконку с изображением вопросительного знака (3) и видим диалог добавления статьи.

Здесь все делается в таком порядке:

  1. Название статьи
  2. Добавить статью
  3. Выбрать статью
  4. Статья добавлена

На этом же скриншоте видна закладка Advanced, перейдя на которую можно назначить странице иконку. Однако, она недоступна в режиме создания новой статьи. А вот после создания — в режиме редактирования (кнопка с изображением карандаша (4)) иконку статье уже можно назначить.

Все изменения сохраняются в файле проекта с расширением HHP. По сути это текстовый файл в формате INI — его можно даже поправить руками (например, внести новые страницы в список).

Так победил ли Давид Голиафа?

Все зависит от поля боя 🙂 Я вот наоборот пытался их подружить. И в связке эти две программы неплохо сработали. Другое дело, что сгенерировав содержание в HTM2CHM, я больше к ней не возвращался, а продолжаю редактировать проект в HTML Help Workshop, но на то у меня были свои причины.

А вообще, создание CHM файла не такая уж и сложная задача. Простой CHM файл можно создать при помощи HTM2CHM за три-четыре минуты. Потом можно потратить еще час на доводку, если редактировать меню и баловаться иконками страниц. HTML Help Workshop займет побольше времени, особенно на начальном этапе. Однако разобравшись с настройками и меню, вы будете тратить совсем немного времени на создание более функциональных и компактных файлов.

Если у вас есть на примете другие бесплатные (и удобные) инструменты для создания CHM файлов, то я буду признателен за ссылки на сайты программ.

Согласно библейскому описанию, во время войны между филистимлянами и израильтянами Голиаф и Давид были избраны своими соплеменниками для единоборства, которое должно было решить исход битвы: победивший в поединке завоевывал победу своей стороне. Голиаф был шести локтей и пяди ростом (т.е. более 3 м). Давид, человек обычного роста, не облаченный в тяжелые доспехи, использовал в поединке только пращу. Выпущенный им камень попал Голиафу в лоб, расколол ему череп и убил его. Назад к тексту

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *