My Experience with Dr.Explain

by Victor Wheeler
 
×
Menu
 

Step 2 -- Adding Hyperlinks

 
Step 1 was to enter my help content.  I decided that I would wait until all my help content was in place before I added links between pages (or to any external websites).  So whenever I recognized a link to another page would be needed, I included something like this:
 
See [Logging Tab <TODO: link>] for more information.
 
I did it this way just in case I wanted to add more pages before I added links.  This would enable me to do all links just once by doing a Find and searching for "TODO", and adding links until all the TODO's were taken care of that were about adding links.
 
So in Step 2, I went through the entire help file, top to bottom, and replaced these with actual links.  Dr.Explain made this very easy and fast (and I had 2 or more links on almost every page).
 
As it turns out, since I had my page structure organized from the beginning, I could have added my links in Step 1 and I would have been slightly more ahead at this point as a result.  Furthermore, Dr.Explain makes it really easy to change links.  If you change a page title (and thus an HMTL file name, which by default Dr.Explain manages for you), any other page that linked to that page it gets updated automatically, unlike the unpleasant experience of changing the name of an HTML file in Microsoft HTML Help Workshop, which invalidates any link that linked to it.
 
 

Adding Hyperlinks with Dr.Explain

 
In Dr.Explain, adding a link only takes seconds per link.  In the Content Editor, either click the Link toolbar button or use the Ctrl-K keyboard shortcut.  Either approach launches the Insert Link dialog box.  If you selected text before you did this, that text is filled in automatically in the Link Text field in the Insert Link dialog box.  If you launched the Insert Link dialog box with no text selected, then that field will be empty.  Either way, whatever text you place in this field will be the link text in the final output.
 
To link to another topic page in the same project, select the topic page in the Internal Link topic tree.  If that page uses the screenshot layout you can additionally link to a specific call-out section by selecting a "Control" in the Control drop down list.
 
To link to something outside the project, enter the URL in the URL Address field.  If this URL belongs to an external website, you can test the URL by clicking the Ping URL button.  Normally, such a link will open in the same window.  If you want it to be opened by an external browser, check the Open in new window checkbox.  (This checkbox can also be used for an internal link, though it is not usual to do so.)
 
With the URL field, you have a very wide selection of pages that can be opened.  Most URL syntax works in this field.  Note that if your help is in a CHM file, some URLs will not open correctly inside the same window, and so you will need to check the Open in new window checkbox in such cases.
 
For detailed information about each control in the Insert Link dialog box, see Inserting Hyperlinks. in the Dr.Explain on-line manual.
 
 

Nifty Trick with Dr.Explain

 
When a topic page within a Dr.Explain project uses the basic layout, if you use an internal link, you cannot link to a specific PART of that page.  However, there is a clever way of doing this that is not yet documented in the Dr.Explain help file (and is probably self-evident if you work with URLs regularly).  The trick is:
 
Step 1:
 
Wherever you have such a page that you will want to link to specific parts of (like in this link for basic layout), insert an HTML snippit on the line that you want to appear at the top after the link is followed, and make that snippet look like this:
 
<A NAME="basic_layout"/>
 
where "A" means "Anchor" and the "NAME" attribute allows this anchor to be the target of a hyperlink.  While the "/" isn't absolutely necessary, it helps by telling the browser or HTML Help engine that this is both the beginning AND the end of the <A> HTML tag.  While the case (capitalization) of "A" and "NAME" is not important, it IS important for the value of the NAME property -- in this example, it is "basic_layout".  Note that the "_" character was used in the name because spaces are not allowed in NAME values.
 
Step 2:
 
Wherever you want to link to that point on the page, from any page within the project, including the from another part of the same page, instead of using an internal link, use the URL Address field and enter something that looks like this:
 
definitions.htm#basic_layout
 
where "definitions.htm" is the Filename of the topic page, and "basic_layout" is the string that matches the value of the NAME attribute.  Note that the capitalization of the value after the # symbol must match the original name exactly.
 
The link to the term "basic layout" in the definitions page was set up exactly as described here.
 
The above works for both types of page layout (basic layout or screenshot layout), but with a screenshot layout, the ability to link to specific parts of the page is already provided by internal links.
 
The online help was created with Dr.Explain