home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
hmake400.zip
/
English
/
hymake.hlp
(
.txt
)
< prev
next >
Wrap
OS/2 Help File
|
2002-04-20
|
213KB
|
6,711 lines
ΓòÉΓòÉΓòÉ 1. Introduction ΓòÉΓòÉΓòÉ
With Hypermake (up to version 2.0 "MakeIPF"), you can easily create HTML files,
Winhelp files, MS HTML-Help files (with file extension CHM), OS/2 INF/HLP files
and RTF (rich text format) files for exporting to word processing software.
Instead of editing the HTML, RTF or IPF files directly, you enter a more simple
ASCII source text. Hypermake enables you to write a text in all these Hypertext
formats simultaneously. Links are created automatically; windows of different
headings levels can be shown simultaneusly with only one command; at the end of
a chapter, links to subchapters are created automatically and a lot of more.
Yet there's an OS/2, a Win32 (Windows 95, 98, ME, NT, 2000, XP) and - only
commandline - DOS version. If there's a demand for a Linux version, I will
publish it, too.
The Hypermake program exists in two different versions: HMAKE.EXE is a
commandline program without user interface and written for experts who want to
embed it in an external environment. HYMAKE.EXE is the program version with
user interface: an integrated editor, a settings notebook and other dialog
windows.
You can use Hypermake to write a short Homepage (in this case, it's Freeware),
but that's not the main job. It's useful for creating more complex Homepages,
scientific works or program documentation with content and index. Hypermake
points the focus to structured text, not to graphics - nevertheless, you can
embed graphic files in various kinds.
When using Hypermake, you have only to learn the much easier Hypermake source
format. You can write Hypermake files with the integrated Hypermake ASCII
editor or an external ASCII editor (with or without wordwrap, ISO or IBM
codepage). I have published the integrated Hypermake editor as a separate
Freeware: WSedit.
Hypermake includes a reverse converting mode from RTF an IPF to Hypermake
source format.
Hypermake has some powerful functions:
Automatic linking and indexing
Marking a word or a phrase of several words with a special character will
generate a link from all other occurrences of the word or phrase in the
document to the marked position and an entry in the index. External links
are supported in different ways. From OS/2 and Winhelp4 Help files, links
to the WWW are possible.
Automatic division into several HTML files
When creating HTML files, from one source file Hypermake creates several
target files in a new folder. This improves the performance while viewing
with browsers. Neither the author of the text nor the reader of the files
notices the separation into several files.
Automatic creation of contents
You will get a contents page with links to all chapters. In HTML you can
choose between an unordered list view and a Javascript contents tree view
where you can open and close subchapters.
Automatic generation of helptables and constants
For OS/2 and Windows help files, in the Hypermake source file you can
directly enter ID constants like "ID_buttonOK" to associate chapters of
your HLP file with buttons of your program. Hypermake generates a
helptable file you can include in your RC, C or PAS file.
Automatic Writing of links to subchapters
At the end of a window of a higher heading level, links to all
subchapters and to the next chapter at the same level will be created.
Automatic arrangement of several heading level windows
With only one command, two (IPF three) heading levels are placed
simultaneously on the screen (Frames). See window arrangement sample
output. Only the target format Winhelp3 does not support window
arrangement.
Simple creation of footnotes
The HTML footnotes are realized by frames, IPF footnotes appears in a
small footnote window for each footnote text.
Tables
You enter tables in the source text like in an ASCII text with a fixed
font. Hypermake transforms this simple formatting to HTML, RTF or IPF
table commands.
Automatic line drawing to generate boxes
Short commands
- for heading levels
- for choosing fonts
- to include bitmaps within a line of text
- to generate unordered lists and ordered lists.
subchapters:
Supported Hypertext formats
How Hypermake works
next chapter:
Graphical version HYMAKE.EXE
ΓòÉΓòÉΓòÉ 1.1. Supported Hypertext formats ΓòÉΓòÉΓòÉ
subchapters:
HTML
IPF (IBM Help)
Winhelp
RTF Rich text format
MS HTML-Help
next chapter:
How Hypermake works
ΓòÉΓòÉΓòÉ 1.1.1. HTML ΓòÉΓòÉΓòÉ
The Hypertext Markup Language HTML is a text file format where viewers
("browsers") are available for nearly all computer platforms. HTML files are
ASCII files containing normal text and commands written in brackets <>. The
most important feature of HTML files are links.
Normally, HTML files are placed on the Internet and not on local computers.
Nevertheless, it's possible and useful to read local HTML files, e.g. program
documentation.
The HTML format is the only Hypermake target format where the files can be
viewed directly without compiling with a second compiler.
Hypermake creates HTML files complying with the HTML version 3.2. The most
important new feature of HTML 3.2 are frames. HTML files created by Hypermake
containing frames can be viewed with older browsers nevertheless, of course
without frames functionality.
The HTML version 4.0 is not supported yet, but I will support new HTML features
in in new versions of Hypermake. I will support Stylesheets in the future.
The HTML code generated by Hypermake is always working fine together with
Netscape and with Microsoft browsers. I will not support proprietary HTML
dialects which are only shown correctly with a specific browser.
The W3C consortium defines the official HTML language. A list of current W3C
technical reports can be found at:
http://www.w3.org/pub/WWW/TR
ΓòÉΓòÉΓòÉ 1.1.2. IPF (IBM Help) ΓòÉΓòÉΓòÉ
IPF files (Information Presentation Facility) are the source format of the IBM
help format. The IPF syntax has got some similarity to HTML. Both languages are
part of the SGML markup language family. The IPF syntax is not as clear as the
HTML syntax and it is verbose and somewhat tedious to write.
IBM help is the help format of OS/2 and IBM PC-DOS 7. It's also used on Windows
platforms, especially if IBM programs for platform-independent software
development are used. Of all Hypertext formats, it's the fastest and has got
the best functionality.
IBM help files have got the extension INF or HLP. INF files can be viewed
alone. The HLP format is like the INF format, but enables links from the
described program to the hypertext. HLP files are part of the program.
Hypermake generates IPF files. The automatically generated IPF file is the
source file for the IBM program IPFC .
IBM INF and HLP files are compact binary files. The viewers of these files are
compact and very fast. IBM INF viewers are available for OS/2 (of course,
that's the format of all OS/2 docu), for Win16 and for DOS. The Windows IBM INF
Viewer for Win 3.1 is available on ftp://ftp.leo.org, filename win_inf.zip (225
kB). The DOS viewer is part of IBM DOS 7 and there's also a freeware program
(VIEW01.ZIP Compuserve OS2DF1).
If you are a Windows user and interested in this Hypertext format, then you can
download the Windows IBM INF Viewer. If you need an Hypermake generated IBM INF
file to test with, simply upload my OS/2 Shareware program pmCalc from my
Homepage.
In comparison to HTML or Winhelp3 browsers the IBM INF viewers have got some
powerful features with a particular benefits for large documents:
the Index is part of the binary INF file format
the content, too. Subchapters can be expanded and re-expanded like in a
directory tree
very fast text searching: Every word has only one occurence in the binary
INF format. From this word there are pointers to the location of the
text. You can search some MB of text in only one second - the user gets a
window with all chapters containing the word.
Several INF files can be put together by commandline parameters of the
viewer. The user sees one big help file with one content and one index.
All important HTML functionality like Tables, Frames, Graphics, is also part
of the IBM INF format.
ΓòÉΓòÉΓòÉ 1.1.3. Winhelp ΓòÉΓòÉΓòÉ
Winhelp is a binary hypertext format. The source format for generating binary
Winhelp files is a special RTF text format (Rich Text Format). It's nearly
impossible to write RTF files directly. Microsoft has decided to stop
development of Winhelp. Instead, MS HTML-Help will be the new Help format for
Windows 98, Windows 2000 and later. Anyway, because Winhelp is smaller and
faster, a lot of authors/software developer still prefer Winhelp.
Winhelp files can be started seperately and can also be part of a program.
There are two different versions of Winhelp: Winhelp version 3 and Winhelp
version 4. (In this document, it's simply named Winhelp3 and Winhelp4.)
Winhelp3 is the help format of Windows 3.1, Winhelp4 is the help format of
Windows 95 and Windows NT.
The Winhelp viewer of Windows 95 and Windows NT and later can read both Winhelp
formats, the Windows 3.1 viewer can only read Winhelp3. But if Win32s in
version 1.30 or later is installed, Windows 3.1 can also read Winhelp4 help
files.
Winhelp4 has got some additional features in comparision to Winhelp3:
There's a content file (CNT file) with a tree view of the headings. (You
need to ship the CNT file together with the HLP file.)
The Hypermake HTML frames functionality is also interpretated in
Winhelp4. Instead of frames, you will get two help windows, one for the
main chapter and the other for the subchapter.
Winhelp4 together with Hypermake enables you to make links to HTML pages
in the WWW. The HTML browser with the default file association HTM/HTML
is started.
To create a Winhelp binary file from the Hypermake generated RTF source, you
need the Winhelp3 or Winhelp4 compiler. The compiler is executed together with
the project file which has got the extension PRJ.
The Winhelp3 compiler is a DOS commandline program with the filename hc31.exe
or hcp.exe which can be executed from DOS, all Windows versions and OS/2. For
OS/2, hc31.exe is recommended.
You can download a compact Winhelp3 compiler zipfile (100k) from the Hypermake
Homepage.
Winhelp4 needs Windows 95 or NT. The compiler hcw.exe has got a graphical
interface, but can also be used from the commandline (hcrtf.exe).
http://support.microsoft.com/download/support/mslfiles/HCWSETUP.EXE (1,6 MB)
Hypermake includes a reverse converting mode from RTF to Hypermake source.
subchapters:
Error messages of the Winhelp Compiler
next chapter:
RTF Rich text format
ΓòÉΓòÉΓòÉ 1.1.3.1. Error messages of the Winhelp Compiler ΓòÉΓòÉΓòÉ
The Winhelp compiler has got some limitations and it creates often error
messages. These problems occur both with the Winhelp3 and the Winhelp4
compiler. The error messages often let you search the "needle in the hay
stack".
If you use often tables in a longer text, you will get the "32 columns limit"
error message. I have no idea yet to omit this - besides changing some tables
to normal text with a fixed font.
If you get an error message "error at offset...", the shown address is often
the end of the file. In this case, the RTF file contents more { "open" than }
"close" brackets. You can omit the bug by adding a "}" character at the end.
This will be a Hypermake bug. Please send me the source text and the ini file
in this case.
Sometimes the Winhelp Compiler writes "error in topic..". Hypermake writes
comments "ThisIsTopic..." at the beginning of every chapter. Searching this
expression will show you the chapter where the error occurs.
You will regulary get the warning "using old phrase table". In the file
Projectname.ph the Winhelp Compiler saves some data which will speed up the
next compile session. You can delete this file sometimes.
ΓòÉΓòÉΓòÉ 1.1.4. RTF Rich text format ΓòÉΓòÉΓòÉ
Since Hypermake 4.0, pure RTF text (Rich text format) can be created in
addition to the supported Hypertext formats. RTF covers a lot of word
processing softwares and operating systems. For example, you can create a
printed manual of a program by using your word processing software in addition
to an on-screen hypertext help.
Because the Winhelp source format is a specific RTF dialect, the pure RTF text
files generated by Hypermake are similarly to the RTF files which Hypermake
generates for creating Winhelp: Some Winhelp-specific commands are omitted and
some commands which makes no sense in a printed documentation are converted in
a more useful way: For example, instead of Winhelp footnote popups, footnotes
are created in a classic way: numbered footnotes at the bottom of the printed
page.
ΓòÉΓòÉΓòÉ 1.1.5. MS HTML-Help ΓòÉΓòÉΓòÉ
Microsoft HTML-Help replaces Winhelp in Windows 98, Windows 2000 and later -
nevertheless Winhelp will be supported in the future. Microsoft HTML-Help is
based upon HTML: a number of HTML files with some Microsoft-specific
(non-official) HTML extensions are the input for the HTML-Help compiler. This
compiler creates a binary file with the extension CHM (compiled HTML).
Additional functionality to normal HTML files is tree view contents (HHC file)
and an index (HHK file).
The project file for executing with the MS HTML-Help compiler has got the
extension HHP (HTML Help Project).
Because of the ability of Windows 98 and NT 5.0 to run Windows 3.1 and Windows
95 programs, the Winhelp format will be supported too for a long time.
You can download the MS HTML-Help compiler:
http://www.microsoft.com
and then search the expression HTML-HELP
The HTML-Help viewer HH.EXE is not part of Windows 95 and NT 4.0, but is part
of Windows 98 and NT 4.0 SP4 and of course Windows 2000. If you do not write
both a Winhelp and a HTML-Help file for your application (not very difficult
when using Hypermake!), HH.EXE has to be part of your software package. This
file is part of the Microsoft HTML-Help Workshop and resides normally in the
Windows directory.
Since MS HTML-Help 1.1 you can create a compiled HTML file without need of
HH.EXE. But this will not reduce the quantity of data.
ΓòÉΓòÉΓòÉ 1.2. How Hypermake works ΓòÉΓòÉΓòÉ
Hypermake creates a hypertext from a source text you have to edit before.
Creating a hypertext has got the following steps:
You write an ASCII text in Hypermake syntax. For this job, you can use
the internal Hypermake editor or an arbitrary external editor. The main
chapter Writing a Hypermake Source Text describes the syntax of the ASCII
file.
In the project settings notebook, you can change settings which influence
the look of the Hypertext. Here you can also define what Hypertext format
you want to get created.
Double clicking into the top message window with the blue text (when
using the graphical version) or executing the commandline version will
compile the source text to the chosen hypertext format. The compile work
is running in one step and cannot be executed in parts.
Only HTML can be viewed directly. The other formats need a "second
compiler". In this case, Hypermake does not create the final hypertext
file, instead it creates only the input for the "second compiler": the
Microsoft Winhelp compiler for creating Windows Help, the IBM IPF
Compiler for generating IBM Help files, and the Microsoft HTML-Help
compiler for generating HTML-Help. You can configure Hypermake to start
automatically the "second compiler", so it will look like Hypermake
generates the final Hypertext directly.
All settings notebook pages besides the "general" page are stored in the "ini
file" which you can also edit directly with an ASCII editor. Then there's the
HMP file (Hypermake project file, also in ASCII format) where the first page
"main" of the project settings notebook is stored. The HMP file stores the
name of the source text and the name of the ini file and some other basic
settings.
When Hypermake compiles a hypertext (target file) from the source text,
internally there are six parts of compiling the source file.
Reading ini file
Reading source file
The source file is read in one part from the disk and is hold in memory
(not in the DOS version)
Indexing headings
All headings will get an internal identification number
Indexing links
All words or phrases marked with the index char or dot command will be
placed into a list in the memory
Writing IPF/RTF file or HTML files
At last, the IPF/RTF file / the HTML files will be written. That's the
main work. Every word of the text has to be compared with the index words
in the memory. In this part of compiling, the main interpreters of dot
commands, toggles and helptable generating are also working. HTML files
are placed in a new directory.
When indexing headings, indexing links and writing the target file, you will
see a counter which increments for every compiled chapter.
In the graphical version, when indexing headings and links, only the red
sevensegment display is running. When writing the hypertext file, also the
green progressbar is executed.
If you hear a deep beep, Hypermake could not create an IPF/RTF file / several
HTML files, because of a serious error.
In the graphical version, error messages are shown in red color in the output
window in the middle of the Hypermake main window.
If Hypermake produces one or more small errors, the target files will be
finished, but the second compiler won't be executed.
What are the files generated by Hypermake?
When the target is HTML, a new folder with the name of the project is created
with a number of HTML files. The extension of the HTML files is ".HTML" or
".HTM", dependent on the settings in the ini file and the operating system. An
HTML info file with the project name is created which can be used to start
viewing the HTML files. This file holds some useful information about the
project for the author.
When generating IBM Help, a single IPF file is generated which is the input
for the IBM IPFC compiler.
When creating Winhelp, a single RTF file is generated. Dependent on the ini
file setting contents creation (project settings, page "Winhelp") a CNT
content file is generated which cannot be viewed with Windows 3.1. In any case
a PRJ Winhelp project file is generated. Double click to the PRJ file
activates the Winhelp compiler. When using the commandline, enter the name of
the PRJ file as a program parameter of HC, HCW or HCRTF.
Similar to Winhelp, creating RTF text creates a RTF file. Graphic files which
are part of the document are copied into the same directory. The RTF file
begins with content, but without page enumeration which is dependent on the
final formatting in the word processing program.
Remember when making a backup on disks or streamer, you need not save the
Hypermake output files, because you can reproduce them every time from the
Hypermake source file.
Target directory and graphics
For every target format Hypermake copies the graphic files from the
directories located in the graphic path setting (project settings, page
"Main") of the HMP file or ini file. The directory where Hypermake places
(nearly) all the output and the graphic files is dependent on the target
format: The target directory for HTML and HTMLHELP is the new folder with the
name of the project and for IPF or Winhelp it's the same folder where the
source file is located.
ΓòÉΓòÉΓòÉ 2. Graphical version HYMAKE.EXE ΓòÉΓòÉΓòÉ
subchapters:
Overview
Hypermake Main Window
Editor
Contents and Index Window
Program settings notebook
next chapter:
Commandline version HMAKE.EXE
ΓòÉΓòÉΓòÉ 2.1. Overview ΓòÉΓòÉΓòÉ
The graphical version HYMAKE.EXE includes
the Hypertext compiler
an integrated editor for the source text
a project settings notebook.
The commandline version HMAKE.EXE holds the compiler functionality alone and
is useful for experts. Before Hypermake 4.0, only the commandline version was
available.
Compiling a Hypertext with Hypermake runs very fast - only a few seconds, also
for larger projects. But it takes a lot of time to edit the source text and to
choose the lots of settings in the ini file. The graphical version HYMAKE.EXE
has got an integrated editor which helps you editing your Hypermake source
file and has some specific functionality:
syntax highlightning let you distinguish between several Hypermake
command types and normal text
context sensitive bubble help explains the commands already typed into
the editor
a "function dialog" inserts the Hypermake commands which you can also
type manually into the editor
press the right mouse button in the editor and you will get a menu which
holds specific Hypermake functionality (e.g. "compile"), but also simple
and well-known editor functions.
The project settings notebook holds all the settings which have an effect on
the functionality and the look of the final hypertext which will be compiled
from the source text. These settings are stored in the HMP file (page "Main")
and in the ini file (all other pages).
Then the graphical version consists of some other dialog windows:
a program settings notebook which holds all settings which are not
dependent on a specific Hypertext project
contents window and index window helps you to navigating in the source
text.
You can open all these windows by choosing View in the Hypermake main window
menu.
The project settings notebook is described separately.
ΓòÉΓòÉΓòÉ 2.2. Hypermake Main Window ΓòÉΓòÉΓòÉ
The Hypermake Main Window is the window which appears when double clicking to a
HMP file or executing Hypermake (HYMAKE.EXE). If another window of the
Hypermake program is on top, you can reach the Main Window by pressing F6.
Main Window Menu
Project
- New: let you begin a new Hypermake Project. You are asked to enter a
new HMP file (Hypermake Project), an INI file from where to copy the
project settings from (e.g. SAMPLE.INI from the Hypermake archive),
a name for the new INI file and the name of the source text.
- Open: opens an existing Hypermake project (HMP file).
- Save: saves the current project (HMP file, INI file, source text) if
changes were made
- Save as: saves the current project with a new name for the HMP file.
If you also want to change the name of the INI file and/or source
text, you have to made these changes on the Main page of the Project
settings.
- Compile to: starts compiling: the target format you have chosen here
will be created from the source text. This selection will overwrite
the current setting "Target Format" on the Main page of the project
settings. See Compiling. When pressing F9, the target format which
is currently selected in the project settings will be created. To
start the compiler, you can also doubleclick into the window with
blue text (success window).
- 2nd Compile: starts the second compiler separately. The second
compiler is necessary for all target formats besides HTML. Note that
changes in the source text only appears in the Hypertext if the
"first compiler" (Hypermake) and after that the second compiler has
been executed. You can automatically run the second compiler
(Project settings Main page). See Compiling.
- open text file: The Hypermake editor is very powerful. If you like
it, you can also open arbitrary text files. Dependent on the current
Hypermake project, the text is loaded in ISO or IBM codepage. Syntax
highlightning is turned off. The editor is also available as a
separate Freeware program: WSedit.
- import RTF/IPF: see reverse converting mode
- compare HTML dir starts the file comparison mode which will help you
locating the HTML files which have changed since the last upload.
- Exit: closes the Hypermake program.
View (let you have access to all important windows of Hypermake)
- Project Settings: the settings notebook which has an effect to the
functionality and look of the generated Hypertext (stored in HMP
file and INI file)
- Source text: opens the editor with the source text of your project.
A project can contain several source files. To open the text file,
you can also doubleclick to the dropdown window in the Hypermake
main window.
- Contents: The contents window shows the contents of your current
project source text in a tree view. It helps you navigating in your
source text.
- Index: The index window also helps you navigating in the source text
and shows the index of the source text: all marked expressions are
listed alphabetically.
- Program Settings: the program settings notebook holds all settings
which are not related to a specific project, e.g. the filename of
your Internet Browser as an default viewer for HTML files.
- Functions tree view: shows the Functions dialog which let you insert
Hypermake source file commands to the cursor position of your source
text (also editor window popup menu function - tree view).
- Final Output: views the final output of your Hypertext project,
dependent on the selected source format: the Internet Browser when
HTML was seleted, or the Help Viewer of the selected type.
Edit is identical with the popup menu in the editor (press the right
mouse button inside the text area of the editor). You will find the
well-known default editor commands and some Hypermake speciific
functionality.
Help
- About: shows the version number.
Other items in the main window
(from left to right)
Green LED: glows if a compile thread is running. All jobs which take more time
than some milliseconds are running in an own "thread". That means you can edit
your source text or the project settings while Hypermake compiles a project.
But jobs which also run in a thread cannot be executed until the last thread
has finished.
Stop: stops the current thread ("user break"). Some jobs like the second
compiler cannot be interrupted.
Dropdown edit field: holds all the names of the source file. Selection or
doubleclick starts the editor with the selected source text. The name of the
source text is defined on the Main page of the project settings.
Red Counter: counts the compiled chapters. Your eyes can only follow the
counting process with a big source text and/or a slow computer. While
compiling, there are three jobs running. So the red counter counts three
times, two times fast and one slow. See Compilation.
Green Progress Bar: counts the percentage of writing the target format (the
third job), see Compilation. It also shows the target format which is
currently selected on the main page of the settings notebook.
Success Window: (blue text) While compiling, Hypermake tells you what it is
doing. Double click into the success window starts compiling.
You can drag and drop HMP files into this field which will have the same
effect as "project open". Dropping directory icons will start the file
comparison mode which will help you locating the HTML files which have changed
since the last upload.
General Error Window: (red text) When compiling, Errors and Warnings are
listed here.
Editor Error Window: (white) Hypermake lists here errors and warnings which
refers to a specific line of the source text. Double clicking starts the
editor with the line where the error or warning is related to.
ΓòÉΓòÉΓòÉ 2.3. Editor ΓòÉΓòÉΓòÉ
The editor which is part of HYMAKE.EXE is very powerful and works together with
ASCII files with a file length up to 15 MB. The only thing you have really to
know is that instead of a normal menu, there's only a popup window (press thee
right mouse button somewhere in the editor area) which holds the well-known
functionality and some special Hypermake functionality. But you can also use
the "Edit" menu item in the Hypermake main window which refers to the editor
window which is on top.
If you navigate the mouse pointer to a Hypermake specific command (dot commands
or toggles), you will get a context sensitive bubble help explanation. You can
turn off this feature in the program settings notebook, page "Prog".
If you like the editor, you are encouraged to download my Freeware program
WSedit from my Homepage. WSedit is basically identical with the Hypermake
editor in the "Wordstar" key table setting and has got a more detailed
explanation about the Control Key commands. WSedit offers you a dialog window
with all control key combinations in a tree view and some minor additional
functionality.
subchapters:
Titlebar
Editor menu
Rightmost Column
Key commands
Special functionality
Spell Checking
Translation
next chapter:
Contents and Index Window
ΓòÉΓòÉΓòÉ 2.3.1. Titlebar ΓòÉΓòÉΓòÉ
The titlebar of the editor window shows a lot of information.
(4,226*) in parenthesis means Column 4 and Line 226, the * star shows you that
the file is modified in comparison to the last saved state.
The "Par" number counts the Hard Returns up to the cursor position, dot
commands are also counted. The line number in parenthesis is dependent on the
current formatting, so the "Par" number is the only useful orientation!
Then, the filename is shown.
If the column block mode (^KN) is activated, "COLUMN" is shown. If the file is
read-only "READ ONLY" appears.
ΓòÉΓòÉΓòÉ 2.3.2. Editor menu ΓòÉΓòÉΓòÉ
There are two different ways of having access to the editor menu: you will find
it in the edit menu item of the Hypermake editor window, or you can press the
right mouse button in the text area.
In the editor menu, you can also see the key combinations which have the same
effect. These keys are dependent on the Options - Key table setting. The
"Wordstar" setting is the most powerful key table, because you have access to
nearly all menu entries from the keyboard by double control codes, e.g.
Ctrl-K-R for "Read block from file".
In this explanation, only specific commands which are not part of a default
editor are explained.
Submenu File
Import TXT copies a file to the current cursor position and Export TXT writes a
selected block to a filename of your choice. There's no conversion
functionality.
Instead of "Import TXT" you can also drop the file icon to a location inside
the editor.
Submenu Edit
"Edit" has got a lot of well-known commands which are not further described and
some interesting additional commands.
Undo and Redo is also part of other more comfortable editors. But in the
Hypermake editor, the undo/redo functionality is extremly powerful: You have
also an Undo slider where you can simply undo and redo hundreds of inputs. In
the program settings notebook page "Edit2", you can select a value for maximal
undo steps.
If you want to go to the text position which was edited last, simply use Undo
one time (Alt-Backspace).
In addition to the find functionality, where you get a find dialog window, you
can also use incremental search without a dialog window. Take a look at the
titlebar and type the expression you want to find, character by character.
Submenu Extended
Here you will find some additional editor functionality.
Reformat all reformats the whole document like it would be if you change the
width of the editor window. By default, the editor reformats the text
automatically while typing, but this behaviour can be modified in the program
settings notebook, page "Edit2".
cursor always in text area makes a difference when editing e.g. tables. If the
cursor keys follow the text, the only possibility to reach a position where no
text was before is entering a lot of spaces. If the cursor does not follow the
text, you can simply navigate in a not yet edited screen area by cursor keys.
You can define the default setting of this switch on the "Edit2" page of the
program settings notebook.
Hypermake and WSedit supports two kinds of translation between two languages:
Bubble Translation and Dialog Translation. Normally you will use Bubble
Translation when reading a text in a foreign language and Dialog Translation
when writing a text in a foreign language.
To use translation functionality, you have to download the translation
dictionary files from the WSedit page of my Homepage. There you will find a
link to another page where you can download translation files (yet only German
to English and English to German). Then fill out the program settings notebook
"Edit1" Page.
Bubble Translation: words or expressions at the cursor position are translated
and the result is shown in a yellow bubble help window.
Dialog Translation: activates a dialog where you can enter the expression into
the edit field. In the Listbox below, several possible translations are shown.
If Bubble Translation is also activated, these several possible translations
are re-translated in parenthesis so it will be easier to select the correct
translation.
The re-translation has the effect of a Thesaurus: a single expression
translated to another language and re-translated back will show several
slightly different expressions.
Double clicking to a listbox item or single clicking and pressing OK copies the
translated expression into the Trash buffer. It can be copied to the cursor
position by typing Ctrl-U.
Submenu Function
This submenu is related to the Hypermake program: if you are not so familiar
with the Hypermake dot commands, you can get these commands inserted on the
cursor position. Tree View shows a permanent dialog window where you can
doubleclick to the commands and the other menu items of the "Function" submenu
are a summary of the most important Hypermake dot commands.
Submenu Toggle
Toggles are used in pairs and the text between the two toggles gets e.g. bold
or underlined. Toggle characters are characters you do not use in your normal
text, and often you have got no key on the keyboard for these characters. You
can use these menu entries for typing these characters to the current cursor
position.
There are different key commands for the toggles. E.g. Shift-F2 types one
italic toggle, Ctrl-F2 types two toggles, one to the cursor position and the
other to the end of the word where the cursor points to. Alt-F2 inserts the
toggle at the beginning and the end of the current line.
Submenu Program
This submenu is only available in the popup menu, not in the Edit menu item of
the main window. This submenu contents nearly some items of the "Project" and
the "View" menu of the main window does. So you have got access to the
Hypermake program without leaving the editor window.
Submenu Options
The "Options" submenu holds some user defined settings. Some very specific
editor settings are hold in the program settings notebook. The more common
settings are hold directly in the editor menu "options" section.
Bubble Help on/off can be also set in the program settings notebook, page
"Prog".
Toggle colors let you switch between two different color settings for the text
area of the editor.
Hypermake remembers the font and the color information for each file
separately, also window position and size.
The key table setting is very important, because it defines the key codes for
the editor functionality. "Wordstar" is the only setting where you have full
keyboard access to all editor functions, and "Wordstar" is also the only key
table of the WSedit Freeware editor program.
ΓòÉΓòÉΓòÉ 2.3.3. Rightmost Column ΓòÉΓòÉΓòÉ
The background of the rightmost column of the editor shows different colors:
ΓûáΓûæΓûæLines beginning with two dots (comment lines)
ΓûáΓûæΓûæLines beginning with a single dot (dot commands)
ΓûáΓûæΓûæLines with a Hard Return at the end
ΓûáΓûæΓûæLines with a Soft Return at the end.
A Hardreturn is the end of a line where you have entered RETURN manually. In
any formatting, this Return will exist.
A Softreturn disappears if the formatting gets different. If you change the
window size of WSedit, the editor let appear and disappear Soft Returns.
In a Hypertext, Hard and Soft Returns make a big difference because you do not
know the width of the window where the user reads your text. You can switch the
current line from Hard to Soft Return and reverse in the popup menu entry
extended.
ΓòÉΓòÉΓòÉ 2.3.4. Key commands ΓòÉΓòÉΓòÉ
The editor supports three different key tables - that means you have three
allocations of keyboard commands (Popup menu - Options - Key Table).
If a function in the popup menu can be also activated by the keyboard, the keys
are noted in the popup menu.
CUA: Common User Interface, that's the key commands all modern graphical
programs support. E.g. with Ctrl-Ins, you copy the selected text to the
keyboard
Mixed: a mixture of CUA and Wordstar
Wordstar: the Ctrl-key commands of old DOS Wordstar; this very old
command set is supported on some modern editors, e.g. Borland C and
Pascal programming environments. Nevertheless, all commands which are not
"Ctrl-Letter" are the same like CUA.
CUA commands
Some of the following Ctrl commands (hold Ctrl down and then press a letter
keyboard) are not shown in the popup menu.
Ctrl-E: incremental search (without dialog, look to titlebar!)
Ctrl-F: Search dialog
Ctrl-G: Replace dialog
Ctrl-N: search/replace text again
(In CUA mode supported Wordstar keys)
Ctrl-K0 (up to 9) set bookmark 0
Ctrl-Q9 (up to 9) "quick" to bookmark 0
Ctrl-T: delete word right from cursor
Ctrl-U: copy trash buffer to cursor position
Ctrl-Y: delete line.
Wordstar commands
The Wordstar setting is the only setting where you can reach all the editor
functionality by the keyboard. Wordstar Ctrl keys have got also double
character commands, e.g. Ctrl-K-B for "begin selection". Nevertheless, CUA
commands like Ctrl-Ins are also enabled.
If you like the integrated Hypermake editor, you are encouraged to download
the Freeware editor WSedit from my Homepage. This editor is basically
identical with the Hypermake editor in the "Wordstar" key table setting and
has got a more detailed explanation about the Control Key commands. WSedit
offers you a dialog window with all control key combinations in a tree view
and some minor additional functionality, e.g. a macro key recorder to program
function keys.
If you are interested in the full documentation of Wordstar key commands,
please refer to the WSedit program and its help text. In the Ctrl Key Help
Window of WSedit, all Control commands which are not supported in the
Hypermake editor are marked with a Star.
ΓòÉΓòÉΓòÉ 2.3.5. Special functionality ΓòÉΓòÉΓòÉ
The Trash Buffer
If you use Ctrl-T (delete right word) or Ctrl-Y (delete line), the deleted text
part will be stored in a "trash buffer" (that is not the clipboard). With
Ctrl-U, you can paste the content of the trash buffer to the current cursor
position.
Drag and drop
You are allowed to drag and drop a marked block to another cursor position or
to another Hypermake Editor window or WSedit window. To drag and drop, use the
right mouse button. The default function is moving the block. Pressing CTRL
while dropping will copy the block. You are also allowed to drag text file
icons to a specific position of the text area. This will read the block
(Wordstar Ctrl-KR).
Undo
The Hypermake editor has got a powerful multi undo functionality. You will find
these commands in the popup menu edit.
You can undo your input by typing Alt-Backspace and redo by typing
Shift-Alt-Backspace or you can open the Undo Slider window by pressing Ctrl-OU
(Wordstar) or from popup menu - edit - undo slider.
The number of undo events can be set by the user, see Page "Edit2" of the
program settings notebook. Useful setting for undo events are from 100 to
10000.
ΓòÉΓòÉΓòÉ 2.3.6. Spell Checking ΓòÉΓòÉΓòÉ
The Hypermake editor has got a simple but effective spell checking function
implemented.
subchapters:
How to get a dictionary
Working with the spell checking function
next chapter:
Translation
ΓòÉΓòÉΓòÉ 2.3.6.1. How to get a dictionary ΓòÉΓòÉΓòÉ
To use the spell checking function, you have to create a dictionary by yourself
or you can visit the WSedit page on my Homepage http://www.hypermake.com and
download the current dictionary collected by Hypermake and WSedit users.
All spell checking functionality is available from the popup menu, menu entry
"spell checking".
You can enter a filename for the dictionary in the "Edit1" Page of the program
settings notebook.
If you want to create a dictionary by yourself, you need to have existing ASCII
files which are already spell-checked or where you can be sure that there are
no incorrect words: Load the text file in the editor and choose "spell checking
- absorb current file to dictionary".
If you have received another Hypermake/WSedit dictionary file from a friend or
from the Internet, you can merge this file with "your" dictionary file by using
"import external directory".
The principle of the Hypermake/WSedit dictionary is quite simple: If a word has
to be absorbed, the endings defined in the Hypermake project settings (page
"Link"), normally
(english) es ''s s ions ion ings ing
are cutted and the first character is converted to lower-case. Then it is
compared to the contents of the dictionary. If no similar entry is found, it is
placed into the dictionary.
The dictionary file is a normal ASCII file in IBM codepage. The words are
sorted by an internal sort algorithm, not by the alphabet. You can add manually
words at any position.
ΓòÉΓòÉΓòÉ 2.3.6.2. Working with the spell checking function ΓòÉΓòÉΓòÉ
You can turn on and off spell checking by entering Ctrl-QL (Wordstar key table)
or popup menu - spell checking - enable/disable. The background of unknown
words is getting pink. There's no user interface. With spell checking - absorb
into dictionary up to cursor learns all words from the beginning of the file up
to the line of the editor cursor. Some marking of words below the cursor will
automatically disappear.
If you find an incorrect word which is not highlighted and in consequence the
wrong word is part of the dictionary, you can correct your dictionary by moving
the mouse over the wrong word and choosing remove single word from dictionary
in the popup menu.
ΓòÉΓòÉΓòÉ 2.3.7. Translation ΓòÉΓòÉΓòÉ
The Hypermake editor supports two kinds of translation: Bubble Translation and
Dialog Translation. Normally you will use Bubble Translation when reading a
text in a foreign language and Dialog Translation when writing a text in a
foreign language.
To use translation functionality, you have to download the translation
dictionary files from the WSedit page my Homepage http://www.hypermake.com (yet
only German to English and English to German) and fill out the program settings
notebook "Edit1" Page.
Bubble Translation: (Popup menu extended, Wordstar Ctrl-OT), words or
expressions at the cursor position are translated and the result is shown in a
yellow bubble help window.
Dialog Translation: (Popup menu extended, Wordstar Ctrl-OD) activates a dialog
where you can enter the expression into the edit field. In the Listbox below,
several possible translations are shown. If Bubble Translation is also
activated, these several possible translations are re-translated in parenthesis
so it will be easer to select the correct translation.
The re-translation has the effect of a Thesaurus: a single expression
translated to another language and re-translated back will show a handful
slightly different expressions.
Double clicking to a listbox item or single clicking and pressing OK copies the
translated expression into the Trash buffer. It can be copied to the cursor
position by typing Ctrl-U.
ΓòÉΓòÉΓòÉ 2.4. Contents and Index Window ΓòÉΓòÉΓòÉ
The Contents and index window can be reached from the View menu in the
Hypermake main window or the program entry in the editor popup menu or by
pressing F3 (contents) or F4 (index).
The main job of these two dialogs is navigating inside your source text. The
contents window shows the heading structure in a tree view and the index window
shows all marked expressions and has got alphabetic buttons for jumping into
the index expression list.
The contents and index dialogs have got the following buttons:
Go to source needs a selection (single mouse click) first. You can also double
click to a heading/an expression, this will have the same effect like clicking
to "go to source". The internal editor will be started and the cursor will be
set to the chosen heading.
Go to HTML has only an effect if you have already compiled the Hypertext to the
HTML target format. It will start the browser if the filename of the browser
was entered in the program settings, page "view".
HTML Ascii (only contents window) shows the "source text" of the generated HTML
file. The Hypermake editor will be opened. Because of the extension "HTM" or
"HTML", the text is syntax-highlighed. But don't edit this text which was
created by Hypermake, because when compiling again, your changes were
overwritten by the new generated output.
Copy is only available in the index window. Before clicking to "copy", position
the cursor in the Hypermake editor to the text location where you want to get
the index expression inserted. This functionality is useful to avoid slightly
wrong writings of expressions where Hypermake would not create the link.
Update saves the current source file in the Hypermake editor and runs again the
first compilation steps "Indexing headings", "Indexing links". Then the dialog
window content will be updated. If you get to a wrong position when using "go
to source", you have to update the contents or index. Hypermake simply
remembers the filename and paragraph number, so after inserting new text before
the heading/index expression will cause a "go to source" malfunction.
Close closes the dialog window.
ΓòÉΓòÉΓòÉ 2.5. Program settings notebook ΓòÉΓòÉΓòÉ
The program settings notebook holds all information which is not specific to a
hypertext project. To open the program settings notebook, choose View - Program
Settings in the Hypermake main window, Program - Program settings or press F8.
subchapters:
Prog page
Help page
2nd Comp page
View page
Edit1 page
Edit2 page
next chapter:
Commandline version HMAKE.EXE
ΓòÉΓòÉΓòÉ 2.5.1. Prog page ΓòÉΓòÉΓòÉ
The Bubble help checkbox turns bubble help on and off. Bubble help is available
for nearly all dialog items and context-sensitive inside the integrated editor
for explanation of the Hypermake text commands (dot commands and toggles).
Normally you won't change the compile priority. This slider changes the
priority of the compile thread. Lower the value if the Hypermake program
compiles your input with delay while compiling a project. Enlarge the compile
priority if the compilation runs slow and has got interrupts.
If you don't like the internal editor and instead you have got your favourite
editor, you can choose an external editor. But in this case, you cannot use the
functionality of jumping to a specific text location. Enter the filename of the
editor (which ends normally with ".EXE") and click to the checkbox. Clicking to
the search button helps you in entering the correct filename by activating a
file dialog window. If the edit field gets green, the file exists, red shows a
wrong filename.
Open editors automatically when opening HMP project opens the editor with the
source text file automatically when using Project - open in the Hypermake main
window or when starting Hypermake by double clicking to a HMP icon.
ΓòÉΓòÉΓòÉ 2.5.2. Help page ΓòÉΓòÉΓòÉ
The bubble help checkbox on the help page of the program settings notebook
enables small yellow fly-over text windows for every dialog item. The are shown
if the mouse cursor rests over a dialog item. Principally, each dialog item of
the Hypermake program owns a bubble help window.
With the radiobuttons on the help page you can choose between different help
formats:
An OS/2 help file (IPF file) is part of the Hypermake archive
(ENGLISH\HYMAKE.HLP). Principally, you can also create this file by yourself
(compile ENGLISH\HELPDOCU.HMP and run the IPFC compiler). The pre-compiled
helpfile was not modified manually.
If you choose the HTML format for context-sensitive help, the help will created
initially when using the context-sensitive help the first time. This is done
automatically by executing ENGLISH\HTMLDOCU.HMP. In a dialog window you can
deselct topics which are not interested for you.
You can change this setting on-the-fly and execute a second help window of
another help format.
ΓòÉΓòÉΓòÉ 2.5.3. 2nd Comp page ΓòÉΓòÉΓòÉ
If on the main page of the project settings notebook the checkbox also start
2nd compiler is checked, the specific compiler you can enter here will be
started when compiling a project. If the edit field gets green, the file
exists, red shows a wrong filename.
The commandline processor is only necessary if the execution of this program is
only possible in a commandline window and the operating system only supports
the indirect execution (IPFC with OS/2 needs it, some DOS programs do so, too).
To learn more about these compilers, please refer to the chapter about the
supported Hypertext formats.
ΓòÉΓòÉΓòÉ 2.5.4. View page ΓòÉΓòÉΓòÉ
On the view page, you can enter the filenames of the Hypertext viewers.
The HTML viewer is the Browser. The Netscpape Browser has got a filename
something like netscape4\program\netscape.exe, and the Microsoft Internet
Explorer IEXPLORE.EXE regulary resides in the "programs" directory.
If the edit field gets green, the file exists, red shows a wrong filename.
Pass page location is a specific Netscape feature. Turn this checkbox on if you
use Netscape. The Netscape browser supports not only a simple URL or HTML
filename for a commandline parameter, it can also have a #hd location
appended. So the Browser starts not only with the correct file, also the
correct position in the file will be shown.
To learn more about the supported Hypertext formats and its viewers, please
refer to the Hypertext formats chapter.
ΓòÉΓòÉΓòÉ 2.5.5. Edit1 page ΓòÉΓòÉΓòÉ
The edit pages of the program settings notebook refers to the integrated
editor.
You need to enter the name of the spell checking file to use the spell checking
functionality of the editor. Because you can create your own dictionary, you
can enter an arbitrary new filename (full name with drive and directory).
The names of translation files refers to the translation functionality. You
have to download a dictionary from the WSedit page of my Homepage (yet only
german-english and english-german).
ΓòÉΓòÉΓòÉ 2.5.6. Edit2 page ΓòÉΓòÉΓòÉ
You can choose the behaviour of word wrapping of text:
with time delay is my personal favourite setting. If enabled, you can
select a delay time. I prefer 0 quarter seconds.
after every keypress is the behaviour of most word wrap editors. Because
of the need of reformatting a big paragraph after every keypress, the
amount of processor time becomes noticeable. If you type very fast and
your computer is not fast, this setting is not recommended.
only by hand (Ctrl-B) is the classic old DOS Wordstar behaviour. A lot of
people get confused if the text is reformatted automatically while
writing. Ctrl-B reformats the paragraph from the cursor to the end of the
paragraph. In any case, the paragraph is reformatted if the cursor
exceeds the line. (Ctrl-B is always availabe, independent from this
setting.)
not at all deactivates reformatting. Soft Returns are handled like Hard
Returns. Even ^B has no effect.
HTML Highlightning activates HTML Syntax Highlightning in a Hypermake source
text. If you embed commands in HTML-syntax inside the Hypermake source text,
turning this checkbox on will help you writing HTML syntax by showing these
commands in colors. Anyway when opening a HTML file (extension HTM or HTML) in
the editor, the HTML syntax highlightning is always turned on.
The Cursor left/right checkbox influences the behaviour of cursor movement. If
disabled, the behaviour is like in a programmers editor: you can reach every
point of the screen by using the cursor. If enabled, the cursor follows the
text. Where there is no text, you have to fill the line with spaces to reach a
position where no text is written yet. You can toggle this behaviour in the
Wordstar key table by typing Ctrl-OX.
delete word right from cursor (Ctrl-T) influences the behaviour of the Ctrl-T
command. The middle setting is the same as in Wordstar DOS, auto correct
spaces is a self-made further development improving changing the position of
two words where one word is located near a dot or a comma.
Max Undo Steps: The undo slider works more efficient if the editor does not
reformat a paragraph too often: if the text is reformatted every second while
typing, there are a lot of events to remember for the undo functionality: one
event per line and in a 10-lines paragraph for 10 events per second. You can
reduce this event amount by using "with time delay" and a higher delay time
value, e.g. 4. Useful settings for "Max Undo Steps" are from 100 to 10000.
ΓòÉΓòÉΓòÉ 3. Commandline version HMAKE.EXE ΓòÉΓòÉΓòÉ
The commandline version of Hypermake (HMAKE.EXE) is a pure compiler without
user interface. The majority of users will prefer the graphical version
HYMAKE.EXE with user interface (integrated editor, settings notebook and so
on). In this chapter, the usage of the commandline version is explained.
You can start the commandline version in two different ways: by entering only
one parameter - a HMP file Hypermake Project file which contents the
parameters, or by entering several parameters behind HMAKE.EXE (especially the
a name of source file and ini file).
subchapters:
Starting by using HMP files
Starting by using the commandline
specific program parameters
Returncodes
Writing batch files
Debug mode
next chapter:
Reverse Converting Mode from IPF and RTF to Hypermake
ΓòÉΓòÉΓòÉ 3.1. Starting by using HMP files ΓòÉΓòÉΓòÉ
HMP files are new in Hypermake 3.5. They are a substitute for using the
commandline and batch files.
After running of HMINSTAL all HMP files are associated with three programs
simultaneously: the default association is open project which will start the
graphical HYMAKE.EXE program with user interface. The other two associations
are edit project file which starts an Ascii editor and compile project which
executes the commandline version of Hypermake HMAKE.EXE.
To see the file associations, click to a HMP file icon with the right mouse
button and choose open.
The default association (double clicking to the HMP icon) is the compiler.
Now choose "edit project file". In each line of a HMP file, there's a setting.
On the right side of the = character you are allowed to modify the setting.
Comment lines beginning with ; or // are ignored.
The following lines should be part of every HMP file:
;Hypermake Project file
source files = sample.txt
ini file = sample.ini
It's necessary to enter at least one source text and the name of the ini file.
You are allowed to enter serveral source filenames, separated by spaces.
Hypermake concatenates them in the memory in the chosen order.
target = HTML
Hypermake creates Hypertext in the format IPF, WINHELP3, WINHELP4, HTML,
HTMLHELP . There's also a target= setting in the ini file. The target setting
in the ini file is only relevant if there's no target setting in the HMP file.
"target" in the HMP file is useful when compiling more than one Hypertext
format.
parameter = noframes noid bigfont
There are some program parameters available.
conditions = COND1 COND2
You can place if-conditions in the source text. You can enclose parts of the
text which will be only compiled to the Hypertext if the condition is set. The
source of this documentation contains a lot of if-conditions.
Starting the second compiler automatically
HTML files generated by Hypermake can be viewed immediately with a browser. All
other hypertext formats need a second compiler where the input is the Hypermake
output. The second compiler generates a binary hypertext file which can be
viewed with a specific viewer. It's useful that the second compiler is started
immediately, if Hypermake hasn't generated errors.
compile = YES
view = YES
Hypermake can start the second compiler and the viewer automatically. In this
case it needs the full filename of the second compiler:
ipf compiler = C:\IPFC\IPFC.EXE /inf
winhelp3 compiler = C:\WINHELP\HC.EXE
winhelp4 compiler = C:\HELPWORKSHOP\PROGRAM\HCRTF.EXE /x
htmlhelp compiler = C:\HTMLHELP\HHC.EXE
You have to enter the correct directories, if the compiler is not in the PATH
statement. You are allowed to enter commandline parameters behind the filename.
ipf viewer = VIEW.EXE
winhelp3 viewer = WINHELP.EXE
winhelp4 viewer = WINHELP32.EXE
htmlhelp viewer = HH.EXE
You have to enter the correct directories, if the compiler is not located in a
directory of the PATH statement.
command lines = 50
Some second compilers generate a lot of messages. A fast computer don't let you
see the first of these messages because the default textual window has only 25
lines. Here you can enter the number of lines for the window where the second
compiler writes its output. To try which line number is accepted by your
system, open a commandline window and enter MODE 80,50 or another value instead
of 50. Some systems accepts 1000 lines, depending on the operating system and
the hardware.
processor = C:\OS2\CMD.EXE
Hypermake generates a temporary batch file HMTEMP.CMD to execute the
commandline compiler and the viewer. OS/2 needs the commandline processor to
run batch files. If the commandline processor is not the name above, you can
enter another processor.
Copying graphic files to the target directory automatically
graphic path = fullpathname;fullpathname;fullpathname
Hypermake copies graphic files automatically to the target directory. Here you
can enter all the directories where the graphic files are located.
The setting graphic path can also be placed in the ini file.
ΓòÉΓòÉΓòÉ 3.2. Starting by using the commandline ΓòÉΓòÉΓòÉ
When using OS/2, before using Hypermake, you have to copy HMAKE.EXE into a
directory of your PATH statement (in the file CONFIG.SYS); The file
KBDVIO32.DLL has to be placed into a directory of your LIBPATH statement or in
the same path the EXE file is located. If the EXE file doesn't find the DLL,
you will get an OS/2 error message "0005" or "SYS3175".
There are one or two parameters you have to enter:
[C:\myProject] HMAKE myDoc.txt my.ini
There is no order of the parameters. You have to explicit enter the file
extensions. You can enter any extension for the Hypermake source file, but the
extension of the ini file has to be ".INI".
If the name of the ini- and text-file at the left side of the dot is identical
like myDoc.txt and myDoc.ini, it is adequate to enter only the name of the text
document - Hypermake will search the ini file by itself:
[C:\myProject] HMAKE myDoc.txt
If Hypermake does not find such ini files, it will grab the file HMAKE.INI in
the current directory. If this file is also not present, the program stops and
you will get an error message.
For your own ini file, better use a copy of SAMPLE.INI and not DOCU.INI because
DOCU.INI has got some exotic ASCII values for the toggle chars.
The name of the output file will automatically be the entered source file name
with the extension IPF.
Many source files
You can split your source text in many text files. Hypermake will copy them
together before compiling. The order of the parameters are relevant. If you
don't enter an ini file directly, the first source filename is used for
searching the ini file.
Changing the target format
With the commandline parameters HTML IPF WINHELP3 WINHELP4 HTMLHELP RTFTEXT you
can temporary overwrite the default setting "target file" in the ini file.
RTFTEXTCC sets the target format to RTF-text, and turns the color correction
setting on. You are also allowed to write a slash for these parameters: /HTML
Setting conditions
You can place if-conditions in the source text. You can enclose parts of the
text and this part will be only compiled to the Hypertext if the condition is
set. These conditions can be set by using commandline parameters, beginning
with a hash #.
[C:\myProject] HMAKE MeinDoku.txt #COND1 #COND2
ΓòÉΓòÉΓòÉ 3.3. specific program parameters ΓòÉΓòÉΓòÉ
Specific program parameters can be entered in the HMP file, line parameters=,
or in the commandline, beginning with a / slash. Normally you won't need these
parameters. They are sometimes necessary when compiling to several hypertext
formats by using only one ini file. E.g. you can type NOFRAMES behind the
parameters = line of the HMP file or you enter /NOFRAMES directly into the
commandline. The parameters are not case sensitive.
The majority of parameters are also supported in the graphical version
HYMAKE.EXE, you will find them in the settings notebook on the page "Main",
section "Parameter". They are described in chapter program paramter. The
commandline version supports some additional parameters:
Progress indicator
The /dots parameter forces dots for each compiled chapter instead of the
turning progress symbol.
Omit Output and "press any key" query
/quit omits the "press any key" query which appears when HMAKE ends and the
program parameter was a HMP file.
Writing Message Output to a File
In addition to the screen output, Hypermake can write all messages or
especially error messages to a file. That's useful e.g. to write batch files.
/MESSAGES:filename
/ERRORS:filename
You can use the general command >NUL at the end of the command line to omit the
screen Output of HMAKE.
ΓòÉΓòÉΓòÉ 3.4. Returncodes ΓòÉΓòÉΓòÉ
Since 3.97, HMAKE ends execution with returncodes which represents categorized
error types. A program which executes HMAKE can use these returncodes.
Hypermake creates lots of different error messages, most of them are from
category 31 "source file syntax error".
0: no termination error (but no information about warnings)
1: internal (should not occur)
2: external program not found
11: file not found/file empty/parameter not existing
12: error writing output file
13: error writing messagefile/errorfile
14: registration required
21: error in ini file
22: error in hmp file
31: source file syntax error
32: source file syntax error, please contact hmake author
33: bug in Hypermake, please contact autor
98: user break
99: other errors
ΓòÉΓòÉΓòÉ 3.5. Writing batch files ΓòÉΓòÉΓòÉ
Batch files are a "macro file" for commandline input. If you enter always the
same commands, you can write a batch file instead with a simple editor. The
extension of batch files is BAT (DOS, Win95, NT) or CMD (OS/2, NT).
Principally HMP files are a complete substitute for batch files. But if you are
familiar with batch files, you can use them nevertheless.
A useful batchfile for running in the background can be:
rem Generating hypertext with Hypermake and IPFC
Hypermake my.txt /errors:HyperMake_errors
start /f e HyperMake_errors
ipfc /inf my.ipf >ipfc_errors
start /f e ipfc_errors
echo **
If you don't enter /inf behind ipfc, you'll get a HLP file instead of an INF
file. The IPF file generated by Hypermake can be always used for generating HLP
and INF files, even you have used HLP specific ressource connection and Panel
ID dot commands.
If you are not familiar with batch files, take a look at the chapter
"OS/2-commands, batch files" in the OS/2 commandline reference.
In the last line, behind the "echo" command, you can write two Alt-7-chars,
that will create two beeps.
The > command copies the screen output to a text file instead to the screen and
works not with the Hypermake Win95/NT and DOS version. Better use
/MESSAGES:filename and /ERRORS:filename instead.
Other useful commands in batch files
PAUSE interrupts the batch files and the use has to "press any key".
%1 will be substituted by the first commandline parameter given to the
executed batch file.
Note that drag and drop does not work with such batch files, because if you
write e.g. %1.IPF or %1.HPJ , two extensions are concatenated together.
ΓòÉΓòÉΓòÉ 3.6. Debug mode ΓòÉΓòÉΓòÉ
It can happen that HMAKE interrupts and creates a cryptic error message. Then
you have made a mistake I've never thought about or there's a real bug in the
program. To locate where exactly the bug has occurred, you can view the actual
line numbers by using the program parameter /count . Then by using the /debug
parameter, you can get the source text immediately before the program crashes.
So you can find the exact position where the bug occurs.
With /debugmain instead of /debug , the text is only shown when writing the
IPF/RTF/HTML files.
If you find such a bug, please contact me, even you have found out how to avoid
it. Please send me the source text and your ini file, so I can locate the bug
and eliminate it in the next version. Thank you.
ΓòÉΓòÉΓòÉ 4. Reverse Converting Mode from IPF and RTF to Hypermake ΓòÉΓòÉΓòÉ
subchapters:
About
IPF reverse Converting
RTF reverse converting
Start Conversion (graphical version)
Start Conversion (commandline version)
next chapter:
Writing a Hypermake Source Text
ΓòÉΓòÉΓòÉ 4.1. About ΓòÉΓòÉΓòÉ
If you have already an IPF or RTF file, Hypermake helps you to get a Hypermake
source file. It's not possible to get a perfect source file, but the
rudimentary functions are converted.
RTF (Rich Text Format) is not only the source of the Winhelp compiler, it is
supported by a lot of word processors like Winword.
The reverse converting mode shortens 90 or 95% of your work converting files,
but not 100%. The formats are too different for programming a perfect
conversion. So you should use this functionality only one time. Then you should
rest in editing the Hypermake source.
The ini file (project settings notebook) is used in reverse converting mode,
too. So first take a look at the ini file settings "list char" (unordered
lists), "toggle char" and "Source format". In the graphical Hypermake program,
you will find it on the pages "Format" and "spec. chars" in the project
settings. When compiling IPF source, make sure that you have defined enough
list chars (e.g. four list chars if you have got ordered/unordered lists up to
four levels).
ΓòÉΓòÉΓòÉ 4.2. IPF reverse Converting ΓòÉΓòÉΓòÉ
The IPF reverse converting mode is enabled to convert:
toggles
Headings
unordered lists, ordered lists
main formatting commands (paragraph, break, formatting on/off)
index entries (only i1 level), they will also get link target
graphics (not graphics in text)
It's not enabled to convert:
Fonts
Window arrangement
Margin
Footnotes
definition lists
Panel ID's, connection to EXE program.
ΓòÉΓòÉΓòÉ 4.3. RTF reverse converting ΓòÉΓòÉΓòÉ
For reverse converting RTF to Hypermake can choose between two different RTF
formats:
RTF source files for Windows Help
normal RTF files which are not used for Windows Help (e.g. normal RTF
export from Winhelp).
If you want to convert a RTF file which is not for Windows Help, use the
Parameter /ISTEXT when starting Hypermake from the commandline. The default
parameter is /ISPROG for reverse converting a RTF Winhelp file.
The RTF reverse converting mode is enabled to convert:
toggles
Headings
main formatting commands (paragraph, break, formatting on/off)
index entries (only i1 level), they will also get link target
Margin
Footnotes
graphics (also graphics in text).
It's not enabled to convert:
Fonts
Window arrangement
definition lists
Panel ID's (connection to EXE program)
unordered lists, ordered lists.
The text of the table does not disappear, but the formatting is destroyed. An
easy way to convert the tables and its formatting is simply copying the table
from the Windows viewer to the clipboard and pasting it into the Hypermake
source text between the two .TA dot commands.
In RTF syntax, unsorted lists and sorted lists does not exist. So converting
cannot work in this point. (In the normal direction Hypermake to RTF, sorted
lists and unsorted lists are emulated by other RTF commands.)
Note that some word processors like Winword normally do not export the heading
structure of the document to RTF, but Hypermake needs them in any case! In
Winword you have to choose a template like "heading1" instead of the "default"
template. Please choose a decimal heading structure like "1 - 1.1 - 1.1.1" and
so on. Only this structure is converted to Hypermake heading commands.
ΓòÉΓòÉΓòÉ 4.4. Start Conversion (graphical version) ΓòÉΓòÉΓòÉ
To start the reverse conversion, select Project - Import RTF/IPF. Then you will
be asked to select several filenames:
a filename for the new project (HMP file)
a filename for the Hypermake source text which Hypermake will create by
reverse conversion (If you enter an existing filename, the file will be
overwritten.) Don't use the same filename (without extension) which your
existing IPF or RTF file has, because later the file which Hypermake will
create is sourcefilename.IPF or sourcefilename.RTF and this will
overwrite your IPF or RTF source file without warning.
the name of the IPF or RTF file to be converted
an existing ini file with settings closest to your new project
(Sample.ini of this archive, if you don't have already your own files)
a name for a new ini file for your new project where the settings are
copied from the existing filename above.
After that, the settings notebook will be opened automatically and you can
modify some settings before the reverse conversion will start. Some settings
which define the syntax of the Hypermake source text to be generated are
interpreted by the reverse conversion, e.g. the selection of the toggles. Take
a detailed look at the settings notebook pages "format" and "spec. chars".
After you close the settings notebook, Hypermake starts the reverse
conversion.
ΓòÉΓòÉΓòÉ 4.5. Start Conversion (commandline version) ΓòÉΓòÉΓòÉ
In the main direction you can start Hypermake from the commandline and from HMP
files. Here you need to use the commandline ("OS/2 window", "MS-DOS prompt").
To start the reverse converting mode, you have to enter the ini file you will
use later (e. g. a copy of SAMPLE.INI) and a file with the extension .IPF or
.RTF . Several source files are not supported. For RTF files which are not a
Windows help source, you have to enter the parameter /ISTEXT .
[C:\myProject] HMAKE myDoc.ipf myDoc.ini
The file which is generated has always the same name HMSOURCE.TXT.
ΓòÉΓòÉΓòÉ 5. Writing a Hypermake Source Text ΓòÉΓòÉΓòÉ
subchapters:
Essentials
Beginning
Chapters and Headings
Fonts
Unordered lists and ordered lists
Including Bitmaps
Linking and Indexing
duplication of heading text
Tables
Line drawing
Footnotes
Margins and Formatting
if-conditions
next chapter:
HTML-specific functionality
ΓòÉΓòÉΓòÉ 5.1. Essentials ΓòÉΓòÉΓòÉ
subchapters:
Dot commands
IPF commands
HTML commands
Toggles
Handling of Returns
next chapter:
Beginning
ΓòÉΓòÉΓòÉ 5.1.1. Dot commands ΓòÉΓòÉΓòÉ
The Hypermake format uses dot commands like old WordStar. A dot command is a
complete line beginning with a dot, for example
.SF
sets the standard font to default. Dot commands aren't case sensitive. A lot of
dot commands require parameters, for example
.LM10
will change the left margin to 10. You can leave a space between the dot
command and the parameter.
The line
..comment
will be ignored.
Some dot commands have got more than two characters, but that's only to read it
more easily. You can abbreviate them to the first two chars.
If the dot of the dot command isn't placed in column 1, the dot command is not
interpreted and is treated as part of the text.
In this hypertext, you will find a dot command summary.
ΓòÉΓòÉΓòÉ 5.1.2. IPF commands ΓòÉΓòÉΓòÉ
.:ipfcommand.
.:ipfcommand. expression
You can enter an IPF command directly (that will be an exception, because most
important functions are in the much easier Hypermake format).
ΓòÉΓòÉΓòÉ 5.1.3. HTML commands ΓòÉΓòÉΓòÉ
There are three ways of embedding HTML commands directly. This is interesting
for you if you are familiar with HTML commands. Perhaps you prefer using
original HTML commands sometimes or you want to embed Javascript or Java
programs. Hypermake will omit these commands if you compile to other formats,
of course.
The first command to include HTML commands is directly using <HTML tags> in the
running Hypermake text. With the dot command
.HC on
.HC off
(HTML command) you can use HTML tags by using the HTML specific <HTML tag>
syntax.
Between the HTML brackets < > Hypermake won't change the characters. The
default setting is off. That means, the < > chars will be printed and are not
interpreted as a HTML command. You can turn .HC on at the beginning of your
source text and need not change this setting until you want to use the < >
chars as normal text.
The second way is to enter HTML text and commands directly, e.g. for Javascript
programs. Between the .HTML and the .HYPERMAKE command, the text won't be
interpreted as Hypermake source text (e.g. dot commands would be printed) and
is placed in the HTML file directly.
.HTML
<HTML-commands> running HTML text
.HYPERMAKE
The third way of embedding HTML text is for bigger quantities of commands, e.g.
writing Javascript programs:
.HF filename
The HTML File command will copy the content of the file filename to the
location of the dot command.
ΓòÉΓòÉΓòÉ 5.1.4. Toggles ΓòÉΓòÉΓòÉ
In the ini file (project settings, page "spec. chars") you can set some toggle
chars. If you have chosen "*" for "bold" and "@" for italic, you can write:
This *part of this sentence* is very important.
And you will get:
This part of this sentence is very important.
You also can mix some toggles:
This is *bold and @also italic* and only italic@.
And you will get:
This is bold and also italic and only italic.
You can enter these characters in the integrated editor by using popup menu -
toggle.
You have to think about toggle chars you don't need very often in the normal
text. If you want to use a toggle char as a normal visible character, you have
to type it twice:
@My E-Mail Address:@
Martin@@vr-transport.de
A good choice would be the control chars below 32 when using IBM codepage, if
your editor supports them. . For HTML, the chars above ASCII decimal 127 are
useful.
The integrated Hypermake Editor supports a second way to enter these characters
below 26 when using the Wordstar or Mixed key table: E.g. for the ASCII value
19, you enter Ctrl-P for "printer" and then Ctrl-S or S. (S is the 19th letter
of the alphabet.)
ΓòÉΓòÉΓòÉ 5.1.5. Handling of Returns ΓòÉΓòÉΓòÉ
Writing a text by using an ASCII editor, you can choose between two kinds of
handling Returns. With the ASCIIHARDRET setting in the ini file ("word wrap" in
project settings, page "Format"), every Return will be treated as a new line.
Use this setting if your editor does not put Returns in wrapped lines. Most
editors support this function (often: options - word wrap on/off).
Use ASCIISOFTRET if your editor puts Returns on all line endings. This will
only treat a Return as a new line, if
there are two Returns behind each other (i. e. an empty line)
the last character in the line is . ! ? : ;
ΓòÉΓòÉΓòÉ 5.2. Beginning ΓòÉΓòÉΓòÉ
Every document has one title. The title will be shown as title of the main
window and in the tasklist.
.TI
Documentation of my program
sets the title in HTML files or INF files. Every Hypermake source text should
begin with the title dot command, before the first heading.
Hypermake creates several HTML files from one source text file. You can define
the title of every HTML file with the ini file setting file title (project
settings, page "html-2").
In OS/2 HLP files, the title is set in your program source code, see function
InitHelp. The TI dot command title is ignored.
By default, HLP files don't have the Pushbuttons "Contents", "Back" and
"Forward" that INF files have. If you want to have the same Pushbuttons in HLP
files as in INF files, enter the dot command
.<>
By default, Winhelp files don't have the Pushbuttons Back << and Forward >>,
but they are useful in any case. If you want to have these Pushbuttons, then
enter the dot command
.<>
ΓòÉΓòÉΓòÉ 5.3. Chapters and Headings ΓòÉΓòÉΓòÉ
Every Hypermake document is structured by chapters. Every chapter begins with a
heading. Starting an Hypertext document created by Hypermake, you will get the
content which lists all chapter headings. From the content you can go to every
page of the hypertext.
In the contents window of IBM INF files, you can open and close sub-chapters
like a directory tree. The text under every heading fills a separate window.
Every chapter in a Winhelp document gets its own page.
When Hypermake creates HTML files, you will get a contents file with the
filename INDEX.HTML. Normally every chapter gets its own HTML file. You can
turn off the creation of a contents file on the page HTML-0 of the project
settings notebook when compiling a very small project with perhaps only one
"chapter", that means only one HTML page.
You can arrange your text with heading levels like you would in a scientific
work:
first heading
first sub-heading
second sub-heading
first sub-sub-heading
second sub-sub-heading
third sub-heading
second heading
In the Hypermake format, the headings are written like
.1
first heading
.2
first sub-heading
.2
second sub-heading
.3
first sub sub-heading
.3
second sub sub-heading
.2
third sub-heading
.1
second heading
On the next line after the dot command for the heading level, you can enter
the heading text.
Heading text can be longer than one line. Using the ASCIISOFTRET source
format, you have to enter two Returns after writing a heading text; the text
can be longer than one line.
In a normal document, you would use numeric headings:
1. first heading
1.1 first sub heading
1.2 second sub heading
1.2.1 first sub sub heading
1.2.2 second sub sub heading
1.3 third sub heading
2. second heading
When generating IPF, the Text behind a heading dot command is limited to
approx. 200 chars , but you will see only 70 to 120 chars, dependent on the
size of the INF window on the screen.
At the beginning of a document, normal text can only be written after using
the first heading dot command.
You are allowed to use up to 6 heading levels.
subchapters:
HTML specifics
Winhelp specifics
Links to subchapters
Window arrangement (Frames)
next chapter:
Fonts
ΓòÉΓòÉΓòÉ 5.3.1. HTML specifics ΓòÉΓòÉΓòÉ
With the ini file setting content level ("shown in contents", project settings
page "html-1"), you can define the number of levels shown on the content page.
Most HTML browsers are using a very small font for heading text with level 5
and 6 - smaller than the normal text. Of couse, that's not acceptable. If you
want to create HTML files with 5 or 6 heading levels, you should use bigger
fonts to the level 5 and 6 or for the levels from 4 up to 6.
.HS 123234
or
.HS 112233
changes the size of the fonts of levels 1 to 6.
The default setting is:
.HS 123456
Please note the Javascript contents tree view since Hypermake 3.6.
ΓòÉΓòÉΓòÉ 5.3.2. Winhelp specifics ΓòÉΓòÉΓòÉ
You will find all Winhelp-specific ini file settings in the project settings
notebook, page "Winhelp".
With the setting heading fonts in the ini file, you can choose the font of the
heading text by typing a font char for each heading level. Font chars are
defined in the ini file.
Winhelp allows to get the heading text fixed, so scrolling the page does not
hide the heading text. You can turn off and on this setting with keep heading .
The two Winhelp formats WINHELP3 and WINHELP4 have got a different way of
showing the contents: WINHELP3 has no contents functionality, so Hypermake
generates a contents on the first page of the Hypertext. WINHELP4 uses CNT
files. These contents files have to be shipped together with the HLP file and
are in ASCII format. CNT files are pointing to all pages of the HLP file. They
have got a tree view of the chapter headings.
CNT files cannot be read with Windows 3.1. Hypermake enables you generating an
internal contents or a CNT file or both, independent from choosing the target
format WINHELP3 or WINHELP4, by using the contents creation setting in the ini
file.
When creating an internal contents page in the HLP file, the normally HTML
specific contents level setting is interpretated. So you can create a contents
page with only 2 heading levels. In addition, you can use the program parameter
/internal, so you can create an internal contents instead of a CNT file without
changing the ini file.
CNT files have got a very bad design: A main chapter cannot point to a page
with normal text before the sub chapters begin. But that's the normal form of
text documents. Hypermake creates a new first sub chapter with a heading
"general" where this text is placed. You can change the heading text of this
first sub chapter with contents general text .
ΓòÉΓòÉΓòÉ 5.3.3. Links to subchapters ΓòÉΓòÉΓòÉ
When a chapter has got subchapters, links to subchapters and a link to the next
chapter with the same heading level are automatically created. You can set the
text "subchapters" and "next chapter" and in the ini file (project settings
page "Link"), setting text for link to... .
By default, the heading text links of the sub chapters are written line by
line. E.g. in a homepage, it can be useful to save vertical space. In this case
writing the heading texts without Return is recommended.
With the dot command .SC (Subchapter separation characters) you can change the
appearance of the links to subchapters.
.sc chars
fits the characters "chars" between the subchapters heading text instead of a
Return. The command
.sc RETURN
resets the default setting with one Return between each heading text.
.btx blackdot
.sc x
.2
heading text of the first sub chapter
.sc RETURN
Instead of x, you have to use a character you won't need in your text. These
commands will place the graphics file BLACKDOT.GIF in the heading text.
.sc RETURN RETURN
.sc PARAGRAPH
The two commands have got the same effect: They force an empty line between
each heading text.
.sc LIST
writes the sub chapter headings as an unsorted list.
ΓòÉΓòÉΓòÉ 5.3.4. Window arrangement (Frames) ΓòÉΓòÉΓòÉ
With only one dot command, you are able to divide the hypertext screen into two
or three parts to show two or three heading levels simultaneously.
Arranging two heading levels
With the dot command Window Arrangement
.WA verti 30
followed by a normal heading level dot command, the main window is divided
vertically into a left window (30% of the main window) and a right window (the
remaining 70%). The left window contains the chapter with the heading level
entered after the WA dot command (called the "main chapter" below). In the
right window the first sub chapter of the main chapter appears.
Note the spaces between the parameters of the window arrangement dot command.
When using window arrangement, I strongly recommend leaving the automatic link
to subchapters function turned on in the ini file (project settings page
"Link").
.WA hori 40
divides the main window horizontally. The main chapter gets the top window (40%
of the main window), the subchapter the bottom window (the remaining 60%).
You can enter percent values from 10 to 90.
With the commandline parameter /NOFRAMES , this dot command won't be
interpreted.
For a sample arrangement of two heading levels see dot command summary or ini
file.
Winhelp does not support Frames. Nevertheless, the .WA command is
interpretated, but only with WINHELP4. Hypermake separates the help text in two
help windows.
On the left side of the main window, Hypermake generates a smaller window. The
name of the smaller left window is "navi", the name of the normal window is
"main". The verti/hori and percent values of the .WA command are not
interpreted. I recommend not to write a lot of text in the main chapter because
the main chapter gets the small "navi" window. In the smaller "navi" window the
automatically generated links to subchapters let the user navigate between
several subchapters which are shown in the bigger "main" window.
When creating HTMLHELP, Hypermake always uses the "hori" setting of the .WA
command even "verti" was entered: The MS HTML-Help viewer shows the contents
tree at the left side and the normal text at the right side of the help window.
Separating the text window vertically again would produce an inacceptable small
text window.
Arranging three heading levels
This functionality is only available so far for creating IPF files.
In the same way, you are allowed to arrange three heading levels. Now you have
to enter a hori and a verti value simultaneously.
.WA hori 40 verti 30 III
The first hori/verti value divides the main window completely from left to
right / from top to bottom. The second hori/verti value divides again one of
the parts into two parts, so you will get three windows: two smaller windows
and a bigger window. You can choose which heading level gets the bigger window.
Possible settings are I and III . So you can choose between four kinds of
arrangements:
verti hori hori verti
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé Γöé II Γöé Γöé I Γöé
I Γöé I Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöé Γöé III Γöé Γöé II Γöé III Γöé
Γöé Γöé Γöé Γöé Γöé Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé I Γöé Γöé Γöé I Γöé II Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ Γöé Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
III Γöé Γöé III Γöé Γöé Γöé
Γöé II Γöé Γöé Γöé III Γöé
Γöé Γöé Γöé Γöé Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
I is the main chapter, II the subchapter of the main chapter, III the sub sub
chapter of the main chapter.
The window arrangement dot command is active for one main chapter with its sub
and sub sub chapters.
The window arrangement only works when the main chapter window is activated
directly. When linking from somewhere to the sub sub chapter or using the
contents window to get directly into the sub sub chapter ( III ), the screen
won't be divided. When linking to a II window, the III window also appears, but
the space for the I window will not be used.
If you want to arrange three heading levels simultaneously, but not every
chapter contains sub chapters, the level I window should become the bigger
window. That means I and not III should be used in the WA dot command. Then the
window of level II also takes the room of the level III window, if the level
III does not exist.
subchapters:
Sample Input
Sample Output
next chapter:
Fonts
ΓòÉΓòÉΓòÉ 5.3.4.1. Sample Input ΓòÉΓòÉΓòÉ
.WA verti 50 hori 40 I
.4
Sample Output
The main chapter with links to subchapters.
.5
first sub chapter
The first sub chapter.
3 frames are only supported when compiling IPF.
.6
first sub sub chapter
The first sub sub chapter of the first sub chapter.
.6
second sub sub chapter
The second sub sub chapter of the first sub chapter.
.5
second sub chapter
The second sub chapter.
.6
first sub sub chapter
The first sub sub chapter of the second sub chapter.
.6
second sub sub chapter
The second sub sub chapter of the second sub chapter.
ΓòÉΓòÉΓòÉ 5.3.4.2. Sample Output ΓòÉΓòÉΓòÉ
The main chapter with links to subchapters.
subchapters:
first sub chapter
second sub chapter
next chapter:
Fonts
ΓòÉΓòÉΓòÉ 5.3.4.2.1. first sub chapter ΓòÉΓòÉΓòÉ
The first sub chapter.
3 frames are only supported when compiling IPF.
subchapters:
first sub sub chapter
second sub sub chapter
next chapter:
second sub chapter
ΓòÉΓòÉΓòÉ 5.3.4.2.1.1. first sub sub chapter ΓòÉΓòÉΓòÉ
The first sub sub chapter of the first sub chapter.
ΓòÉΓòÉΓòÉ 5.3.4.2.1.2. second sub sub chapter ΓòÉΓòÉΓòÉ
The second sub sub chapter of the first sub chapter.
ΓòÉΓòÉΓòÉ 5.3.4.2.2. second sub chapter ΓòÉΓòÉΓòÉ
The second sub chapter.
subchapters:
first sub sub chapter
second sub sub chapter
next chapter:
Fonts
ΓòÉΓòÉΓòÉ 5.3.4.2.2.1. first sub sub chapter ΓòÉΓòÉΓòÉ
The first sub sub chapter of the second sub chapter.
ΓòÉΓòÉΓòÉ 5.3.4.2.2.2. second sub sub chapter ΓòÉΓòÉΓòÉ
The second sub sub chapter of the second sub chapter.
ΓòÉΓòÉΓòÉ 5.4. Fonts ΓòÉΓòÉΓòÉ
subchapters:
Using fonts
HTML Phrase element samples
Color samples
next chapter:
Unordered lists and ordered lists
ΓòÉΓòÉΓòÉ 5.4.1. Using fonts ΓòÉΓòÉΓòÉ
You can define serveral fonts in the ini file (project settings page "Font"). A
"font" has got a specific size, a specific color, a specific fontname (like
"Helvetica") and some other attributes. Some attributes are target format
specific.
A font which is defined in the ini file is abbreviated with an upcase or an
downcase letter, the "font char". The letters are case-sensitive, so you can
use 2 x 26 font char as shortcuts. Every font char represents a font with
specific attributes defined in the ini file. Normally you won't use more than 3
or 4 font chars. I recommend using the default font for most of the text (with
no attributes). Otherwise the user who views the text has to read a font which
is good for you and your screen, but not for him!
Select Font
You can choose a font with the dot command select font
.SFX
X is a font character from A to Z and from a to z (case sensitive!).
You can assign different fonts, sizes and colors to each of the 2 x 26 chars in
the ini file.
A font will be active till the next font dot command, even through headings.
To set the font to default, use the dot command without parameter:
.SF
Alternate Font
Like .SF you can use .AF alternate font. The alternate font will be activated
between two occurrences of the alternate toggle char, assigned in the ini file
(project settings page "spec. chars").
So you can change font and color in one line:
That d o e s n't l o o k very good.
Alternate fonts should be only active within a paragraph. To write more than
one paragraph in another font, please use the .SF command.
Font Attributes
Font attributes are defined for every font character:
font X =
At the right side of the equal char, you can list attributes, seperated by
spaces. An attribute must not contain spaces, use underscore instead.
Fontname
When creating an OS/2 help file, you can choose between all fonts which are
part of the default installation of OS/2: You will find a list of the available
font in the folder "system configuration", program "font palette": Courier Helv
Helvetica Roman System_monospaced System_proportional System_VIO
Times_New_Roman Tms_Rmn and since Warp 3 Swiss Warp_Sans. Rembember that
instead of spaces you have to enter _ underscore.
Creating Winhelp, fontnames have to be entered together with its family name,
e.g. fswiss:Helvetica. There are three font families:
fmodern: fixed font, that means i has the same width like m (e.g.
Courier)
froman: proportional font with serifs (e.g. Roman)
fswiss: proportional font without serifs (e.g. Helvetica)
For HTML, you can enter fontnames or "phrase elements".
Assigning fontnames directly is not supported by every browser and you can't
be sure that the font you have chosen is available on every operating system.
To get a realistic chance to hit a font supported by the browser or the
operating system, you have to enter more than one fonts, e.g.
Arial,Helv,Helvetica,Univers . Hypermake requires at least two fonts, divided
by comma, without spaces. If you want to enter a font with a space in the font
name like "Tms Rmn", write an underscore _ instead of the space.
I recommend not using HTML fonts, because you don't know whether the font is
available on the operating system of the user. And it's patronizing the user
who is no more able to choose his favorite font.
HTML Phrase Element
The concept of HTML is different to Help files. Help files are special files
for a specific operating system, HTML files not. Perhaps the HTML file is
viewed on a computer where the "Courier" font isn't available. The user should
choose how the information is shown - the author only defines the purpose of
the text, e.g. CODE for program code (a fixed font will be used). The browser
chooses a font which harmonizes with the purpose.
HTML knows the following Phrase Elements:
PRE ADDRESS EM STRONG DFN CODE SAMP VAR CITE
PRE has got a special effect: If a font with Phrase element PRE is chosen, all
Carriage Returns of the source text will be shown in the HTML file - automatic
formatting of running text is disabled.
And here is the purpose of the other Phrase elements:
EM basic emphasis typically rendered in an italic font
STRONG strong emphasis typically rendered in a bold font
DFN defining instance of the enclosed term
CODE used for extracts from program code
SAMP used for sample output from programs, and scripts etc.
VAR used for variables or arguments to commands
CITE used for citations or references to other sources
For IPF, you can define a font with PRE , so you do not need formatting dot
commands. PRE will turn formatting off.
Font size
All target formats support font sizes. 10 or 12 (point) is a normal size. It
can happen that some target formats gets a too small or too large font in
comparison to other target formats when using font sizes. In this case, you
can globally influence the size of the fonts which have got a size value in
the ini file by using the program parameters bigfont and smallfont (parameter
section in project settings page "main"). This will enlarge or reduce the size
by 30%.
Then you can enter relative sizes like 0 +1 -1. In addition to relative size,
you can also enter absolute sizes for other Hypertext formats. But the
relative HTML size has to be placed in front of the absolute size.
The IPFC compiler won't accept more than 14 fonts of a specific size in one
document.
Codepage
For IPF you can enter a codepage number with three digits like 437 or 850 .
Colors
All hypertext formats supports colors. The colors for the different target
formats are distinguished by case sensitive color names.
For HTML and Winhelp, the color names have to begin with a capital letter and
the following letters are small ones. There are 16 colors:
Black Silver Gray White Maroon Red Purple Fuchsia Green Lime Olive Yellow
Navy Blue Teal Aqua
IPF knows the following colors for the font:
default blue cyan green neutral red yellow black
Note that the colors are written in small letters. IPF is the only format
which lets you define background colors. The background colors are the same,
but written completely in capital letters.
other attributes
You can define a font with a center attribute, so you do not need the output
centered dot command.
There are two other font attributes. OmitLinks is described in linking,
Omitting links; LineStandard in line drawing.
ΓòÉΓòÉΓòÉ 5.4.2. HTML Phrase element samples ΓòÉΓòÉΓòÉ
The output of phrase element commands depends on the browser.
HTML Phrase Elements cannot be shown with this Hypertext format.
ΓòÉΓòÉΓòÉ 5.4.3. Color samples ΓòÉΓòÉΓòÉ
IPF Colors:
foreground
default
blue
cyan
green
neutral
red
yellow
black
background
DEFAULT
BLUE
CYAN
GREEN
NEUTRAL
RED
YELLOW
BLACK
ΓòÉΓòÉΓòÉ 5.5. Unordered lists and ordered lists ΓòÉΓòÉΓòÉ
The following text represents an unordered list:
Style
- font (default, Tms_Rmn, Helv, Courier, System_VIO)
- size
Color
- foreground color (default, blue, cyan, green, neutral, red, yellow,
black)
- background color (same colors as foreground color).
Resize the window with your mouse and observe the formatting of the text. You
won't get this effect when using normal characters and spaces.
In IPF and HTML format, you can't change the list chars the viewer/browser
chooses.
Winhelp has no list functionality included, so Hypermake emulates that
functionality. Because Hypermake generates the lists, Winhelp is the only
format where you can influence the appearence of the lists:
The ini file setting List indention (project settings page "Winhelp")
influences the size of the left margin (dot command .LM) and the
indention of Lists.
With "printed listchars" you can choose which character is the left fat
dot. Capital O and small o are useful letters. You are allowed here to
use bitmap characters (command .BT bitmap text). A Bitmap character is a
special character which represents a bitmap file. A fine looking list dot
is BLACKDOT.BMP in the Hypermake folder BUTTONS\WINBMP.
The HTML and IPF command "Definition List" is not supported directly. You can
emulate it with the Hypermake auto margin command.
In the ini file (project settings page "spec. chars") you can define list
chars. List chars have to be at the beginning of a line. If the list chars in
the ini file are * for the first list level and = for the second level, then
to generate the list from the last page, you have to enter
* Style
= font (default, Tms_Rmn, Helv, Courier, System_VIO)
= size
* Color
= foreground color (default, blue, cyan, green, neutral, red, yellow, black)
= background color (same colors as foreground color).
You can add list chars for further levels. Other useful chars are the square
Alt-254, the graphical double/single slash Alt-205/Alt-196 and the normal
slash -.
To enter normal text after writing an unordered list, you have to enter a
paragraph.
You can put more spaces before and after the list char, they will be ignored.
The same result as above will be produced by:
* Style
= font (default, Tms_Rmn, Helv, Courier, System_VIO)
= size
subchapters:
Ordered lists
next chapter:
Including Bitmaps
ΓòÉΓòÉΓòÉ 5.5.1. Ordered lists ΓòÉΓòÉΓòÉ
An ordered list counts with 1., 2., 3., and, in the second list level, with a.,
b., c. The third list level will be numeric again and so on. You can't change
this.
To create an ordered list, you first have to proceed like writing an unordered
list. With the dot commands ordered list and unordered list
.OL
.UL
you can switch between ordered and unorderd lists. So you can use this two
commands as brackets to get an ordered list. The default setting is unordered
list.
ΓòÉΓòÉΓòÉ 5.6. Including Bitmaps ΓòÉΓòÉΓòÉ
To include a big bitmap centered, you can use the dot command bitmap
.BM filename
If you write the filename without extension when creating IPF files, ".BMP"
will be automatically added. IPFC also supports OS/2-MET-files.
Remember that both IPF and Winhelp are using BMP files, but IPF wants to get
OS/2 Bitmap files and Winhelp Windows Bitmap files. Use the graphic path
setting to copy the right BMP files for both target formats.
If you write the filename without extension, ".BMP" will be automatically added
when creating Winhelp files.
When creating HTML files, ".GIF" is automatically added, if you write the
filename without extension.
Instead of a filename, the BM dot command accepts also the keywords LEFT RIGHT
CENTER (CENTER only IPF). The default setting is LEFT . The setting is active
until you change it a second time. E. g. to include a graphics file with right
alignment, enter:
.BM RIGHT
.BM filename
In HTML, with the default stting CENTER you will get a bitmap with left
alignment with no floating text.
With the second dot command bitmap text, you can include bitmaps in text.
.BTX filename
X represents a bitmap char, a special character you don't need in your text.
This character will be replaced in your text by the bitmap "filename". Note
that bitmaps are bigger than characters, so you will get a greater line hight
at the lines with included bitmaps, even if the bitmap is as small as a
character. Block chars like Γûá (Alt-219), Γûá (Alt-220), Γûá (Alt-223) are useful
bitmap chars (IBM codepage).
You are allowed to define several bitmap chars simultaneously.
To deactivate a character-bitmap definition, you can enter
.BTX
without a filename.
(new in Hypermake 3.65) If the graphics files are not placed in the current
directory, you can set a directory with
.BD directory/
with bitmap directory. directory/ is placed in front of every filename in the
.BM and .BT commands which follows. Don't forget the Backslash \ or Slash / .
This command does not affect HTML navigation buttons. Copying graphic files is
deactivated when using .BD .
ΓòÉΓòÉΓòÉ 5.7. Linking and Indexing ΓòÉΓòÉΓòÉ
subchapters:
Introduction
Marking a single word, Changing the index char
Marking a phrase of several words in the running text
Marking a phrase outside the running text
Handling of endings, uppercase and lowercase letters
Marking a word several times
Omitting links
External links (IPF/Winhelp4)
External links to the WWW
Launching programs by links
next chapter:
duplication of heading text
ΓòÉΓòÉΓòÉ 5.7.1. Introduction ΓòÉΓòÉΓòÉ
Linking is the most powerful function of Hypermake. When writing an HTML, RTF
or IPF file directly, you have to create every link by yourself - so if you
write a document of 1 MB about workgroup computing and you have the occurrence
of the phrase "workgroup computing" one thousand times, it's your job to create
one thousand links...
With Hypermake, your job is only to mark one occurrence of a single word or a
phrase of several words with a special character (index char). All other
occurrences will get a link to the marked occurrence (link target).
Simultaneously, it will be placed in the index.
When creating HTML files, an index in alphabetic order is written in a seperate
HTML file. This index file has got two kinds of appearence: A simple index and
an extended index. The simple index is for only a few index entries, the
extended index is for a bigger number of entries. The extended index has got
links for the letters A to Z, the simple index not. You can enter the number of
index entries to activate the extended index in the ini file, entries for
extended index (project settings page "html-1").
On page HTML-0 of the project settings notebook, you can omit the creation of
the index page when creating HTML. This can be recommended when compiling a
small web page where only a small number index entries wouldn't look adequate.
ΓòÉΓòÉΓòÉ 5.7.2. Marking a single word, Changing the index char ΓòÉΓòÉΓòÉ
Marking a single word
You can mark a single word for linking and indexing with the index char,
defined in the ini file.
A #workgroup is a group of people...
Note: Do not use index chars in headings, use automatic duplication of heading
text instead.
Changing the index char
You also can change the index char in the text by using the dot command index
char
.IC@
This will change the index char from the actual setting, for example # , to @ .
ΓòÉΓòÉΓòÉ 5.7.3. Marking a phrase of several words in the running text ΓòÉΓòÉΓòÉ
When using the index char, only one word will be marked. A word ends with the
first character which is not a letter or "-". (Characters which have to be
handled like letters can be defined in the ini file, extended letters, project
settings page "spec. chars").
To mark a phrase, you have to use ":" as brackets:
Today, the #:security of computers: is...
...
Nevertheless, the #:security of mainframes: can be...
...
But the #:usability of computers; has to...
In the index, it will appear
computers, usability of
security
of computers
of mainframes
Note the difference between the first/second and the third example: A
"#:XXXX:" will use the first word of the phrase as the leading word, a
"#:XXXX;" the last word. The leading word is the word which determines the
alphabetic order in the index. The leading word does not refer to the linking
function.
If there is only one occurrence of a leading word like
computers
usability of
the Hypermake entry in the index will be:
computers, usability of
You are allowed to use the "colon brackets" to crop endings:
The importance of #:computer:s is growing...
In the index "computer" will appear without "s", also the link target will be
"computer" and not "computers".
ΓòÉΓòÉΓòÉ 5.7.4. Marking a phrase outside the running text ΓòÉΓòÉΓòÉ
With the dot command INdex
.IN phrase
you can place a word or a phrase in the index and define it as a link target.
Because it's a dot command, "phrase" won't be printed. You can use this
command, when the phrase you want to place in the index and you want to link
doesn't appear explicitly in the running text.
Normally, the first word of the phrase will be the leading word. If you want to
make the last word the leading word like using the brackets colon-semicolon in
running text, you can use the dot command index turned.
.IT usability of computers
When the phrase in the dot command IN or IT ends with a space, links won't be
created, but the phrase is placed into the index. You can use this bug as a
feature.
ΓòÉΓòÉΓòÉ 5.7.5. Handling of endings, uppercase and lowercase letters ΓòÉΓòÉΓòÉ
Handling of endings
What to do when the source link word is "computers" and the marked word is
"computer" without "s"? In this case, Hypermake will create the link
nevertheless, because the ending "s" is defined in the ini file (endings of
words, project settings page "Link"). Note when using other languages you have
to edit the "endings of words".
Marking a word with an ending is not recommended, because when the word occurs
without the ending, the link won't be created.
To find the corresponding word even in the case "query" "queries", Hypermake
crops the last letter of the word when it's a vowel (in this case "y"). That's
the correct method for the english and german language (and I hope it's okay in
the other languages, too).
Uppercase and lowercase letters
Links are created, regardless of whether the first letter in the target link
phrase is capitalised. If other chars than the first letter are different, the
link won't be created. Sample:
.IN Word
Links are created to Word , word , but not to WORD .
(new in Hypermake 3.65) With the dot command
.IU
(ignore uppercase) at the beginning of the source text will ignore uppercase
and lowercase letters.
ΓòÉΓòÉΓòÉ 5.7.6. Marking a word several times ΓòÉΓòÉΓòÉ
Hypermake expects a word or a phrase to be marked only once. If you mark a word
several times, it will appear several times in the index, and the link target
will be the first marked phrase.
ΓòÉΓòÉΓòÉ 5.7.7. Omitting links ΓòÉΓòÉΓòÉ
Of course, links are omitted when the link would point to the same window
(chapter). Links are also omitted when there is more than one occurrence of the
target link phrase in the paragraph. For example dot command dot command dot
command - only the first occurrence of "dot command" in the paragraph gets the
link.
If you want to omit several links of the same phrase in the whole window and
not only in the same paragraph, you can edit the ini file, switch no more links
in (project settings page "Link", "paragraph" or "window"). With this setting,
you can also turn of the omitting functionality ("always").
Sometimes it can be useful to omit links font specific, for example in sample
text. You can define fonts which omit links automatically with the Font switch,
setting OmitLinks in the ini file (Font Dialog on project settings page
"Font").
Of course you are allowed to define another font with identical parameters, but
with the OmitLinks setting. So you can omit links without really changing the
font.
ΓòÉΓòÉΓòÉ 5.7.8. External links (IPF/Winhelp4) ΓòÉΓòÉΓòÉ
External links are links to chapters of other INF or HLP files or links to the
WWW. You can only create links to other help files if you write the remote help
file by yourself or you know the ID names of the pages you want to link to.
External links are not supported by Winhelp3.
For creating Winhelp, Panel ID files are not used. When compiling IPF,
Hypermake gets the information about the link target from the Panel ID file of
the remote helpfile. The other steps are identical for both formats.
To create such external links, you have to edit
the ini file or project settings, page help (IPF only)
the file which is shown when using the link (link target file)
the file from where the link is executed (link start file).
External links for IPF are using the Hypermake function panel ID. But you need
not read the panel ID chapter.
Ini file
After "Panel ID filename =" in the ini file (project settings page
"Helpfile"), you have to enter a file extension beginning with *. like
Panel ID filename = *.PAN
Compiling the link target file with Hypermake automatically generates a panel
ID file with the file name of the source text file and the extension PAN. This
panel ID file is used by Hypermake when compiling the link start file.
Link target file
When indexing headings, Hypermake assigns numbers to the headings
automatically beginning with 1. It would be tedious to remember a heading ID
number like 237 - and the number changes when a new heading is inserted - so
instead of a ID number, you enter an easy to remember constant like
Chapter_beginning. With the dot command
.ID Chapter_beginning
in the link target file, the chapter gets this ID name, e.g.
"Chapter_beginning", where the dot command is placed, see file SAMPLE.
When creating IPF, all these ID names are placed in a file Sourcefilename.PAN,
or with another extension, depending on the entry in the ini file. This panel
ID file is used by Hypermake for IPF when compiling the link start file.
Link start file
In the file where the external link is executed from, the ID dot command of
the link target file has to be repeated. Then the dot commands for normal
links .IN and .IT (index turned) are used as usual. These dot commands are
placed between two new .EX dot commands.
.EX filename.hlp
.ID Chapter_beginning
.IN expression
.EX
After the EX dot command, you can enter the filename of the external hypertext
file. Note that the extensions INF and HLP are allowed. All following ID, IN
and IV dot commands are referenced to the external file until EX is entered
with a new filename or without any parameters. You must not write normal text
between the two EX commands.
All expressions "expression" in the link start file are getting an external
link to the chapter of the file filename.inf or filename.hlp, marked with the
ID dot command ".ID P_Chapter_beginning".
It does not matter where the .EX - .EX block is placed in the link start file.
Pascal programmers have to pay attention: the constant following the ID dot
command is case sensitive!
Always take a look at the date of the IPF files: If you change the link target
file, Hypermake has to compile this file before compiling the link start file
- because of updating the panel ID file.
When entering a filename
.EX filename.hlp
you normally should not enter drive letters and directory names, because on
several computers the file can be located at different drives and directories.
You need not enter any directory names if the link target file is located in
the same directory as the link source file. You won't have any problems
either, if the directory appears after "SET BOOKSHELF" in the file CONFIG.SYS.
If these two possibilities do not work, you should use environment variables.
Try the sample external links or click to the expressions chancellor, SPD and
CDU (only if this document is a Win95 or OS/2 help file). While writing this
hypertext (that's the link start file) I have entered somewhere the following
commands:
.EX sample.hlp
.ID chapter_chancellor
.IN chancellor
.ID chapter_political_parties
.IN SPD
.IN CDU
.EX
In the file SAMPLE which is the link target, you also can find the two ID dot
commands in the specific chapters about chancellor and political parties.
ΓòÉΓòÉΓòÉ 5.7.9. External links to the WWW ΓòÉΓòÉΓòÉ
This functionality is supported by all formats, but not by Winhelp3. From help
files, the browser is started automatically.
To use the functionality in OS/2 help files, the user needs to have a browser
NETSCAPE.EXE in a directory listed in the PATH statement of the CONFIG.SYS
file.
When using Win95/NT and a Winhelp file, the browser with the HTML file default
association is started.
External mailto: links (starting the browser E-Mail program) are neither
supported in Winhelp3 nor in Winhelp4.
Manual external links
If Hypermake locates an expression beginning with a transfer protocol name and
a colon like ftp://ftp.leo.org, the link is activated automatically. The end of
such a URL address is SPACE or RETURN or , or ) or ;. This feature is always
active, but you can turn it off by using a font with OmitLinks setting.
Transfer protocol names are:
http://
ftp://
gopher://
wais://
news://
file://
javascript:
mailto:
Automatic external links
With Hypermake you can define a word or a phrase getting a link to an URL. That
means all specific words/phrases in the document are pointing to a specific
internet address. For example if all occurences of "Netscape" and
"Netscape-Browser" should point to the Netscape page in the internet, you have
to enter:
.URL http://home.netscape.com
.IN Netscape
.IN Netscape-Browser
.LOCAL
Note that the well-known IN-commands have to be placed between a ".URL" and a
".LOCAL" command. So before writing normal text, don't forget the ".LOCAL"
command. I recommend to place all these URL links at the beginning or end of
the text.
Marking external links
You can set a graphics file in the ini file, setting URL graphics file (project
settings page "Link") which is placed in front of every external link. So the
user can distinguish between links where he need not to be online and external
links where he needs to be online (which are starting a browser from the help
file). Please turn off this functionality with URL graphics file = NO if you
want to publish HTML files in the WWW, because external links are here
absolutely normal.
The BMP and GIF files WORLD and WORLD2 In the Hypermake Library of buttons
(directory BUTTONS) serves this purpose.
ΓòÉΓòÉΓòÉ 5.7.10. Launching programs by links ΓòÉΓòÉΓòÉ
Similar to external links, you can create links from Help files to external
programs, that means launching programs.
This functionality is supported by Winhelp3, Winhelp4 and IPF and does not work
with HTML.
.EX NOTEPAD.EXE SAMPLE.TXT
.IN file SAMPLE for Windows
.EX E.EXE SAMPLE.TXT
.IN file SAMPLE for OS/2
.EX
If the user clicks to file SAMPLE for Windows or file SAMPLE for OS/2, the
external program is launched. In the EX dot command, the parameters behind the
program filename are optional. Program name and parameter are divided by a
space character. The extension .EXE has to be entered! You can also launch
batch files with the extension .CMD or DOS programs with the suffix .BAT or
.COM .
You can enter several IN dot commands after one EX command, for example to get
links with the expression "parrot" and "bird movie".
Winhelp3 has got problems when locating the data file, in this sample
SAMPLE.TXT, because it does not remember the current path of the help file,
Winhelp4 and IPF does not have these problems. Use environment variables in
this case or avoid launching programs with a data file.
To use an expression like "CONFIG.SYS" or "bird (movie)" as a link target, the
dot and the parenthesis have to be defined as extended letters.
If the files are not located in the same directory at different computers, you
should use environment variables.
subchapters:
Environment variables
next chapter:
duplication of heading text
ΓòÉΓòÉΓòÉ 5.7.10.1. Environment variables ΓòÉΓòÉΓòÉ
When creating external links and when launching programs, environment variables
can be useful and necessary.
If you want to use a help file on different computers, directory names should
be substituted by environment variables, e.g. %MMVIDEO%. On every computer
using your hypertext, the file CONFIG.SYS (OS/2) AUTOEXEC.BAT (DOS, Win95) or
the Registry (NT) should have for example the following entry:
SET MMVIDEO=C:\MMOS2\MOVIES
In the Hypermake source file, you can use this variable:
.EX mppm.exe %MMVIDEO%\macaw.avi
.IN parrot
.EX
The operating system replaces the expression %MMVIDEO% with the drive and
directory name listed in the SET statement.
In the same way you can create external links.
But take care of the directory names ending with semicolon:
SET MMBASE=C:\MMOS2;
In this case the environment variable does not work (at least with OS/2) and
the link won't be created.
ΓòÉΓòÉΓòÉ 5.8. duplication of heading text ΓòÉΓòÉΓòÉ
The appearance and placement of the headings depends on the target format: IBM
Help places the heading into the titlebar, HTML places the heading into the
text area. By default, Winhelp doesn't show any heading - in any case Hypermake
needs to act here.
It's often necessary to use the heading text as a link target, to place it into
the index and - interesting for IPF - to duplicate the heading text in the text
window with a bigger or colored font:
.3
heading text
.IN heading text
.sfX
heading text
.sf
You can shorten this tedious job: Using the new dot command DuPlicate
.dpX
duplicates the heading text at the beginning of the text window, in all heading
levels.
That's useful if you write long heading text, because in the titlebar of OS/2
INF files only the first 70 characters are shown on average.
When compiling Winhelp, heading duplication is always activated. Otherwise the
heading text would only appear in the search result list. With heading fonts in
the ini file (project settings page "Winhelp") you can choose the font chars of
the heading text. Of course these font chars have to be defined in the ini
file. In addition, you can choose whether scrolling of the page also let the
heading scroll or not. You can turn this setting off and on with keep heading .
You can omit specific characters in the index and when duplicating heading text
with the ini file setting index filter .
.dpX34
duplicates heading text only in heading level 3 and 4.
.dp-
turns off the duplication of heading text for all heading levels.
.dp-234
deactivates the duplication functionality only in the heading levels 2, 3 and
4.
.dp#
the heading text becomes a link target. Writing the heading text after the IN
dot dommand is no longer necessary. Instead of # you can also write the index
char you have chosen in the ini file (project settings page "spec. chars").
.dp##
In addition to the last sample, the heading text is also listed in the index.
But be carful with this function, because you will get a redundancy of
information in the contents and the index.
And a big index can dramatically slow down a (very big) OS/2 HLP or INF file!
.dp3##,
.3
Smith, John
in the text window (duplicated text), "John Smith" is shown, and that's also
the link target. But in the window heading, the contents and the index, "Smith,
John" is written.
You can combine any of these commands, the order makes no difference.
subchapters:
Sample input
Sample output
next chapter:
Tables
ΓòÉΓòÉΓòÉ 5.8.1. Sample input ΓòÉΓòÉΓòÉ
.WA verti 40
.dp4E#,
.3
Sample output
German federal chancellors since 1949
(CDU, SPD and chancellor are external links. Font E is defined in the ini
file.)
.4
Adenauer, Konrad
1949-1963, CDU, first chancellor after the second world war. His successor was
Ludwig Erhard.
.4
Erhard, Ludwig
1963-1966, CDU, Successor of Konrad Adenauer. Second chancellor of the Federal
Republic of Germany. He was predecessor of Kurt Georg Kiesinger.
.4
Kiesinger, Kurt Georg
1966-1969, third chancellor of CDU, leader of the "big coalition" of the
parties CDU and SPD. Successor of Ludwig Erhard.
.4
Brandt, Willy
1969-1974, first chancellor of the SPD.
.4
Schmidt, Helmut
1974-1982, chancellor of the SPD. Successor of Willy Brandt.
.4
Kohl, Helmut
chancellor of the CDU from 1982 till 1998. His predecessor was Helmut Schmidt.
.4
Schroeder, Gerhard
current chancellor of the SPD. His predecessor was Helmut Kohl.
ΓòÉΓòÉΓòÉ 5.8.2. Sample output ΓòÉΓòÉΓòÉ
german federal chancellors since 1949
(CDU, SPD and chancellor are external links. Font R is defined in the ini
file.)
subchapters:
Adenauer, Konrad
Erhard, Ludwig
Kiesinger, Kurt Georg
Brandt, Willy
Schmidt, Helmut
Kohl, Helmut
Schroeder, Gerhard
next chapter:
Tables
ΓòÉΓòÉΓòÉ 5.8.2.1. Adenauer, Konrad ΓòÉΓòÉΓòÉ
Konrad Adenauer
1949-1963, CDU, first chancellor after the second world war. His successor was
Ludwig Erhard.
ΓòÉΓòÉΓòÉ 5.8.2.2. Erhard, Ludwig ΓòÉΓòÉΓòÉ
Ludwig Erhard
1963-1966, CDU, Successor of Konrad Adenauer. Second chancellor of the Federal
Republic of Germany. He was predecessor of Kurt Georg Kiesinger.
ΓòÉΓòÉΓòÉ 5.8.2.3. Kiesinger, Kurt Georg ΓòÉΓòÉΓòÉ
Kurt Georg Kiesinger
1966-1969, third chancellor of CDU, leader of the "big coalition" of the
parties CDU and SPD. Successor of Ludwig Erhard.
ΓòÉΓòÉΓòÉ 5.8.2.4. Brandt, Willy ΓòÉΓòÉΓòÉ
Willy Brandt
1969-1974, first chancellor of the SPD.
ΓòÉΓòÉΓòÉ 5.8.2.5. Schmidt, Helmut ΓòÉΓòÉΓòÉ
Helmut Schmidt
1974-1982, chancellor of the SPD. Successor of Willy Brandt.
ΓòÉΓòÉΓòÉ 5.8.2.6. Kohl, Helmut ΓòÉΓòÉΓòÉ
Helmut Kohl
chancellor of the CDU from 1982 till 1998. His predecessor was Helmut Schmidt.
ΓòÉΓòÉΓòÉ 5.8.2.7. Schroeder, Gerhard ΓòÉΓòÉΓòÉ
Gerhard Schroeder
current chancellor of the SPD. His predecessor was Helmut Kohl.
ΓòÉΓòÉΓòÉ 5.9. Tables ΓòÉΓòÉΓòÉ
Hypermake 3.0 supports easy creation of tables. You enter tables like you do it
in an ASCII text with a fixed font:
.TA Sample
first cell numbers -----third and fourth-----
first cell 97.96 third cell fourth cell+
first cell 1.324.90 third cell 2nd line
first cell 0.00 third cell hyphen-
first cell -123.45 " append
.TA
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöéfirst cell Γöénumbers Γöéthird and Γöé Γöé
Γöé Γöé Γöéfourth Γöé Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöéfirst cell Γöé97.96 Γöéthird cell Γöéfourth cellΓöé
Γöé Γöé Γöé Γöé2nd line Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöéfirst cell Γöé1.324.90 Γöéthird cell Γöé Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöéfirst cell Γöé0.00 Γöéthird cell Γöéhyphen- Γöé
Γöé Γöé Γöé Γöéappend Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöéfirst cell Γöé-123.45 Γöé Γöé Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
The IPF table functionality is restricted in comparison to HTML. Don't use "
and + chars. Hypermake tries to make it's best, but the result is often not
good enough. IPFC only supports fixed fonts within tables.
The RTF table functionality does not draw lines, so the " char does not make
sense. The + char is supported, but the result is not very good.
A table begins with a .TA dot command, followed by a title for the table. If
the table hasn't got a title, then write .TA NO . .TA , immediately followed by
a Return, closes the table.
Winhelp und IPF don't support table titles. If you want to create this formats,
write the title outside the table and then begin the table with .TA NO .
You principally edit the table like in an ASCII text with fixed font. Please
note:
Between two cells, there have to be two spaces. This is the separation
criterion for the two cells. It's not necessary that two rows are
completely filled with spaces, only one row is necessary. Right or left
formatting makes no difference - formatting is not relevant.
If you want to extend one cell to the bottom, type a quotation mark " to
the line above the cell.
If a cell has to be spread over two or more cells, fill the area of your
choice with hyphen chars - . Hypermake deletes the hyphen chars which are
not on their own, as in the negative number -123.45.
Text in several lines can be concatenated to one large cell by using the
plus char + at the end of the line, the + char will be deleted; or by
using a single hypen which won't be deleted.
If you can't use the + char, you can change this setting with the dot command
.tc X
(table character) will change the default + char setting to a character X of
your choice.
With the dot command
.TT
Table Tags you can change the HTML table tags. the default setting is
.TT BORDER CELLPADDING=5
.TT BORDER CELLPADDING=5 BGCOLOR="#D0D0D0"
uses gray background for the tables. This choice can be necessary if you use a
background graphic (see ini file or project settings page "html-1", setting
body tags) with lines. In this case the combination of table lines and
background graphic lines would reduce the visibility of the cells.
Since Hypermake 3.6, there are some useful additional settings especially for
HTML tables.
By default, HTML cells containing more digits than letters will be
right-justified, and in the reverse case left-justified. Cells which spread
over two or more cells will get centered text. You can override this default
mechanism with the .TP table position command:
.TA This is a Table
.TP left
Behind .TP you can enter left , right or center .
Then you can add a second new command .TE table empty.
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöéfirst cell Γöénumbers Γöéthird and Γöé Γöé
Γöé Γöé Γöéfourth Γöé Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöéfirst cell Γöé97.96 Γöéthird cell Γöéfourth cellΓöé
Γöé Γöé Γöé Γöé2nd line Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöéfirst cell Γöé1.324.90 Γöéthird cell Γöé Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöéfirst cell Γöé0.00 Γöéthird cell Γöéhyphen- Γöé
Γöé Γöé Γöé Γöéappend Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöéfirst cell Γöé-123.45 Γöé Γöé Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
Please compare the last column with the sample above. When .TE is activated,
every cell in a row gets the same height; instead you get empty cells. Use
this command if you have cells which rests empty.
The difference is difficult to eplain, you see. Simply use the .TE command if
Hypermake destroys your table otherwise.
The .TP and .TE setting is valid for the actual Table. The next table gets
again the default values.
Hint: If you have something like
maximal average speed+
in kilometers per hour 180 240
then you should better write the numbers one line higher to the line where the
cell with the two lines begins. In the other case, you will get two different
rows.
(new in Hypermake 3.65) With the new dot command .TW Table word wrap, the
table fits the whole window width and RETURN in a cell is changed to SPACE, so
you get a new formatting in a cell. Like .TE , also .TW has to be placed after
.TA in every table.
ΓòÉΓòÉΓòÉ 5.10. Line drawing ΓòÉΓòÉΓòÉ
Line drawing is best supported by IPF and does not look very good with HTML or
Winhelp because of the lack of line drawing characters in the Ansi codepage.
As creating boxes is usually a tedious job, a dot command has been defined to
facilitate line drawing. The following example illustrates its use.
.LIXY
X X
Operating systems
Y ZY X X
Novell IBM Hardware
Y Y X X
DOS Netware OS/2
X X
.LI
The result will be:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé Γöé
Γöé Operating systems Γöé
Γöé Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé Novell Γöé IBM Γöé Γöé Hardware Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
Γöé DOS Γöé Netware Γöé OS/2 Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
In the dot command .LIXYZ , X represents a special character marking the
corners of the box, Y a partition of the box. Z, placed in front of X or Y,
generates double lines (only IPF).
You can change the standard font for line drawing in the ini file (Font Dialog
on project settings page "Font"), font setting LineStandard.
With IPF, mixed single/double line characters are only supported by Codepage
437. When using foreign language letters which aren't supported in Codepage
437, don't use double lines.
ΓòÉΓòÉΓòÉ 5.11. Footnotes ΓòÉΓòÉΓòÉ
The help formats IPF and Winhelp supports footnote popup windows. With HTML,
Hypermake generates frames to show footnotes.
Generating Footnotes with Hypermake is very simple. For example, footnote text
can be quoted in brackets like {This will be the content of the footnote} after
entering the dot command footnote usage
.FU{}
Instead of the brackets and the footnote text, a star character or a graphics
file appears on which you can click with the mouse.
Other useful footnote bracket chars are [ ], < > or Γûá (Alt-220) Γûá (Alt-223)
(only IBM codepage).
For HTML, you can add a font character to the footnote dot command:
.FU{}sfX
This will select font X in the HTML footnote window.
With the dot command footnote size
.FS 30
you can change the size percent of the footnote window. Default is 15 percent.
You have to place this command before beginning a new chapter with the changed
window sizes.
You can temporary deactivate the footnote function by using the footnote
command without parameters:
.FU
or you can define other footnote chars. The default setting is no footnote
chars.
If you don't want to get "***" as a link to the footnote window, you can change
the text "***" with the dot command footnote text
.FT XXX
Instead of "***", the text "XXX" will appear. You are allowed to use a bitmap
instead of a character or a text:
.BT& filename
.FT&
(see bitmap text.)
When creating HTML, you can choose the appearance of the footnotes. In the ini
file, setting footnotes (project settings page "html-2") you can choose between
frames , noframes and activex . The activex setting forces popup footnotes and
is useful together with HTML-Help. For the activex setting, the user needs a
Microsoft browser, so don't use this setting to publish in the Web!
If you don't want to create HTML Frames for the footnote and text window, you
can also use the program parameter /NOFRAMES . This will generate one footnote
file with all footnotes which will be numbered.
ΓòÉΓòÉΓòÉ 5.12. Margins and Formatting ΓòÉΓòÉΓòÉ
subchapters:
Changing the left margin
Turning Formatting off and on
Centered Text
Auto Margin
next chapter:
if-conditions
ΓòÉΓòÉΓòÉ 5.12.1. Changing the left margin ΓòÉΓòÉΓòÉ
This is a sample text with left margin 1.
This is a sample of left margin 10; note that the formatting will be
correct.
This is a sample of left margin 20; note that the
formatting will be correct.
You can change the left margin by using the dot command left margin
.LM n
n is a number from 1 to approx. 30. Default setting is 1.
If you enter the left margin dot command without a number, the standard 1 will
be active.
HTML is not able to change the margin in steps of one column. Hypermake
emulates the left margin setting by using HTML definition lists. Left Margin 2
und 3 won't change the margin, 3 will change the margin to approx. 5
(depending on the browser) and then the margin is changed in steps of 5
columns.
The Winhelp specific ini file setting List indention (project settings page
"Winhelp") influences the size of the left margin (dot command .LM) and the
indention of Lists.
ΓòÉΓòÉΓòÉ 5.12.2. Turning Formatting off and on ΓòÉΓòÉΓòÉ
(Only IPF) With the dot commands Formatting off and Formatting on
.FM off
.FM on
you can turn formatting (word wrap) off and on. The standard is Formatting on.
"Off" means the formatting of the source text isn't changed. The setting will
be active till the next formatting dot command, even through headings.
Between line drawing dot commands, formatting is automatically turned off.
Don't use the index/linking function when formatting is off. Don't use index
chars, only use the index dot command, between two formatting dot commands:
.fm on
.in word1
.in word2
.fm off
When creating HTML files, there are no dot commands to turn formatting off and
on. To omit formatting, use a font with Phrase element PRE.
For IPF, you can define a font with PRE in the ini file (Font Dialog on project
settings page "Font"), so you do not need separate dot commands.
ΓòÉΓòÉΓòÉ 5.12.3. Centered Text ΓòÉΓòÉΓòÉ
In centered text, formatting will be off. You can turn centered text on and off
with Output Centered on and Output Centered off dot command
.OC on
.OC off
But you can also define a font with center in the ini file (Font Dialog), so
you do not need separate dot commands.
ΓòÉΓòÉΓòÉ 5.12.4. Auto Margin ΓòÉΓòÉΓòÉ
To write definition lists for example, you can simply change the left margin by
using spaces:
*motherboard*
The motherboard contents the main processor, the RAM
memory and some other important parts of your computer.
*screen*
Computer screens are available from 14 up to 21
inches; You shouldn't save money with a cheap small
screen.
motherboard
The motherboard contents the main processor, the RAM memory and some
other important parts of your computer.
screen
Computer screens are available from 14 up to 21 inches; You shouldn't
save money with a cheap small screen.
With the new dot command Auto Margin you can turn off/on the interpretation
of the spaces at the beginning of a line.
.AM off
.AM on
Default is on.
You can leave the AM setting on for normal running text. Every space at the
beginning of a paragraph will change the left margin. You have to turn it
off, if you want to have a margin only at the first line of a paragraph.
Using an ASCII editor with ASCIIHARDRET, spaces should only be at the
beginning of the first line; of course the following lines wrapped by the
editor should not have a margin.
ΓòÉΓòÉΓòÉ 5.13. if-conditions ΓòÉΓòÉΓòÉ
With if-conditions, you can create slightly different RTF, IPF or HTML files
from the same source text. In the Hypermake docu source, you will find a lot of
if-conditions. It's easier to write only one documentation file for several
platforms or purposes instead of several files.
There are three dot commands
.IF CONDITION
.ELSE
.END
The conditions are not case-sensitive. It's not necessary to use the ELSE
command, of course.
This means text between these commands is only compiled if the condition is
set.
Hypermake also supports the following expressions:
.IF NOT COND
.IF COND1 AND COND2
.IF COND1 OR COND2
Sorry, but more sophisticated if-conditions with parenthesis are not supported.
The conditions are set in the HMP file, line conditions .
For compiling the source text from the commandline, you have to enter:
[C:\myProject] HMAKE myDoc.txt #CONDITION
You can enter more than one condition in the commandline. Note the # character,
the parameters can be in any order.
Dependent on the target format, Hypermake sets the conditions HTML IPF WINHELP
WINHELP3 WINHELP4 HTML HTMLHELP automatically. WINHELP is set when compiling
WINHELP3 or WINHELP4. HTML is also set when compiling HTMLHELP.
The three different Hypermake versions for OS/2, Win95/NT and DOS set the
conditions OS2, WIN95 und DOS.
ΓòÉΓòÉΓòÉ 6. HTML-specific functionality ΓòÉΓòÉΓòÉ
Hypermake offers special HTML functionality for publishing on the WWW. Most
commands explained in this chapter aren't activated from the source text using
dot commands, they are settings in the settings notebook (pages HTML-0, HTML-1,
HTML-2) respectively ini file and program parameters (settings notebook page
Main).
When creating HTML or HTMLHELP, Hypermake always creates a useful HTML info
file with statistic data about your project (length of the text, number of
links, error messages...). The filename is the same as the project name and is
placed in the same directory where the source file is located and not in the
target directory. You can use this document to start with the browser into your
project.
If you want to publish Hypermake documents in the WWW, please read this
chapter, escpecially the sub chapter about HTML filenames!
subchapters:
Navigation Buttons
HTML filenames
Title and Meta entries
Statusbar Text
Javascript Contents Tree
File comparison
next chapter:
copying graphic files
ΓòÉΓòÉΓòÉ 6.1. Navigation Buttons ΓòÉΓòÉΓòÉ
You will find a Library of Buttons in the directory BUTTONS.
More complex HTML documents have got buttons at the beginning and the end of a
page where the user can navigate from one page of the document to the other.
You can define such standard functionality in the settings notebook, page
HTML1, respectively ini file:
function for first line = BACK FORWARD CONTENT INDEX HOMEF MAX
text for first line = previous next content index home max
The four keywords BACK FORWARD CONTENT INDEX have the following meanings:
BACK goes to the previous page in the order of the source text
FORWARD goes to the next page
CONTENT goes to the contents
INDEX goes to the index
HOMEF and MAX is used by the Hypermake 4.0 design (see settings notebook
page HTML-0)
Corresponding to the keywords BACK, FORWARD, the filenames of the gif files
are BACK.GIF, FORWARD.GIF and so on.
The CONTENT and INDEX buttons do not appear when compiling HTML-Help because
this functionality is supported anyway by the HTML-Help viewer.
HOMEF and MAX: The Hypermake 4.0 design shows normal text always in frames: in
the left frame, the contents tree is shown, and in the right frame the text
appears. But if the user activates a text page directly, the text fits the
whole browser window. (Only activating the home frame file INDXF.HTML will
show the frames view.) With the HOMEF button (Homeframe), the homeframe page
will be loaded and the text is shown in frame view. The opposite is the MAX
(maximize) button: it will maximize the text window, so the text window will
fit the whole browser window. This function is comparable to the "maximize"
button of every window of the graphical computer desktop. MAX is not used in
the default setting of the predefined Hypermake 4.0 design.
For every keyword you can define a text. If "auto load graphics" in the
browser is turned off, the text appears instead of the graphic. You can turn
off the graphic buttons completely in the ini file, setting buttons = TEXT
("button type" on project settings page "html-1"). Then you get the text as a
link instead of the navigation buttons.
The setting buttons = JAVASCRIPT creates buttons based on the Javascript
programming language. The program generating the Javascript buttons is part of
the HTML file and much more smaller and faster than separate GIF files. But
Javascript is not supported by very old browsers (before Netscape 2) and
dependent on the length of the text expression the width of the buttons can be
different. But you can omit extremly different length by using the " in pairs
and space characters between the two " characters:
previous " next " " home " " max " content index
If you don't want to get specific buttons, you can delete the keyword and its
text in the line "function for.." and "text for..". You can change these
settings separately for the beginning of the page and the end of the page
("first line" and "last line"). You also can change the order of the buttons,
but remember to change both function and text. It can be useful to leave out
some functionality in the "last line", e.g. the BACK button.
User-defined Navigation Buttons
It's possible to define navigation buttons by yourself, pointing to a chapter
of your choice. To do this, you need an entry in the ini file and a dot
command in the source text, marking the link target.
In the ini file: (project settings page "html-1")
function for first line = BACK FORWARD CONTENT INDEX LABEL _A LABEL_B ...
text for first line = previous next content index chapterA chapterB ...
and in the source text in the chapters of your choice:
.ID LABEL_A
.ID LABEL_B
If the user presses the button LABEL_A.GIF, he will get to the chapter where
LABEL_A is placed in the source text. The keyword is not case-sensitive.
There's no limitation of the numbers of user buttons.
If you use .ID dot commands, the HTML file gets e.g. the name LABEL_A.HTML.
Normally Hypermake uses filenames N000.HTML, N001.HTML and so on. If you want
to use navigation buttons, but don't want to change to fixed filenames, you
can use the commandline parameter /NOID .
In the Library of Buttons you will find some user buttons.
Navigation Buttons pointing to URL's
You can use the .ID dot command within an .URL external link.
.URL http://www.netscape.com
.ID NETSCAPE
.LOCAL
If you have added the keyword NETSCAPE in the ini file (project settings page
"html-1"), line "function", the button NETSCAPE.GIF gets the link to Netscape
in the WWW.
E. g. you can write an offline program documentation where the user can reach
your homepage in the WWW from every page by pushing a homepage button or your
company logo.
ΓòÉΓòÉΓòÉ 6.2. HTML filenames ΓòÉΓòÉΓòÉ
By default, Hypermake numbers the generated HTML files: N000.HTML, N001.HTML
and so on. That means, filenames of a particular chapter can change after
updating your document. If the page shows a frame, the frame file name is the
default name e.g. N003.HTML. The file which is shown in the top or left window
gets the filename N003F.HTML and the subchapter page on the bottom or the right
gets the next number N004.HTML. If the job ob the frame is showing text with
footnotes, the frame file name will be N003.HTML, the text gets the filename
N003T.HTML an the footnotes gets N003N.HTML (N for "notes").
There are several ways of making Hypermake generate other filenames.
subchapters:
Using a fixed filename
8.3 filenames, long filenames, small and capital letters
User-defined internal numbering of headings and files
next chapter:
Title and Meta entries
ΓòÉΓòÉΓòÉ 6.2.1. Using a fixed filename ΓòÉΓòÉΓòÉ
.2
About me
.ID AUTHOR
I'm 31 years old, have studied economics...
You can mark a particular chapter with an ID. It's the same command you need
for user buttons.
If a chapter is marked with .ID LABEL_A , the filename is LABEL_A.HTML and
won't change while updating your document. You have to do so for all pages of
your document to which other authors in the WWW may want to make a link. If you
do not so, the filename of the specific chapter may change when updating your
whole document. This procedure can be also useful for you: When updating only a
part of your document, you don't need to upload all the HTML files: All
chapters with a particular ID can be changed and uploaded separately without
the risk of destroying links.
ΓòÉΓòÉΓòÉ 6.2.2. 8.3 filenames, long filenames, small and capital letters ΓòÉΓòÉΓòÉ
Different operating systems handle filenames in different ways. DOS only knows
short filenames in the 8.3 convention. The PC operating systems DOS, OS/2,
Windows 95 and Windows NT are handling filenames not case-sensitive, but Unix
systems - most internet servers are Unix machines - distinguish between small
and capital letters. So it can happen that the links on your machine work well,
but after uploading to the server, the links don't work any more!
To avoid this, Hypermake offers you several methods: A setting in the ini file
(project settings page "html-2"), a commandline parameter and an automatic
recognition of DOS drives.
//possible settings: sample.html SAMPLE.HTML Sample.html sample.htm SAMPLE.HTM Sample.htm
filename appearance = sample.html
You can define the appearance of the filenames in the ini file (project
settings page "html-2").
Remember that this decision depends on your drive and your upload program. If
your operating system is OS/2 with long filename support, but your upload
program is a Windows 3.1 software, you are forced to use the "SAMPLE.HTM" form.
If all the programs you need are Windows 95 programs, you should choose
"Sample.html".
If you choose an obvious false setting, e.g. "sample.html" on a DOS drive with
the 8.3 limitation, Hypermake automatically changes the filename to the
extension ".HTM" and the created links are OK.
With the program parameter (project settings page "Main") FAT (File allocation
table, that's the name of the DOS file system) you will get the same result as
with the setting SAMPLE.HTM in the ini file: Even though the drive supports
long filenames, Hypermake uses the DOS 8.3 conventions.
When publishing in the Web, I recommend that the Hypermake functionality
copying graphic files is enabled. In this case Hypermake has got control of the
correct notation of your GIF filenames (small/capital letters).
Hypermake generates a lot of warnings if in the filename appearance setting a 3
char extension was chosen and Hypermake locates filenames with more than 8
characters length. With the ini file setting filenames = long ("Warning if
Filename not 8.3" on project settings page "html-2") you can omit these
warnings.
ΓòÉΓòÉΓòÉ 6.2.3. User-defined internal numbering of headings and files ΓòÉΓòÉΓòÉ
(new in Hypermake 3.65) If you extend a HTML document which is already
published in the WWW, you will get a problem with the internal numbering of
headings and files. With two new dot commands, you can fix this problem.
Hypermake simply numbers the headings of the documents: #hd1, #hd2, #hd3, and
also the files: N000.HTML, N001.HTML and so on. If you insert new headings in
the middle of your document, all headings and files after the insertion will
get a higher internal number. The consequence is the need of uploading all the
files of your document to the server again. But now links from other documents
in the WWW pointing to a page of your Hypermake document can be obsolete.
To avoid this, you can control the internal numbering of headings and files.
With new commands, you can set the internal counter of headings and files to a
higher value. So the insertion of new headings immediately above the new
commands won't have an effect on the internal numbering after this command. You
have to choose a value which is big enough to fit all future chapters. In the
HTML info file, section "Enumeration", Hypermake lets you know if the chosen
values are not big enough and the created numbering "space" is depleted.
With the dot command .NR you can set the internal file counter and with .HD the
internal heading counter.
.NR 10
.HD 100
.1
Heading with fixed internal number
If one file contains several chapters, the value of .HD has to be greater than
the value of .NR . (See ini file, setting new file level, project settings page
"html-1"). Otherwise it is sufficient to use .NR .
ΓòÉΓòÉΓòÉ 6.3. Title and Meta entries ΓòÉΓòÉΓòÉ
At the beginning of every HTML file, a title is defined which appears in the
titlebar of the browser.
For this chapter for example, a meaningful title is:
Hypermake 4.0 - Title and Meta entries
You can define which text has to appear in the titlebar of every HTML file:
(project settings page "html-2")
//here you can define the text appearing in the browser titlebar
//enter DOCTITLE and/or HEADING and fixed text, e.g. a slash; NO means no text
file title = DOCTITLE - HEADING
DOCTITLE is the title of the whole Hypermake document, defined behind the .TI
dot command. HEADING is the actual heading text of the chapter. In addition to
the two keywords DOCTITLE and HEADING, you can write text of your choice, e.g.
file title = Martin Vieregg: DOCTITLE, chapter HEADING
It's not possible to use the characters ' and ".
At the pages content and index, for the heading text the string defined in the
line "text for first/last line" is used. In the footnote file, the heading text
defined in the line "notes text" is used.
Information for search machines
Informations for search machines aren't visible when viewing the file with a
browser. It's interpreted by Internet search machines like Hotbot or Yahoo.
Like defining a HTML file title, you also can define an automatic meta entry
with "meta content":
meta content = DOCTITLE - HEADING
Into the head of the HTML file, Hypermake will place:
<META NAME="description" CONTENT="Hypermake 4.0 - Title and Meta entries">
Hypermake always writes all index expressions of the page which are marked in
the Hypermake source file:
<META NAME="keywords" CONTENT="expression1, expression2">
Embedding user-defined HEAD tags
You can write HEAD tags for all HTML files or for specific HTML files. By
default, Hypermake only writes:
<HEAD>
<META NAME="generator" CONTENT="Hypermake 4.00">
<META NAME ="Author" CONTENT="Martin Vieregg">
<title>Hypermake 4.0 - Title and Meta entries</title>
</HEAD>
Above the <title> tag, other head tags can be embedded. You have to place these
lines into text files with specific filenames: If all HTML files are to get the
information, you have to place it into a file called EVERY.HEAD . If only a
specific file is to get the info, you have to mark the chapter of your choice
with .ID USERLABEL and then place the information into the file USERLABEL.HEAD
.
Embedding user-defined head tags or not depends on the existence of the
individual *.HEAD files. There's no special setting.
If a "pre filename" is set, the filenames of the HEAD-files have to begin with
the pre filename.
If you use a DOS drive or have set the DOS conventions for creating filenames
(setting filename appearance), the filename extension has to be .HEA instead of
.HEAD .
ΓòÉΓòÉΓòÉ 6.4. Statusbar Text ΓòÉΓòÉΓòÉ
Two settings in the ini file (project settings page "html-2") let you modify
the statusbar text appearing in the gray bottom text field of every
HTML-browser.
statusbar mouseover = to chapter: HEADING (file FILENAME)
statusbar default = DOCTITLE - visit the Homepage regulary!
If the mouse pointer is over a link, the text under statusbar mouseover will
appear, otherwise the text defined in the statusbar default setting. Instead of
HEADING, the heading of the chapter which is the target link will appear.
FILENAME is the filename of the target link file.
Note that the statusbar mouseover functionality enlarges the size of the HTML
files. Not only the "mouseover" text, also the "default" text will be part of
every link command, because when the mouse leaves the link, the default setting
has to appear again. When publishing in the WWW, you have to consider carefully
the benefit of additional information in comparision to increasing download
time.
The statusbar default setting increases the length of HTML files nearly not.
Here, the FILENAME expression can be useful if you often use Frames because the
user can see the filename of the child window - in the location field of the
browser only the filename of the frame window is shown.
It's not possible to use the characters ' and ".
ΓòÉΓòÉΓòÉ 6.5. Javascript Contents Tree ΓòÉΓòÉΓòÉ
Since Hypermake 3.6 you can choose between the normal contents view (unordered
list, subchapters always visible) and a contents tree generated by a Javascript
program. The setting in the ini file is contents tree ("Javascript contents
tree" on project settings page "html-1"), here you can also define the concrete
explanation text for the Javascript Contents Tree. If the user has got a not
Javascript 1.0 enabled browser, he can use a link to the normal unordered list
contents view.
What is Javascript?
Javascript is a simple programming language you can embed directly into HTML
text. Today, the majority of browsers interpretate Javascript. Netscape
Navigator 2 can execute Javascript 1.0 programs, Navigator and MS Internet
Explorer 3 Javascript 1.1 and Navigator and MS Internet Explorer 4 Javascript
1.2.
Which Browsers view the Hypermake Javascript Contents Tree?
The Javascript code Hypermake generates is written for all Browsers supporting
Javascript. It's tested on Netscape Navigator 2.02, 3 and 4, Microsoft Internet
Explorer 3 and 4.
Used graphics files
In the library of buttons \BUTTONS\ICON you will find three files TREECLOS.GIF,
TREEOPEN.GIF and TREENO.GIF. If the user clicks to TREECLOS.GIF and
TREEOPEN.GIF, the tree will open and close. TREENO.GIF has no link
functionality and shows that there are no subchapters.
Since Hypermake 4.0, a fourth graphics file TREEMPTY.GIF is needed. This
graphic has got the width of the other TREE*.GIF graphics, but is invisible and
is used for indention.
The names of these three graphics files Hypermake needs are fixed. If you want
to use other GIF files, rename them to the names above. Note that TREECLOS.GIF
looks like e.g. a closed book and TREEOPEN.GIF like an open book, but the link
functionality is reverse: TREECLOS.GIF opens the subchapter list, TREEOPEN.GIF
closes it.
Special functionality with Netscape / Internet Explorer 4
Javascript 1.2 has got functions to query and set the position of the
scrollbar. The Hypermake generated Javascript program uses this functionality
to restore the scrollbar position after a tree was closed or opened. Browsers
before Netscape / IE 4 does not remember the vertical scrolbar position. Thats
uncomfortable when having long directory trees.
Filenames
The filename of the Javascript contents tree page is the same as choosing a
normal contents view: INDEX.HTML. This is the file of the main window with the
Javascript program code. The small upper window is INDXI.HTML (Index-Info), the
alternate normal contents view is INDXA.HTML ("a" for alternate). Before the
Javascript program gets active and draws the contents tree, the big lower
window is EMPTY.HTML. So EMPTY.HTML has to be uploaded when publishing in the
Web!
Two browser windows
It's possible that the contents window gets its own browser. You can do that
when choosing different names for the ini settings default frame and contents
frame , e.g. "main" and "cont".
ΓòÉΓòÉΓòÉ 6.6. File comparison ΓòÉΓòÉΓòÉ
If you want to publish a big document in the WWW, you have to upload 100 HTML
files or more. But if you update your document, only a few HTML files gets
changed and have to be uploaded again. The File comparison (since Hypermake
3.99) can be used to get the information, which files have changed since the
last upload.
How to use file comparison:
1. Make a copy of the directory where Hypermake has written the HTML files
(HTML directory). Choose a expedient name for the copy like
projectname_date. You should create a copy after uploading or before
changing a project.
2. If you delete chapters, delete the current HTML directory.
3. After you have made changes on your project and recompiled the project,
start the file comparison. You will get a list of the changed files.
You can start file comparison in three different ways:
In the graphical version, open the current project you want to compare with
the old state. Then select project - compare HTML dir and choose the filename
of the old HTML directory or simply drop the old HTML directory icon to the
success window with the blue font.
When using the commandline version, enter
[C:\myProject] HMAKE /COMPARE olddir newdir
The file comparison mode compiles HTML files, but also other files like
graphic files. In difference to default file comparison tools like "COMP" in
the commandline, the Hypermake file comparison recognices that changes of the
version number which are written at the beginning of every HTML file
<META NAME="generator" content="Hypermake 4.00">
do not really make a difference. So if only the version number has changed,
the files won't get part of the update list.
ΓòÉΓòÉΓòÉ 7. copying graphic files ΓòÉΓòÉΓòÉ
Nearly every hypertext has got graphics. HTML pages often uses graphical
buttons for navigation. Normally they are located all over the disk, but they
have to be in the target directory so the HTML browser or the second compiler
can find them.
You can place the setting
graphic path = D:\HMAKE\Testgrafics;D:\HMAKE\Worldgrafics;D:\HMAKE\Buttons;
in the HMP file ("Graphic files" on project settings page "Main") or in the ini
file.
Here you can enter a list of directories where your graphics files are located.
Hypermake automatically copies the graphics files to the target directory, if
the graphics files are not already here. If Hypermake does not find the
graphics file, then you will get a warning. HTML graphics filenames
automatically get the correct notation (small or capital letters, see ini file
setting filename appearance , project settings page "html-2").
This functionality saves you from error messages in the OS/2 or Windows help
compiler.
If the user turns "auto load images" in the HTML browser off, then the name of
the graphics file and the size of the file is shown. The size is only shown
when using the .BM command, not when using the .BT command or the navigation
buttons, because the graphics files used by the .BT command or navigations
buttons have a very small size which is not interesting.
Since Hypermake 3.99, a graphics file are also copied if the needed graphics
file already resides in the target directory and the date of the file in the
"graphic path" is more current. So it is sufficient to update a graphics file
in the "graphic path".
Please remember that both Winhelp and OS/2 help compiler uses graphics files
with the extension BMP, but theses formats are different! (In the BUTTONS
directory, you will find a WINBMP and an OS2BMP directory, with the same
graphics but different files.) So if you create both OS/2 and Windows Help
files, you have to delete the ("wrong") BMP files in the target directory
before creating the other format so Hypermake will copy again the right BMP
files.
ΓòÉΓòÉΓòÉ 8. Context-sensitive Program Help ΓòÉΓòÉΓòÉ
Most programs with a graphical user interface have got an online help included.
If the user presses F1 or a "help" button, he gets automatically to a specific
chapter of the hypertext. Hypermake offers some functionality to get this
connection between EXE program and hypertext.
If you want to write separate hypertext files and no programs, you can skip
this chapter.
subchapters:
OS/2 Online Help
Windows Online Help
Writing several HLP files in different languages
next chapter:
dot command summary
ΓòÉΓòÉΓòÉ 8.1. OS/2 Online Help ΓòÉΓòÉΓòÉ
The main difference between HLP and INF files is the connection of HLP files to
a PM oriented program. The INF file is a "stand alone" solution, in the HLP
file you can create links between windows or buttons of your program to
chapters of your hypertext. Clicking on a Help button or pressing F1 will
activate a chapter (a window) of the hypertext.
There are two different kinds of links from a program to a HLP file:
links by using helptables
direct links by using panel ID's.
Links by using helptables are activated when pushing F1 together with a help
button; instead of pressing F1, there is the possibility to push a button with
the flags BS_HELP | BS_NOPOINTERFOCUS. In the helptable, button ID's are
related to chapters (windows) of the hypertext.
Direct links don't use a helptable, they use a function in your program source
code which is directly activating a help chapter (window). Direct links can
also be used in text oriented programs.
Without Hypermake, you would have to write a helptable in the RC file
specifying which window or button will be linked to which chapter of the
hypertext. For direct links, you would have to create a panel ID header file
with the IPF internal heading resource ID's, related to meaningful constant
identifiers like "Panel_Introduction".
subchapters:
Writing the Hypermake source file
Writing your C program source file
Writing your Pascal program source file
next chapter:
Windows Online Help
ΓòÉΓòÉΓòÉ 8.1.1. Writing the Hypermake source file ΓòÉΓòÉΓòÉ
In the Hypermake file, there are two new dot commands: The command resource
connection
.RC ID_window, ID_button_or_Menu_Item
creates a connection between the help chapter and the button or menu item with
the ID "ID_button_or_Menu_Item", located in the child window "ID_window": If
the button/menu item is pressed with F1 simultaneously, the help chapter is
activated where the RC command is located.
ID_window is the constant placed after MENU or DIALOG in your RC file.
Note: ID_window is not the constant placed after DLGTEMPLATE.
And with panel ID
.ID Chapter_Name
the chapter where the ID command is located gets the label "Chapter_Name". With
DisplayHelpPanel(Chapter_Name) in the program source text, you can activate
this help chapter directly.
Pascal programmers have to pay attention: the constant behind the ID dot
command is case sensitive!
You can place these dot commands somewhere in the chapter (window) which will
be connected to the button or menu item. I recommend placing these dot commands
very close to the related paragraph. So if you later create sub chapters and a
button has to be linked to the new, special sub chapter, you need not change
the position of ID and RC dot commands.
Using the RC dot command, you normally have to enter two ID's: The first ID for
the program window containing the item (a menu item, button, entryfield etc.),
and the second ID for the item itself.
If you enter a lot of RC commands, you are allowed to use the shortcut
.RC , ID_button_or_Menu_Item
This will use the name of the last window ID.
You are allowed to generate an INF file with IPFC when the Hypermake source
file includes HLP specific RC dot commands: The only effect of RC and ID dot
commands is generating a helptable and a panel ID file, the IPF file won't be
affected.
You should always use the RC command one time with only one parameter (the
window ID). All items in this window which are not placed in the helptable will
get a link to this chapter. If you don't do that, Hypermake creates a warning.
This sample Hypermake source file has got resource connection and Panel ID dot
commands:
.1
Introduction
.RC ID_childwindow
.ID PANEL_Introduction
This is the documentation of my prog.
.1
Usage of the OK button
.RC ID_childwindow, ID_OK
.ID PANEL_usage_OK
With the OK button - you'll be surprised - you can press OK.
.1
Usage of the Cancel button
.RC ID_childwindow, ID_Cancel
With the Cancel button, you can cancel the operation.
ΓòÉΓòÉΓòÉ 8.1.2. Writing your C program source file ΓòÉΓòÉΓòÉ
Hypermake automatically creates a file HLPTABLE.RC:
#define SUBTABLE_ID_childwindow 7001
HELPTABLE HELP_TABLE {
HELPITEM ID_childwindow, SUBTABLE_ID_childwindow, 1 /* Introduction */
}
HELPSUBTABLE SUBTABLE_ID_childwindow {
HELPSUBITEM ID_OK, 2 /* Usage of the OK button */
HELPSUBITEM ID_Cancel, 3 /* Usage of the Cancel button */
}
Hypermake also creates a file PANELID.H:
/*****Panel ID's created by Hypermake*****/
#define PANEL_Introduction 1
#define PANEL_usage_OK 2
The numbers 1, 2 and 3 are the IPF internal heading-ressource-id's. In the
helptable file, Hypermake automatically writes the heading text as comment, so
you can read this file more easily while debugging. (Normally you don't have
any reason to read the Helptable and panel ID file.)
You can change the Help Subtable Start ID value in the ini file (project
settings page "Helpfile"), switch Help Subtable Start ID , also you can change
the filenames of the two created files.
You can simply include the helptable file and the panel ID file into your
program source by typing
#include "HLPTABLE.RC"
for example after a MENU or a DLGTEMPLATE block in your RC file and
#include "PANELID.H"
at the top of your program source file (a C or CPP file).
In your main header file, you have to define a constant HELP_TABLE with an
unused value, for example
#define HELP_TABLE 7000
which will be valid in the RC and in the C or CPP source file.
In the C source file you need at least two functions like
void InitHelp (hwnd) /*initialize the help process*/
void DestroyHelp () /*destroy the help instance*/
which uses the constant HELP_TABLE.
The function InitHelp needs a parameter: the window handle of your program. Of
course, this window handle has already to be valid. If your program is a
standardwindow, you should place the function InitHelp between
WinCreateStdWindow... and while WinGetMsg... and the function DestroyHelp
after while WinGetMsg... . If your program is only a dialogbox, you won't have
a WinCreateStdWindow function. In this case, you can place InitHelp into the
WM_INITDLG and DestroyHelp into the WM_CLOSE section of your dialogbox message
function.
A third function
void DisplayHelpPanel (PanelID)
is necessary to create a direct link from your program to a chapter of your
hypertext. It's the complement for the panel ID dot command.
I have written a very short version of these functions. To compile these
functions, you have to enter
#define INCL_HELP
subchapters:
C source code with the three help functions
next chapter:
Writing your Pascal program source file
ΓòÉΓòÉΓòÉ 8.1.2.1. C source code with the three help functions ΓòÉΓòÉΓòÉ
C source code with the three help functions
#define HelpFilename "FILENAME.HLP"
#define HelpWindowTitle "Title of the Hypertext window"
BOOL fHelpEnabled;
static HWND hwndHelpInstance;
#define InfoBox(st) WinMessageBox (HWND_DESKTOP, HWND_DESKTOP, st, "", 0, MB_OK | MB_ERROR)
/*to be placed in front of the main program message loop*/
VOID InitHelp (HWND hwndClientFrame) {
HELPINIT hini;
/* If we return because of an error, Help will be disabled */
fHelpEnabled = FALSE;
/* Initialize help init structure */
hini.cb = sizeof(HELPINIT);
hini.ulReturnCode = 0;
/* If tutorial added, add name here */
hini.pszTutorialName = (PSZ)NULL;
hini.phtHelpTable = (PHELPTABLE)MAKELONG(HELP_TABLE, 0xFFFF);
hini.hmodHelpTableModule = 0; hini.hmodAccelActionBarModule = 0;
hini.idAccelTable = 0; hini.idActionBar = 0;
hini.pszHelpWindowTitle = HelpWindowTitle;
hini.fShowPanelId = CMIC_HIDE_PANEL_ID;
hini.pszHelpLibraryName = HelpFilename;
/* Creating help instance */
hwndHelpInstance = WinCreateHelpInstance(hab, &hini);
if(hwndHelpInstance == 0L || hini.ulReturnCode) {
InfoBox("Failed to load help manager."); return;
}
/* Associate help instance with main frame */
if(!WinAssociateHelpInstance(hwndHelpInstance, hwndClientFrame)) {
InfoBox("Failed to load help manager."); return;
}
/* Help manager is successfully initialized so set flag to TRUE */
fHelpEnabled = TRUE;
return;
}
/*to be placed behind the main program message loop*/
VOID DestroyHelp (VOID) {
if(hwndHelpInstance != 0L) WinDestroyHelpInstance(hwndHelpInstance);
return;
}
/*
some possible parameters:
HM_HELP_INDEX shows the index
HM_HELP_CONTENTS, shows the contents
HM_DISPLAY_HELP shows help for help
*/
VOID SendHelpMessage (LONG HelpMessage) {
if(fHelpEnabled)
if((LONG)WinSendMsg(hwndHelpInstance, HelpMessage, (MPARAM) 0, (MPARAM) 0))
InfoBox ("Failed to display help panel.");
}
/*
parameters are the Panel ID's, defined with ID dot commands
in the Hypermake source file
*/
VOID DisplayHelpPanel (LONG PanelID) {
if(fHelpEnabled)
if((LONG)WinSendMsg(hwndHelpInstance, HM_DISPLAY_HELP,
MPFROMLONG(MAKELONG(PanelID, NULL)),
MPFROMSHORT(HM_RESOURCEID))) InfoBox ("Failed to display help panel.");
}
ΓòÉΓòÉΓòÉ 8.1.3. Writing your Pascal program source file ΓòÉΓòÉΓòÉ
In the ini file (project settings page "General"), setting languages , you can
choose between generating Pascal or C source.
Hypermake automatically creates a file e.g. HLPTABLE.RC:
CONST
SUBTABLE_ID_childwindow = 7001
HELPTABLE 1000
BEGIN
HELPITEM ID_childwindow, SUBTABLE_ID_childwindow, 1 /* Introduction */
END
HELPSUBTABLE SUBTABLE_ID_childwindow
BEGIN
HELPSUBITEM ID_OK, 2 /* Usage of the OK button */
HELPSUBITEM ID_Cancel, 3 /* Usage of the Cancel button */
END
Hypermake also creates a file e.g. PANELID.INC:
{ Panel ID's created by Hypermake }
const
PANEL_Introduction = 1;
PANEL_usage_OK = 2;
The numbers 1, 2 and 3 are the IPF internal heading-resource-id's. In the
helptable file, Hypermake automatically writes the heading text as comment, so
you can read this file more easily while debugging. (Normally you don't have
any reason to read the helptable and panel ID file.)
You can change the Help Subtable Start ID value in the ini file (project
settings page "Helpfile"), switch Help Subtable Start ID , also you can change
the filenames of the two created files.
You can simply include the helptable file and the panel ID file into your
program source by typing
{$I HLPTABLE.RC}
for example after a MENU or a DLGTEMPLATE block in your RC file and
{$I PANELID.INC}
at the top of your program source file (a PAS file).
First, there are two procedures to start the HLP file:
DisplayHelpPanel (PanelID)
is necessary to create a direct link from your program to a chapter of your
hypertext. It's the complement for the panel ID dot command.
SendHelpMessage (HM_HELP_CONTENTS)
activates the contents of the HLP file directly. There are other HM_*
constants, defined in the SpeedPascal PMHELP.PAS unit.
The following depends on whether you want to use SpeedPascal 1.5 OPML or not.
subchapters:
Creating the help functionality with SpeedPascal OPML
Creating the help functionality without OPML
next chapter:
Windows Online Help
ΓòÉΓòÉΓòÉ 8.1.3.1. Creating the help functionality with SpeedPascal OPML ΓòÉΓòÉΓòÉ
Creating the help functionality with SpeedPascal OPML
In the method
TApplication.InitMainWindow
you have to append the following line at the end:
MainWindow^.InitWindowHelp ('MYPROG.HLP', 'help window title');
That's all.
ΓòÉΓòÉΓòÉ 8.1.3.2. Creating the help functionality without OPML ΓòÉΓòÉΓòÉ
Creating the help functionality without OPML
To create the connection between your EXE file and the HLP file, you need two
procedures:
uses PMHELP;
InitHelp (hwnd); {initialize the help process}
DestroyHelp; {destroy the help instance}
This procedures are defined in the PMHELP.PAS unit of SpeedPascal 1.5.
The procedure InitHelp needs a parameter: the window handle of your program. Of
course, this window handle has already to be valid. If your program is a
standardwindow, you should place the function InitHelp between
WinCreateStdWindow... and while WinGetMsg... and the function DestroyHelp
after while WinGetMsg... . If your program is only a dialogbox, you won't have
a WinCreateStdWindow function. In this case, you can place InitHelp into the
WM_INITDLG and DestroyHelp into the WM_CLOSE section of your dialogbox message
function.
Immidiately before using the procedure "InitHelp" you have to set some values
of variables:
HelpFilename := 'MYPROG.HLP';
HelpWindowTitle := 'heading of the hypertext window';
HELP_TABLE := 1000;
The number 1000 is also used in the Helptable created by Hypermake.
If you do not use SpeedPascal 1.5 (or later), you will find the procedures and
variables in the subchapter.
subchapters:
Pascal Help Source
next chapter:
Windows Online Help
ΓòÉΓòÉΓòÉ 8.1.3.2.1. Pascal Help Source ΓòÉΓòÉΓòÉ
{Help manager helpers}
FUNCTION InfoBox(st:STRING):LONGINT;
BEGIN
result:=WinMessageBox (HWND_DESKTOP, HWND_DESKTOP, st,'', 0, MB_OK | MB_ERROR);
END;
{to be placed in front of the main program message loop}
PROCEDURE InitHelp (hwndClientFrame:HWND);
VAR
hini:HELPINIT;
{ If we return because of an error, Help will be disabled }
BEGIN
fHelpEnabled := FALSE;
{ Initialize help init structure }
hini.cb := sizeof(HELPINIT);
hini.ulReturnCode := 0;
{ If tutorial added, add name here }
hini.pszTutorialName := NIL;
hini.phtHelpTable := PHELPTABLE(MAKELONG(HELP_TABLE, $FFFF));
hini.hmodHelpTableModule := 0;
hini.hmodAccelActionBarModule := 0;
hini.idAccelTable := 0;
hini.idActionBar := 0;
hini.pszHelpWindowTitle := @HelpWindowTitle;
hini.fShowPanelId := CMIC_HIDE_PANEL_ID;
hini.pszHelpLibraryName := @HelpFilename;
{ Creating help instance }
hwndHelpInstance := WinCreateHelpInstance(AppHandle,hini);
if ((hwndHelpInstance = 0 )OR(hini.ulReturnCode<>0)) THEN
BEGIN
InfoBox('Failed to load help manager.');
exit;
END;
{ Associate help instance with main frame }
if not WinAssociateHelpInstance(hwndHelpInstance, hwndClientFrame) THEN
BEGIN
InfoBox('Failed to load help manager.');
exit;
END;
{ Help manager is successfully initialized so set flag to TRUE }
fHelpEnabled := TRUE;
END;
{to be placed behind the main program message loop}
PROCEDURE DestroyHelp;
BEGIN
IF hwndHelpInstance <> 0 THEN WinDestroyHelpInstance(hwndHelpInstance);
END;
{
some possible parameters:
HM_HELP_INDEX shows the index
HM_HELP_CONTENTS, shows the contents
HM_DISPLAY_HELP shows help for help
}
PROCEDURE SendHelpMessage (HelpMessage:LONG);
BEGIN
if fHelpEnabled THEN
if WinSendMsg(hwndHelpInstance, HelpMessage, 0, 0)<>0
then InfoBox ('Failed to display help panel.');
END;
{
parameters are the Panel ID's, defined with ID dot commands
in the Hypermake source file
}
PROCEDURE DisplayHelpPanel (PanelID:LONG);
BEGIN
if fHelpEnabled then
if WinSendMsg(hwndHelpInstance, HM_DISPLAY_HELP,
MPFROMLONG(MAKELONG(PanelID, 0)),
MPFROMSHORT(HM_RESOURCEID))<>0
then InfoBox ('Failed to display help panel.');
END;
ΓòÉΓòÉΓòÉ 8.2. Windows Online Help ΓòÉΓòÉΓòÉ
To create context-sensitive program help, there has to be a connection between
the EXE file and the hypertext. Hypermake helps you doing that.
Relating ID's to chapters in the Hypermake source text
You can define ID constant names in a chapter.
.1
My Chapter
.ID ID_MY_CHAPTER
This is my chapter.
Hypermake creates a file PANELID.H, or another filename you can define in the
ini file (project settings page "Helpfile"), setting Panel ID filename" . In
this file, contant names are getting values.
In the ini file (project settings page "General"), setting languages , you can
choose between generating Pascal or C source.
Creating Help in C programs
The Panel ID file looks like the following:
/*****Help Panel ID's created by Hypermake*****/
#define ID_MY_CHAPTER 27
You can include this file in your C program source:
#include "panelid.h"
Creating Help in Pascal programs
The Panel ID file gets the Pascal syntax:
{ Panel ID's created by Hypermake }
const
ID_MY_CHAPTER = 27;
You can include this file in your Pascal program source:
{$I PANELID.PAS}
Access from the EXE source to the help file
With
WinHelp (hwnd, "MYPROG.HLP", HELP_CONTEXT, ID_MY_CHAPTER);
you can activate the specific help page.
In addition, there are two other important kinds of using this API function:
WinHelp (hwnd, "MYPROG.HLP", HELP_FINDER, 0);
activates the help window with the contents, index, search pages (you cannot
get directly to these pages)
WinHelp (hwnd, "MYPROG.HLP", HELP_HELPONHELP, 0);
activates the "help on help" page of the Windows operating system.
HTML-Help functionality
The way of creating the connection between EXE and help file is very similar to
Winhelp. But Hypermake does not relate integer values to the constant names.
The constant names represent strings, comparible to URL locations. These
constants are used in the new HTML-Help function.
To include HTML-Help in your program, you need to link the library HHCTRL.LIB
or HTMLHELP.LIB. The function call is very similar to the WinHelp function.
HtmlHelp (hwnd, "MYPROG.CHM:://N000.HTML", HH_DISPLAY_TOPIC, 0);
Because the parameter is a HTML filename string, there's no need for a Panel ID
file which assigns integer values to chapters. It is useful to offer both help
formats in your program, so you should write a function where both a Panel ID
constant name and a string is defined.
ΓòÉΓòÉΓòÉ 8.3. Writing several HLP files in different languages ΓòÉΓòÉΓòÉ
If you are writing several help files in different languages and you have only
one EXE file, it is adequate to enter the ID- (and OS/2 RC-) dot commands only
in one Hypermake source file. There aren't any problems if you have got exactly
the same heading level structure in every Hypermake source file. Hypermake
simply enumerates the headings from the first heading (res ID 1) to the end.
ΓòÉΓòÉΓòÉ 9. dot command summary ΓòÉΓòÉΓòÉ
subchapters:
About
Essentials
Beginning
Headings
Fonts
Lists
Bitmaps
Linking and Indexing
Duplication of heading text
Tables
Line drawing
Footnotes
Margins and Formatting
if-conditions
HTML specific commands
next chapter:
Project Settings (Ini file)
ΓòÉΓòÉΓòÉ 9.1. About ΓòÉΓòÉΓòÉ
Here you find a summary of all Hypermake dot commands. You will find the same
structure of subjects in Writing a Hypermake source text.
Some dot commands have got synonyms in German language or WordStar synonyms,
they are quoted in brackets and both are interpreted.
ΓòÉΓòÉΓòÉ 9.2. Essentials ΓòÉΓòÉΓòÉ
..comment
"comment" is not interpreted.
.:ipfcommand.
.:ipfcommand. expression
You can enter an IPF command directly.
.HC on
.HC off
Enables embedding <HTML tags> in normal Hypermake source text. Default is off.
.HTML
<HTML-commands> running text
.HYPERMAKE
enables direct writing of HTML text.
.HF filename
copies the content of the file filename to the location of the dot command when
creating HTML.
ΓòÉΓòÉΓòÉ 9.3. Beginning ΓòÉΓòÉΓòÉ
.TI
Title
sets the title of the hypertext to "Title".
.<>
creates pushbuttons "Back" and "Forward" in Winhelp and OS/2 HLP files and
"Contents" in OS/2 HLP files.
ΓòÉΓòÉΓòÉ 9.4. Headings ΓòÉΓòÉΓòÉ
.1 up to .6 sets a heading level
.1
Main heading
The title of the first heading level is "Main heading".
(Heading Size) Changing the font size of the heading text (HTML). E.g. Level 4
gets the font size of level 2.
.HS 123234
Appearance of links to subchapters
.sc separation text of your choice
.sc RETURN (default)
.sc PARAGRAPH
.sc LIST
Window Arrangement (Frames)
.WA ( .FA )
.WA hori 30
.WA hori 30 verti 40 III
Window arrangement enables showing two or three heading level windows
simultaneously. It has to be placed above the first heading level dot command
where the arrangement shall begin.
Chapter ID
.ID NAME
The chapter where the command is located gets the ID "NAME".
The corresponding page gets the name "NAME.HTML" instead of an enumeration. In
the ini file (project settings page "link"), you can enter the keyword "NAME"
in the line "function for link for". The navigation button "NAME.HTML" gets a
link to the marked chapter. You will find a Library of Buttons in the directory
BUTTONS.
This command is used for creating context-sensitive help.
ΓòÉΓòÉΓòÉ 9.5. Fonts ΓòÉΓòÉΓòÉ
.SFX ( .SNX )
.AFX ( .SAX )
standard font and alternate font changes the font to the font X. X represents a
character from A to Z and from a to z (case sensitive). The font chars are
defined in the ini file (project settings page "Font").
The alternate font is active between two alternate toggle chars, also defined
in the ini file.
ΓòÉΓòÉΓòÉ 9.6. Lists ΓòÉΓòÉΓòÉ
.OL turns the ordered list setting on
.UL turns it off (default, "unordered list").
ΓòÉΓòÉΓòÉ 9.7. Bitmaps ΓòÉΓòÉΓòÉ
.BM filename
places a bitmap centered. The filename extension is ".BMP" (IPF, Winhelp) and
".GIF" (HTML).
.BTX filename
replaces all occurrences of the bitmap char X by the bitmap filename.bmp.
.BD directory/
bitmap directory defines a default directory for all .BM and .BT commands
which follows.
ΓòÉΓòÉΓòÉ 9.8. Linking and Indexing ΓòÉΓòÉΓòÉ
.ICX ( .IZX , .STX )
sets the index char to X.
.IN phrase ( .SW )
places "phrase" into the index; all occurrences of "phrase" will get a link to
the chapter where the IN dot command is placed.
.IT phrase ( .IV , .SV )
Index Turned: same as IN, but uses the last word as leading word.
.IU ignore uppercase
at the beginning of the source text ignores upper and lowercase letters when
creating links
External links (IPF, Winhelp)
.EX extern.hlp
.ID chapter_beginning
.IN phrase
.EX
All occurrences of "phrase" become an external link to the chapter of the file
extern.hlp which was labeled with the dot command
.ID chapter_beginning
External links (HTML)
.URL internetaddress
.IN phrase
.LOCAL
All occurrences of "phrase" become an external link to the URL
"internetaddress".
Launching programs (IPF, Winhelp)
.EX programname.exe parameter
.IN phrase
.EX
All occurrences of "phrase" become a link to the program "programname.exe",
with the parameter "parameter".
ΓòÉΓòÉΓòÉ 9.9. Duplication of heading text ΓòÉΓòÉΓòÉ
.dp34C
Duplication of heading text at the beginning of the text window in heading
level 3 and 4 with font C
.dp##C
in all heading levels, headings are duplicated at the beginning of the text
window, gets link target (first #) and is placed into the index (second #).
.dp-34
deactivates heading duplication at the heading level 3 and 4.
In Winhelp, duplication of heading text is always activated and the fonts are
set in the ini file instead of the dot command.
ΓòÉΓòÉΓòÉ 9.10. Tables ΓòÉΓòÉΓòÉ
.TA table heading text
cell one cell two cell three
2nd line 2nd line one+
third cell " big cell
.TA
and you will get:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöécell one Γöécell two Γöécell Γöé
Γöé Γöé Γöéthree Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöé2nd line Γöé2nd line Γöéone big Γöé
Γöé Γöé Γöécell Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
Γöéthird cell Γöé Γöé Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
In tables, cells can be expanded with " and with + (only HTML).
.tc X
(table character) changes the concatenation-char + to another char.
.TT
(Table Tags) default is:
.TT BORDER CELLPADDING=5
Gray background without graphics:
.TT BORDER CELLPADDING=5 BGCOLOR="#D0D0D0"
.TW
Table word wrap (only HTML): table fits the whole window width and the text in
the cells is reformatted.
ΓòÉΓòÉΓòÉ 9.11. Line drawing ΓòÉΓòÉΓòÉ
.LIXY
X Y X ΓöîΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÉ
Γöé Γöé Γöé
Y result: Γö£ΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöñ
Γöé Γöé Γöé
X X ΓööΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÿ
.LI
Line drawing generates a box (X are the corners), divided by Y. Z in front of X
or Y uses double lines (only IPF).
ΓòÉΓòÉΓòÉ 9.12. Footnotes ΓòÉΓòÉΓòÉ
.FU{}
.FU{}sfX
defines brackets to quote footnote text; selects font X for the footnote
window. If you enter
you will get {content of the footnote}.
you will get .
.FS 30
footnote size: changes the default setting of text window size / footnote
window size 85 / 15 to 70 / 30.
.FT XXX
footnote text: writes "XXX" instead of the default "*". Bitmap chars are
allowed.
ΓòÉΓòÉΓòÉ 9.13. Margins and Formatting ΓòÉΓòÉΓòÉ
.LM 10
will set the left margin from default 1 to 10.
.FM off ( .FM aus )
.FM on ( .FM an )
(only IPF and Winhelp) Formatting turns formatting (word wrap) off and on.
Default is on.
.OC on ( .OC an )
.OC off ( .OC aus )
turns centered text on and off.
.AM off ( .AM aus )
.AM on ( .AM an )
Auto Margin let you change the left margin by entering spaces at the beginning
of a paragraph. Default is on.
In HTML files, the margin can only be changed in steps of 5 spaces.
ΓòÉΓòÉΓòÉ 9.14. if-conditions ΓòÉΓòÉΓòÉ
.IF CONDITION
.ELSE
.END
is only compiling specific source text to the output file. The conditions are
set in the HMP file or from the commandline with #CONDITION (not
case-sensitive). Also accepted expressions:
.IF not CONDITION
.IF COND1 and COND2
.IF COND1 or COND2
ΓòÉΓòÉΓòÉ 9.15. HTML specific commands ΓòÉΓòÉΓòÉ
.ID LABEL
the actual HTML file will get the name LABEL.HTML instead of e.g. N001.HTML.
.NR 10
.HD 100
.1
Heading with fixed internal number
(internal numbering) sets the interal counter for headings and files to a
higher value, so additional chapters can be inserted later above these commands
without affecting the enumeration which is following.
ΓòÉΓòÉΓòÉ 10. Project Settings (Ini file) ΓòÉΓòÉΓòÉ
subchapters:
Introduction
Main (HMP) settings
General settings
Format settings
specific characters
Font characters
link specific settings
HTML-0: preselect HTML designs
HTML-1: HTML specific settings, page 1
HTML-2: HTML specific settings, page 2
Winhelp specific settings
Rich text format specific settings
Help file specific settings (not HTML)
next chapter:
About
ΓòÉΓòÉΓòÉ 10.1. Introduction ΓòÉΓòÉΓòÉ
The project settings notebook contains settings which influences the design and
functionality of the hypertext files Hypermake generates. The settings on the
"Main" page are saved in the HMP file (HyperMake Project file) and all the
other pages in the ini file. Every hypertext project has always its own HMP
file, but several projects can share the same ini file, if the design and
functionality of these projects are the same.
Principally, you can edit the HMP and the ini file with an ASCII editor. This
is necessary if you don't use the graphical HYMAKE.EXE program and prefer
running HMAKE.EXE. The first line of HMP and ini files won't be interpreted.
For your own ini file, better use a copy of SAMPLE.INI and not DOCU.INI because
DOCU.INI has got some exotic ASCII values for the toggle chars.
In the sub chapters below, the corresponding line in the ini file is written in
typewriter font. If you use the settings notebook exclusively, this information
won't be interested for you.
If you want to edit HMP and ini files instead of using the settings notebook
In the manner of the C++ and Java programming languages, text at the right side
of a double slash // won't be interpreted. Also the windows specific comments
beginning with ; are allowed, but ; has to be at at column 1. You can change
the order of the switches, but all switches have to appear exactly one time.
With a few exceptions, the lines aren't interpreted case sensitive.
In comparison to Windows ini files, the headings in brackets like [general
settings] aren't interpretated and helps you only grouping the switches.
You aren't allowed to change the text at the left side of the = (equal)
character, because that's the name of the switch. At the right side, you can
change the setting.
ΓòÉΓòÉΓòÉ 10.2. Main (HMP) settings ΓòÉΓòÉΓòÉ
The "Main" page holds all settings which are stored in the HMP file (Hypermake
project file). The most important information here is the name of the source
file and the name of the ini file - this is the file which stores all the
information of the following pages of the settings notebook.
The reason for storing into two different files is the ability to use one
single ini file for several projects where the functionality and the look are
similar.
Source files
You can use only one or several source files. If you enter several source files
here, they were handled like the text would be stored in a single file with the
order you have chosen here.
It can be a useful decision to separate specific parts of your source file into
separate files, e.g. all external link (external WWW addresses) which have to
be controled separately. If you have got very large files, a separation can
also be useful. (But the Hypermake editor works with files up to 15 MB.) If
different persons are responsible for concrete chapters, a separation can be
also useful.
If no drive letter and directory is entered, the souce file has to be located
in the same directory where the current HMP file resides.
Ini File
The settings on the "Main" page are stored in the HMP file and all other pages
are stored in the ini file you can select here. You can select the same ini
file for projects with similar look and functionality.
It would be extremely tedious to fill out all settings of the settings notebook
when starting a new Hypertext project. Instead, when pressing New, Hypermake
let you select an existing ini file and then creates a copy this ini file (e.g.
the SAMPLE.INI file which is part of the archive). Then you have only to make
some changes on the pages of the settings notebook. Open let you select an
existing ini file for your current project. Changes on the notebook pages will
overwrite the selected ini file which will have an effect to other projects
using this ini file. Save as makes a copy of the current ini file. The old ini
file can be used for another Hypertext project.
Graphic Files
When checking "check graphic files" the list above will be activated. In this
case when compiling, Hypermake searches the necessary graphic files in the
directories you have entered here. If a file is missing, you will get a warning
message. See copying graphic files.
If you don't check this checkbox, you have to copy the graphic files yourself
to the directory where the HTML files or where the source file for the second
compiler (IPF, RTF file) resides.
also do start 2nd compiler, start viewer
After compilation of the source text to the hypertext format is finished
successfully, Hypermake can start the second compiler and/or the viewer
automatically, if you want. If you enable this checkboxes, make sure that in
the program settings (view - program settings), page "2nd Comp" and "View", the
filenames of the programs are entered correctly, e.g. the EXE file of the
Netscape Browser).
More about how Hypermake works see compilation.
Target
You can select one Hypertext format you want to get created from your source
text. You can also select a different target format with project - compile to,
which overwrites this setting.
If-Conditions
Hypermake lets you define conditions for including and excluding parts of your
source text without changing the source text, see if-conditions.
subchapters:
Parameter
next chapter:
General settings
ΓòÉΓòÉΓòÉ 10.2.1. Parameter ΓòÉΓòÉΓòÉ
In the settings notebook, page "Main", you will find a number of checkboxes in
the "Parameter" section. If you use the commandline version of Hypermake, the
expressions in parenthesis are the parameter names you have to enter.
"No Frames": Creating HTML files without frames functionality (NOFRAMES)
(only HTML) This parameter creates HTML pages without frame functionality. This
has got two effects: First, all .WA (window arrangement) commands aren't
interpreted. Second, all footnotes are placed in only one footnote file and the
footnotes will be numbered. The link to the footnote will be e.g. .
"No ID": Ignore ID dot commands (NOID)
(only HTML) If you use .ID dot commands, the HTML file gets the name of the ID.
Normally Hypermake uses filenames N000.HTML, N001.HTML and so on. If you don't
want to change to fixed ID filenames, you can use this parameter.
"Pre Filename": Several Hypermake documents in only one directory (PRE)
(only HTML) The ini file setting "pre filename" enables you to set a character
string in front of all HTML filenames generated by Hypermake, e.g.
UserN000.HTML, UserN001.HTML. But for this procedure you need one ini file for
each of your projects. To avoid having several ini files, you can use this
parameter.
If the projekt name is MY, Hypermake creates HTML files MY\MY*.HTML . So you
can copy the files of all your different projects into one single directory
without name conflicts.
Using DOS drives, "pre filename" or the name of the HMP file must not exceed 3
chars!
"Alt Graphic File": Different languages in only one directory (_) underscore
(only HTML) If you want to place HTML files and graphics in two languages in
only one directory, you will get a conflict with the same filenames of the
navigation buttons FORWARD.GIF, BACK.GIF and so on.
This commandline parameter appends the _ character to all graphics filenames:
FORWARD_.GIF, BACK_.GIF, USER_.GIF. For one of the two different languages you
have to use this parameter, for the other not. Rembember to rename the GIF
buttons of one language.
"Big Font": Choosing a globally bigger font (BIGFONT)
"Small Font": Choosing a globally smalle font (SMALLFONT)
With these parameters which have effect to all target fomats you can influence
the size of the fonts which have got a size value in the ini file. I have seen
that with the same INI file, e.g. Winhelp generates bigger fonts and IPF
smaller ones. To avoid using two ini files, you can use these parameters.
"New IPFC": Generating same output with two IPFC compiler versions (NEWIPFC)
The newer IPFC version 3 generates different beginnings of the pages (indention
and new line) in comparison to the versions 1 and 2. With the parameter
/newipfc you will get the same look of the hypertext files when compiling with
IPFC 3 like when compiling with IPFC 2 without the /newipfc setting.
Forcing DOS filenames (FAT)
With this parameter, Hypermake writes filenames in DOS 8.3 syntax. You have to
control possible conflicts by yourself: if the name of a chapter is
"mainchapter1.HTML" and of another one "mainchapter2.HTML", both chapters would
get the same name "MAINCHAP.HTM".
ΓòÉΓòÉΓòÉ 10.3. General settings ΓòÉΓòÉΓòÉ
Language of Hymake User Interface
//possible settings: ENGLISH, GERMAN, C, PASCAL
Language = ENGLISH C
Actually, English and German is supported. This document is also available in
German language. This switch won't have any effect to the output files. It only
sets the language of the user interface and the (error) messages running
Hypermake. Some dot commands are different in the german documentation, but
they are both interpreted.
When choosing a native language, you also have to set the language specific
settings endings of words and extended letters.
Your Programming Language (IPF, Winhelp, HTMLHELP)
If you want to create Panel ID and Helptable files, Hypermake has to know your
programming language C or Pascal.
Registration Key
Registration code = 0
Here you have to enter your registration key, if you want to compiler bigger
sources than 20 kB.
see registration
Beep after successful compilation
//beep when finishing compiling - possible settings: YES, NO
beep = YES
If Hypermake has created the IPF/RTF file or the HTML files successfully, you
will hear a beep. Here you can turn the beep off. OS/2, DOS and Windows NT/2000
activates the PC internal speaker, Win95/98 the sound card.
ΓòÉΓòÉΓòÉ 10.4. Format settings ΓòÉΓòÉΓòÉ
Source File Format
//possible Settings: ASCIIHARDRET, ASCIISOFTRET, WORDSTAR4
Source format = ASCIISOFTRET
see handling of Returns
Source Codepage
//possible Settings: ISO, IBM
source codepage = IBM
You can choose between two codepages for your source text. ISO (ISO 8859-1
"Latin1") and IBM codepage 437 or 850. ISO is the typical codepage for Windows
or Unix, IBM for DOS and OS/2.
This setting is also used by the Hymake editor. The codepage setting of the
last Hypermake project is used.
Target (interpreted, but not written in Hymake 4.0, now in HMP file)
//possible settings: IPF, HTML, WINHELP3, WINHELP4, HTMLHELP
Target = HTML
Note that you can temporary overwrite this settings by using the expressions as
program parameters in the HMP file or the commandline.
Choosing the parameters WINHELP3 and WINHELP4 depends on using HC.EXE/HCP.EXE
or HCW.EXE. The differences are not very big.
ΓòÉΓòÉΓòÉ 10.5. specific characters ΓòÉΓòÉΓòÉ
Check conflicts
is a functionality only inside the settings notebook. It will warn you if you
have defined a character for two purposes.
List chars
//only ASCII source
List chars = =-
List chars are necessary to create unordered lists.
Index char
Index char = #
see linking and indexing. The dot command .ICX overwrites this default setting
with the char X.
Index Filter
//characters not shown in index and duplicated heading
index filter = ().
You can omit specific characters in the index and when duplicating heading
text.
toggle chars
//highlighted char toggles
//all formats: 1 alternate 2 italic 3 bold 4 underlined
//IPF: 5 red 6 cyan 7 blue
//HTML: 8 strike 9 big 10 small
//HTML, Winhelp: 11 sub 12 sup
// 123456789012
toggles = ************
You always have to enter all twelve toggle chars, even you don't use IPF or
HTML.
You can enter these characters in the integrated editor by using popup menu -
toggle.
If you use IBM Codepage, you are allowed to use the characters below ASCII 26.
To enter characters in the settings notebook which are not part of your
keyboard, hold the ALT down and type the ASCII number with the number keys on
the right side of your keyboard.
Extended Letters
//language specific letters besides A...Z, a...z, 0...9
//english '-
//german ДФБсОЩЪ
extended letters = '-
In most languages besides english, there are letters other languages won't use.
Hypermake has to know these letters to distinguish from (possible) toggles.
This has an effect on indexing/linking. So if you write
This is a sample with a marked german word #KindergДrten.
(That's plural of Kindergarten.) If you haven't defined "Д" as an extended
letter, the index entry and link target is only "Kinderg".
To use an expression like "CONFIG.SYS" or "bird (movie)" as a link target, the
dot and the parenthesis have to be defined as extended letters. If you do so,
you have to pay attention when marking expressions with the index char, for
example you enter (#Word). Not "Word" is the link target and placed in the
index, it's "Word)." - that means most of the links you want are not created.
Use (#:Word:). in this case.
ΓòÉΓòÉΓòÉ 10.6. Font characters ΓòÉΓòÉΓòÉ
//Font chars from A to Z and from a to z (case-sensitive!)
//both HTML and IPF: size Linestandard OmitLinks PRE center
//only IPF: Fontname codepage foregroundcolor BACKGROUNDCOLOR
//only HTML: PHRASEELEMENT Color
Font A = 15 fmodern:Courier Courier CODE
Font b = fmodern:Courier Courier 12 CODE black 437 Linestandard OmitLinks
Font B = 30 Arial,Helvetica,Univers fswiss:Helvetica Helv neutral
Font Z = GREEN 30 Arial,Helvetica,Univers fswiss:Helvetica Helv yellow
Font G = 15 Arial,Helvetica,Univers fswiss:Helvetica Helv black
Font T = 18 froman:Roman Tms_Rmn
Font C = black
Font o = OmitLinks
Here you can define font chars from A to Z and from a to z. Note that the font
char is case sensitive. There is no order of the settings.
In the settings notebook, you can activate the font dialog by double clicking a
line in the list box or by pressing the "change" button. In the font dialog,
you can change the font, you can edit the edit field which will chause changes
in the dialog item states or you can use the dialog items which will modify the
edit field. The "sample" field cannot cannot show a perfect preview of the font
style, because the different hypertext formats are too different.
The characteristics of the strings in the edit field / behind the = sign are:
size: all numbers smaller than 200
codepage: (only IPF) all numbers equal and bigger than 200
foregroundcolor: (See color samples)
- IPF: all colors in lower case letters:
default, blue, cyan, green, neutral, red, yellow, black.
- HTML, Winhelp: lower case letters, but first char capital letter:
Black, Silver, Gray, White, Maroon, Red, Purple, Fuchsia, Green,
Lime, Olive, Yellow, Navy, Blue, Teal, Aqua.
backgroundcolor: (only IPF) all colors in capital letters: DEFAULT, BLUE,
CYAN, GREEN, NEUTRAL, RED, YELLOW, BLACK.
Phrase element: (only HTML) ADDRESS PRE EM STRONG DFN CODE SAMP KBD VAR
CITE.
IPF Font-Type: all strings which are not a color.
HTML Font-Type: at least two fontnames separated by comma, without spaces
Winhelp Font-Type: fontfamily:fontname seperated by a colon. Font
families are fmodern, froman, fswiss.
Note that fonts with two words have to be connected with "_".
You only have to enter the settings which are different from default.
The default IPF codepage is defined by the settings in your operating system
or by a parameter of IPFC.
Note that you can mix HTML, IPF and Winhelp instructions, so one font
character defines different outfit dependent on the target format.
With the LineStandard setting you can choose which font will be standard when
activating line drawing. Only one font should have the LineStandard setting,
and the font should be not a proportional font.
With the OmitLinks setting, you can omit the automatic linking function in
several specific fonts. That can be useful for example when writing sample
text.
For further information, please refer to the font chapter.
ΓòÉΓòÉΓòÉ 10.7. link specific settings ΓòÉΓòÉΓòÉ
endings of words
//endings in german words: n en s es
ending of words = s es ies 's ion ions ing ings
See Linking, Handling of endings
Text for link to
Text for link to subchapters = @subchapters:@
Text for link to next chapter = @next chapter:@
Hypermake will automatically generate links at the end of a heading to all
subchapters and to the next chapter of the same (or lower) heading level. Here
you can enter the input which will be shown immediately before the links will
appear. You are allowed to use toggle chars or bitmaps using bitmap text.
You can turn off this function by leaving the entryfield blank or entering NO
in capital letters:
Text for link to subchapters = NO
Text for link to next chapter = NO
Text for link to main chapter = to main chapter (Font Z)
When using the frames dot command .WA window arrangement, two heading levels
are shown simultaneously. The second window (sub chapter) always gets a link to
the first window (main chapter). Because the other links in HTML like
"contents" are not created in the second window, the "link to main chapter" is
the only connection to the remaining document. It can be disabled by typing NO
, but I cannot recommend turning it off.
When creating IPF, text for link to main chapter is not used.
no more links in
//possible Settings: PARAGRAPH, WINDOW, ALWAYS
no more links in = PARAGRAPH
see Linking, Omitting links
Marking external links
//graphics file for marking external URL links or NO for no graphics file
URL graphics file = World
Besides Winhelp3, all target formats support links to the WWW. It's useful to
know whether a links is an external link or not because external links are only
running if the computer is online. Hypermake can place a graphics file in front
of every external link.
ΓòÉΓòÉΓòÉ 10.8. HTML-0: preselect HTML designs ΓòÉΓòÉΓòÉ
Hypermake offers a lot of user settings for the HTML target format. If you
don't want to study all the settings, you can preselect a well-tested design
which is a set of specific settings of the pages HTML-1 and HTML-2. The designs
are sorted in an order from simple and nearly without using Javascript to a
high-featured design which has got a lot of Javascript and is internally more
complicated. If you use Hypermake for a longer time: the number behind
"Hypermake" shows the Hypermake version number where the design was the default
design.
Language has got an effect to all language-specific settings when pressing a
HTML design button. If your language is not listed in the radiobox, please send
me your ini file.
The Hypermake 4.0 design uses different frame names (default frame, content
frame) for the content and normal text. The start page / homepage is no more
N000.HTML or INDEX.HTML, it's INDXF.HTML. This is a frame page which shows the
content in the left frame and the normal text in the right frame. The user can
reach this frame page by clicking to the "Home" button in the first/last line
of the normal text pages. The design is close to Microsoft HTML-HELP, so do not
use this design when creating HTMLHELP - in this case two content trees would
be visible simultaneously.
If you have selected an interesting design, please send me your ini file. If
you need some additional functionality to get your favourite design, please let
me know.
The checkboxes below refers to some basic functionality: if you create a
short and simple Homepage, it can be useful to turn off create contents page
and create index page, Normally you will turn this functionality on, because
that's the main purpose of Hypermake.
By default, Hypermake writes the heading text of a chapter in proper HTML
syntax, so it's the job of the browser to show the headings in an expedient
way: the heading of chapter level 1 in a big font, level 2 in a smaller font
and so on. When creating Winhelp, the user has to define a heading font for
each heading level, because Winhelp does not know a "heading font" command.
Turning the Use heading fonts on Winhelp page for HTML checkbox on will use
these font definitions also for HTML headings. You can use this setting e.g.
to define different colors for heading text dependent on the heading level.
But the recommendend setting is not to use these fonts.
ΓòÉΓòÉΓòÉ 10.9. HTML-1: HTML specific settings, page 1 ΓòÉΓòÉΓòÉ
body tags
You can enter several HTML body tags for describing the look of the Browser
window. E. g. a background graphics file and a text color for all normal text
windows and a background color for the contents window.
//enter tags or NO
body tags = background="backgr.gif" TEXT="#00FFFF"
contents tags = BGCOLOR=#"CCFFCC"
The contents tags setting is optional.
Be careful with body tags! For example, if you choose a blue background, the
links aren't visible anymore. Remember that other users have perhaps defined
other default colors. Only if you choose a gray or white background, there's no
risk.
In the settings notebook, when pressing the button near to the editfield, you
will get a dialog window where you can select background color or a background
graphics file (which should be placed in one of your graphic path directories,
see page Main) and a foreground color (font color) for the default fonts where
no color is defined.
First and last line
see also chapter Navigation Buttons
//only HTML: first and last line in file
function for first line = BACK FORWARD CONTENT INDEX
text for first line = back forward content index
function for last line = FORWARD CONTENT INDEX
text for last line = forward content index
Hypermake creates several HTML files. People viewing the text should be enabled
to link to the next file (FORWARD) and to the file backward (BACK). Also a link
to the contents window (CONTENT) and to the index (INDEX) should be available.
You can choose whether all functions are available both in the first and in the
last line or not. Also the words which represents the function can be changed,
also the order of the functions. But you have to make the changes for function
and text similar.
The design "Hypermake 4.0" (see settings page HTML-0) uses two extended
functions HOMEF (Homeframe) and MAX (maximize). Additionaly, the user can set
user defined buttons pointing to an arbitrary page of the hypertext. For more
information see page Navigation Buttons.
Buttons
//you can use buttons BACK.GIF FORWARD.GIF CONTENT.GIF INDEX.GIF
//instead of simple text or use Javascript buttons
//possible settings: TEXT GIF JAVASCRIPT (Font X)
buttons = GIF
You can choose between textual links, buttons with graphic files and Javascript
buttons in the first/last line. The graphics file names are fixed: function
name with extension ".GIF".
Besides GIF, you can select a font. For Javascript buttons, a smaller font
(property "-1") is recommended.
The GIF files have to be placed in the directory of the HTML files. If the GIF
files aren't there, the text you have defined in "text for first/last line" is
shown instead. If the files are located on a unix server, the filenames are
case sensitive! Use only upper case letters!
You will find a Library of Buttons in the directory BUTTONS.
The setting JAVASCRIPT creates buttons based on the Javascript programming
language. The program generating the Java buttons is part of the HTML file and
much more smaller and faster than separate GIF files. But besides a font, you
can't change the design of the buttons.
title in every file
//enter YES (Font X) or NO
title in every file = NO
It can be desired to have got the title on every HTML page. The title (which
you have defined by .TI at the beginning of the source text) is shown at the
beginning of the page, above the "first line" with the navigation buttons.
minimal Entries for Extended Index
entries for extended index = 30
Here you can enter the minimal number of index entries where the program has to
create the extended index instead of the simple index.
New File Level
//HTML text file is divided in several files.
//Enter heading level where new file begins (0 means only one HTML text file)
new file level = 3
Hypermake creates several HTML files from only one source file. This increases
the performance of the HTML browsers dramatically. With this setting you can
influcence the number of generated HTML files. "3" means that for all chapters
of heading level 1, 2 and 3, seperate HTML files are created.
If Frames (window arrangement) is active in a specific area of the text,
Hypermake creates a new HTML file for every chapter.
Horizontal Rule Level
//Enter heading level up to which has to be divided by horizontal rules
// (0 means no rules)
horizontal rule level = 4
HTML enables generating horizontal rules all over the window. These can be used
to seperate different chapters, if they are not placed in different HTML-files.
The value of "horizontal rule level" has to be greater than "new file level".
"4" means the chapters of level 1, 2, 3 and 4 are seperated by a rule, if they
are placed in the same file.
shown in Contents (also Winhelp3)
//Enter heading level up to which has to be shown in the HTML content file
// (6 means all levels, 0 means no content)
content level = 6
With this setting you can enter up to which heading level appears on the
content page. If you choose 0, no content page will be created, also the links
to the content page are omitted.
Contents tree view
//enter NO for non-Javascript or AlternateLinkText;OpenText;CloseText
contents tree = Link to normal contents view;open tree;close tree (Font X)
The contents tree setting lets you define three text inputs for the Javascript
Contents Tree: "AlternateLinkText" gets a link to the normal unordered list
view. "OpenText" and "CloseText" is shown in newer browsers if the mouse
pointer is over the graphics files which represents the function open/close the
subchapter tree as bubblehelp. In any case, this text is shown instead of the
graphics files if the user has chosen "load no images" in the browser (HTML IMG
ALT text). Then you can select a font for the Javascript contents tree. A font
with the PRE setting is recommended. This omits word wrap inside the tree which
would impair the proper formatting of the tree.
ΓòÉΓòÉΓòÉ 10.10. HTML-2: HTML specific settings, page 2 ΓòÉΓòÉΓòÉ
Filename Appearance
//possible settings: sample.html SAMPLE.HTML Sample.html sample.htm SAMPLE.HTM Sample.htm
filename appearance = sample.html
Here you can define how the HTML filenames looks like: small, capital letters,
short filenames, long filenames. If you want to publish your HTML files in the
WWW and make a mistake here, it can be possible that the links are OK on your
computer and after uploading on a server, the links won't work anymore! So
please read the chapter about HTML filenames.
Warning if Filename not 8.3
//choose DOS or LONG - DOS means 8.3 filenames, LONG no limit
filenames = LONG
Hypermake generates a lot of warnings if in the filename appearance setting a 3
char extension was chosen and Hypermake locates filenames with more than 8
characters length. With the ini file setting LONG you can omit these warnings.
pre filename
(Only ini file, with settings notebook use "Pre Filename" checkbox on the Main
page.)
//pre filename = XYZ* let all HTML files begin with XYZ
pre filename = *
(Registration required) Hypermake creates a lot of files from only one source
file. The names of these HTML files are choosen by Hypermake. E.g. it simply
enumerates files: N000.HML, N001.HTML and so on. If you want to copy files from
several Hypermake source files into one directory, you can enter a string every
filename begins with, also INDEX.HTML. For example the input XYZ* means that
the filenames are XYZN000.HTML, XYZN001.HTML and so on. Please be careful that
the filenames aren't longer than 8 chars, if you use old FAT drives. (That
means the pre filename is limited to 3 chars.)
Identifier for frame/browser window
default frame = _top
contents frame = _top
If you are using the WWW, sometimes a new browser window opens. Here the author
has used another identifier than "_top".
If all HTML pages of your project should appear in a frame of another document,
it can be necessary to change this setting. Changing this settings needs
experience in HTML, so don't change this if you aren't sure. The default
setting is _top .
For larger documents it can be useful that the user can open two browsers: One
for the contents and one for the text. You can do that when choosing different
names for default frame and contents frame , e.g. "main" and "cont".
The predefined "Hypermake 4.0" design (settings notebook page HTML-0) uses two
different identifiers here.
footnote appearance
//choose between ActiveX popup footnotes (ACTIVEX) frame footnotes (FRAMES) or no frames (NOFRAMES)
footnotes = FRAMES
When creating HTML, you can choose the appearance of the footnotes. In the ini
file, setting footnotes you can choose between frames , noframes and activex .
The activex setting forces popup footnotes and is useful together with
HTML-Help. For the activex setting, the user needs a Microsoft browser, so
don't use this setting to publish in the Web!
Heading of notes text
notes text = notes
If a source file is compiled with the setting or program parameter noframes ,
Hypermake creates one single footnote file with all footnotes numbered. Here
you can enter the heading of this file. This text can also be used in the
titlebar of this HTML page.
Text in Browser Titlebar, for Searching Machines and in Browser Statusbar
//here you can define the text appearing in the browser titlebar
//enter DOCTITLE, HEADING, FILENAME and fixed text, e.g. a slash
//NO means no text
file title = DOCTITLE - HEADING
meta content = DOCTITLE - HEADING
statusbar mouseover = to chapter: HEADING (file FILENAME)
statusbar default = DOCTITLE - visit the Homepage regulary!
Here you can define the text appearing in the browser titlebar and the meta
entry. Meta entries are used by internet search machines. DOCTITLE is the text
behind the .TI command, HEADING the heading text of the actual HTML page.
The statusbar text appears in the bottom text field of every HTML-browser. If
the mouse pointer is over a link, the text under statusbar mouseover will
appear, otherwise the text defined in the statusbar default setting.
It's not possible to use the characters ' and ".
ΓòÉΓòÉΓòÉ 10.11. Winhelp specific settings ΓòÉΓòÉΓòÉ
The "Winhelp specific settings" page concerns both target formats Winhelp and
RTF-text.
Do not scroll Headings
//heading level 123456
heading fonts = ddcooo
//omit scrolling of the heading, YES or NO
keep heading = YES
Winhelp allows to get the heading text fixed, so scrolling the page does not
hide the heading text. You can turn off and on this setting.
Heading Fonts
//heading level 123456
heading fonts = ddcooo
//omit scrolling of the heading, YES or NO
keep heading = YES
You can choose the fonts for the headings in every heading level. Every
character is a font char which represents a font. Normally you will choose
bigger fonts for the higher heading levels (1, 2). Of course these font chars
have to be defined in the settings notebook, page Font or in the ini file,
setting Font = .
List indention
//influences the left margin command and the indention of lists
list indention = 4
Here you can influence globally the size of the left margin when using the .LM
dot command and the size of the indention when writing sorted lists and
unsorted lists.
Default Font Size
//default value is 10
default font size = 10
The default Windows font for help windows is a small and thin font ( 10 ). The
font size 11 is only a little bigger, but thicker than 10 . I cannot recommend
a bigger font size than 12 .
Create HLP-internal contents
Create External CNT file
//enter CNTFILE, INTERNAL, BOTH or NO
contents creation = BOTH
This setting is independent from the WINHELP3/WINHELP4 target format setting
(page General). An internal contents is a contents page in the HLP file - here
the yet HTML specific "contents level" setting (page HTML-1) is interpreted. So
you can create a contents page with only 2 heading levels.
The Winhelp4 format has got an external Contents file (CNT file). Please note
that you have to ship the CNT file together with the HLP file.
It can make sense to let create both contents simultaneously together with the
WINHELP3 target format. In this case, the help file can be read on all Windows
systems. Nevertheless, Windows 95 and NT users can use the CNT tree view
contents.
"CNT" General Text
//heading text for the subchapter containing the text
//of the main chapter in CNT files
contents general text = General
The CNT file format has got a very bad design: A main chapter cannot point to a
page with explaining text before the sub chapters begin. But that's the normal
form of text documents. Hypermake creates a new first sub chapter where this
text is placed. Here you can change the heading text of this first sub chapter.
Printed List chars
//character which is the left fat dot in lists, in different list levels
printed listchars = oooo
You can choose which character is the "left fat dot" in unordered lists, one
character for every list level. You are allowed here to use bitmap characters
(command .BT bitmap text).
ΓòÉΓòÉΓòÉ 10.12. Rich text format specific settings ΓòÉΓòÉΓòÉ
When generating RTF text (rich text format), most settings on the "Winhelp"
settings page are interpretated.
Color correction
//enter yes or no
Color correction = YES
When generating a RTF file for importing into a wordprocessing program, a color
table is generated at the beginning of the file. This determines the colors for
the fonts used in the RTF file. The problem is that Winword interpretates this
table different from all other programs. If you want to import the RTF file to
Winword, then turn the color correction off, otherwise on. Even Windows Wordpad
interpretates the color table different from Winword. If the colors of the font
are imported wrong, please change this setting.
automatic heading enumeration
//enter yes or no
automatic heading enumeration = YES
If you turn this switch on, Hypermake generates a RTF code for the heading
level instead of the text e.g. "7.2.3". The majority of wordprocesssing
software interpretate this code. If this setting is switched off, the
enumeration text "7.2.3" is normal text.
Wordprocessing software programs like Winword have got the ability to create a
content with page numbers for each heading automatically. But this
functionality is only available if the automatic heading generation is
activated.
ΓòÉΓòÉΓòÉ 10.13. Help file specific settings (not HTML) ΓòÉΓòÉΓòÉ
Help Start ID Value (only IPF)
Help Subtable Start ID = 7000
With the Help Subtable Start ID setting you can define a start ID value for
Subtables in helptables created by Hypermake. This setting won't be interesting
unless you define constants in your C source file or header file with the same
value (7001, 7002 etc.).
Helptable Filenames (only IPF)
Panel ID Filename
//files will be overwritten without warning
Helptable filename = HLPTABLE.RC
Panel ID filename = PANELID.H
Here you can change the filenames of the helptable and panel ID file which will
be automatically created by Hypermake. If you enter the filename *.XYZ, the
source file name with the extension XYZ is chosen.
The Panel ID file defines constants in your program source code whichs
represents a chapter of your help text. On the "format" page of the settings
notebook, you can select the programming language C or Pascal.
Note: The helptable file and the Panel ID file will be overwritten without
warning.
ΓòÉΓòÉΓòÉ 11. About ΓòÉΓòÉΓòÉ
subchapters:
Registration
Disclaimer
Author
Versions
Bug report
Download Location
Trademarks
Platforms
Other progs
ΓòÉΓòÉΓòÉ 11.1. Registration ΓòÉΓòÉΓòÉ
This program is Shareware if you want to compile bigger source files than 20
kB. You need a registration key to compile such bigger source files. When
compiling smaller source files than 20 kB, it will be Freeware.
Why 20 kB? I think writing small HTML documents and INF or HLP files for simple
HTML documents and freeware programs should be possible without registering. So
if you find errors and you are not registered, you also can send me a mail. If
you write a Freeware program with a documentation which exceeds the 20 kB
limit, I will send you the registration key for free.
There's a small registration key (up to 150 kB source text) and a big one (no
limit). The registration fee is 40 Dollar or 45 Euro for the small
registration key and 90 Dollar or 102 Euro for the big one.
When ordering more than one licenses, you will get a 30% discount for every
additional license.
You can register this software by sending a Mail to BMT Micro, see BMTORDER.TXT
or via Web Browser and Atlantic Coast Soft Shop http://www.swreg.org, search
"Hypermake".
If you have got a bank account in an Euro country, you can transfer the money
to my bank account in Germany Dresdner Bank Ottobrunn, german bank code 700 800
00, account Nr. 075 64 62 400.
The registration key has to be placed in your Hypermake ini files or in the
project settings notebook, page "General". The key fits for all platforms and
all future versions.
ΓòÉΓòÉΓòÉ 11.2. Disclaimer ΓòÉΓòÉΓòÉ
Hypermake is provided as is and comes with no warranty of any kind, either
expressed or implied. In no event will the author be liable for any damages
resulting from the use of this software.
ΓòÉΓòÉΓòÉ 11.3. Author ΓòÉΓòÉΓòÉ
Martin Vieregg, 36. I've studied economics. My main job is working in my own
consulting company. Our special subject is public transport, especially
railways and airports. The title of my doctoral (PhD) thesis was "increasing
efficiency of railway long-distance passenger traffic".
E-Mail address: Martin@vr-transport.de
Homepage of my Freeware- and Shareware programs:
http://www.hypermake.com
Postal Address:
Dr. Martin Vieregg
Emdenstr. 11
D-81735 Munich
(Germany)
ΓòÉΓòÉΓòÉ 11.4. Versions ΓòÉΓòÉΓòÉ
Ideas for future versions
If you have bug reports and ideas for new functionality, please E-Mail me!
I want to publish a Linux version in the future.
I am not planning to implement PDF target format (Adobe portable document
format), because there are a lot of good converters from RTF-Text to PDF. But
if you miss specific RTF-text functionality to get a better source for
generating PDF, please tell me your ideas.
Hypermake 4.0
The development of the graphical version of Hypermake was a lot of work. In
this time (from 3.66 to 4.0), I set the focus to the development of the
graphical environment and not to the functionality. Nevertheless, I made some
work for improving functionality:
A fifth target format is now implemented: RTF text (rich text format) for
importing Hypermake documents into word processing software; you can use
this format to get a paper print of your document. Because this format is
very similar to RTF Winhelp files, you can use the Winhelp settings.
(HTML) Improvement of Javascript navigation buttons and of frames, font
selection for contents text and for the navigation lines (first line,
last line). These improvements culminates in a new combination of project
settings (page HTML-0, "Hypermake 4.0 design").
a file comparison functionality enables locating the changed HTML files
of a HTML project
Some new program parameters for the user interface of the commandline
version HMAKE.EXE, returncodes
Some minor, not remarkable bugfixes.
new functions in Hypermake 3.65
improved table functionality, new dot command .TW table word wrap
user-defined internal numbering of headings and files (HTML)
ignore uppercase letters when creating links
Bitmap Directory for HTML graphics
new functions in Hypermake 3.60
content tree view for HTML by using Javascript (can be viewed by all
default browsers)
statusbar text for internal links
extended functionality in HTML tables
new functions in Hypermake 3.5:
support of the Winhelp format
reverse converting mode RTF to Hypermake
support of the new Microsoft context-sensitive HTML format
HMP files as a mouse substitute for the commandline
Hypermake also available in a DOS version
Javascript navigation buttons and ActiveX footnotes
copying graphic files automatically
manual external links and automatic external links to the WWW for all
source formats besides Winhelp3; marking external links
HTML info file
improved embedding of HTML commands
new functions in Hypermake 3.0:
tables both for IPF and HTML
user-defined navigation buttons in addition to back, forward, content,
index, pointing to specific chapters or URLs
user head tags (meta entries) copying into every HTML file
settings for the appearance of filenames (small/capital letters, 8.3
convention)
settings for the titlebar text in the HTML browser
commands for bugfixing
settings for appearance of links to subchapters
more flexible usage of toggle chars
HTML fonts
Library of Buttons.
new functions in Hypermake 2.9:
target file format HTML in addition to IPF
reverse converting mode from IPF to Hypermake
index filter
many source files (see commandline parameters)
(2.91) first version also available as a Win32 program
(2.91) footnotes also for HTML.
bugfixes in (new name) Hypermake 2.9:
"link to subchapters = NO" created a malfunction
Together with IPFC Version 2.1 (1993) and the "ASCIIHARDRET" setting, in
larger paragraphs a space was missing after 200 chars.
With the "ASCIIHARDRET" setting, malfunctions with unsorted lists
occured.
new functions in MakeIPF 2.0:
external links to separate HLP- and INF-files
launching programs by hyperlinks
automatic duplication of heading text in the text window, heading text
gets link target and is placed in the index
more detailed error messages, so running IPFC will create fewer error
messages
tabs are converted into a number of spaces like an editor does (use only
with non-proportional fonts)
improved window arrangement
registration via Compuserve
ΓòÉΓòÉΓòÉ 11.5. Bug report ΓòÉΓòÉΓòÉ
All Hypermake versions before 3.94 crash immediately with Windows NT 4
Servicepack 4 or later, also in Windows 2000.
There were some minor bugs in Hypermake 3.66 which are not documented. The
bugs in the graphical beta version 3.9X were not documented, too, because the
number of bugs is too large. For 4.0 and later, I will report again all
occuring bugs.
The following Hypermake 3.65 bugs are fixed in 3.66:
3.65.01 (only Win95/NT version), double clicking to the HMP file won't
activate the second compiler
3.65.02 When compiling Winhelp, .SL (sorted lists) numbering don't reset
after a higher level list entry
3.65.03 When compiling Winhelp, the output centered command (.OC) is
corrupted
The following Hypermake 3.60 bugs are fixed in 3.65:
3.60.01: When compiling Winhelp and the source ends with an
(ordered/unordered) list, a bug occurs (more { than }).
3.60.02: when reverse compiling IPF to Hypermake, in the :h1. command
there have to be more than 2 chars between : and .
3.60.04: mailto:emailaddress won't get a link.
3.60.05: ASCIISOFTRET together with target Winhelp forces missing spaces
in running text.
3.60.06: (oops, that was not a bug, it's necessary because of a bug in
the Winhelp Compiler/viewer) If a CNT file ends with a main chapter
without subchapters, a "general" chapter is created nevertheless.
3.60.07: Tables: The " sign for enlarging the cell height does not work
when it's in the first table column.
Former bugs are not reported.
ΓòÉΓòÉΓòÉ 11.6. Download Location ΓòÉΓòÉΓòÉ
An easy way for uploading is my Homepage
http://www.hypermake.com
In Compuserve, you will find the latest OS/2 version of Hypermake in Compuserve
IBMUSER and the Win95/NT version in the HYPERTEXT forum.
In the internet, the versions for all platforms are available on
ftp://ftp.bmtmicro.com/bmtmicro
Filenames:
OS/2 version: hmakeos2.zip
Win95/98/ME/NT/Win2000/XP version: hmakewin.zip
DOS version: hmakedos.zip
Archive file names with version number (e.g. hmake400.zip) are usually the
Windows version.
The filesize of the Hypermake archive file is 1,75 MB for the Windows and 1,25
MB for the OS/2 version and only 300 kB for the DOS version because the DOS
version includes only the commandline version and has no pre-compiled help.
ΓòÉΓòÉΓòÉ 11.7. Trademarks ΓòÉΓòÉΓòÉ
IBM and OS/2 is a registered trademark of International Business Machines Corp.
WordStar is a trademark of The Learning Company.
SpeedPascal is a trademark of SpeedSoft GmbH.
TurboPascal is a trademark of Borland Corp.
Windows is a trademark of Microsoft.
ΓòÉΓòÉΓòÉ 11.8. Platforms ΓòÉΓòÉΓòÉ
You will be astonished by the speed of Hypermake. And now the surprise: I
haven't used a C compiler, I have used the TurboPascal/Delphi compatible
Speedsoft SpeedPascal http://www.speedsoft-online.de . It's a cross compiler
generating both OS/2 and Win32 programs. A Linux is also planned, so Hypermake
will be available for Linux in the future, too.
The DOS version is compiled with TurboPascal and does not use extended memory.
The source file length is limited to 1 up to 4 MB, dependent on the number of
links. Theoretically, Hypermake for DOS runs on a old XT computer. So Hypermake
DOS should run without problems on all operating systems where a simple DOS
emulation software is available (e.g. Linux). The Pentium-300 bug of all
TurboPascal programs (too much speed) is not fixed. The graphical 4.0 version
won't be available for DOS, but the commandline version will be supported in
the future.
ΓòÉΓòÉΓòÉ 11.9. Other progs ΓòÉΓòÉΓòÉ
Other programs I have written, both Windows 95/98/ME/NT/2000/XP and OS/2 (Linux
versions for some programs are planned)
WSedit:
The Hypermake editor as an own program with additional functionality.
Compatible to Wordstar: reading and writing Wordstar (DOS) files, ASCII IBM and
ISO codepage. Supports Wordstar Ctrl key commands and CUA commands.
Syntax-highlightning, Translation, spell checking, function key macro recorder
and a lot of other features. WSedit handles very large ASCII files. Freeware.
pmCalc: a "pocket" calculator automatic clipboard functionality, programmers
and scientific functions, Regression. There's a separate input and output
field, the formula you type rests in the input field. (Shareware)
TinyAlarm:
A simple countdown with a slider from 1 to 60, an alarm by entering alarm time
and a chime. System shutdown. Freeware.
cd-shortcut:
instead of whole directory names you enter only substrings. Searching through
several drives and opening OS/2 WPS folders. Freeware.
Simple Zipshell:
Packing and unpacking ZIP files by using the graphical desktop. Freeware.
Clear:
(only OS/2) Uses also Info-Zip and let you backup your data e.g. on floppies.
You can enter filenames like *.BAK which are not copied, directories which are
skipped. Then you can enter filenames with a specific age which are deleted.
Freeware.
For more information, screenshots and downloads, visit my Homepage
http://www.hypermake.com
end of hypertext
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
IPFC generates INF- and HLP-files from the IPF source. IPFC.EXE is part of
every programming development system for OS/2. At my system, the necessary
files are IPFC.EXE, IPFC20.INF and IPFCEXMP.INF; there's also a directory IPFC
with language-specific data. The Windows version is part of the IBM Visual Age
C++ for Windows package.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
of course, without 0x0A, 0x0D, 0x1A (decimal 10, 13, 26)
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
The IPFC compiler would create an error message when using more than 200 chars.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
In a German magazine you could read that 90% of the internet surfers don't use
scrollbars.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
To convert from GIF to BMP, I recommend the freeware GIF2BMP (Graham Welland,
September 1989, OS/2 16 bit)
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
letters a e i o u y
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
This will be the content of the footnote
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
Because of a bug in the IPFC 2.0 compiler. The entries in the index would get
an ASCII 10 char at the end.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
Programmers should know what an RC file is, and if you don't know, you can skip
this chapter because you need not create any context-sensitive help files.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
If the constant behind DIALOG and the constant behind DLGTEMPLATE are
identical, it's okay.
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
you have to use the constant you have entered in the RC file after MENU or
DIALOG
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
Perhaps that's compiler specific. I use Borland C
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
content of the footnote
ΓòÉΓòÉΓòÉ <hidden> ΓòÉΓòÉΓòÉ
17