Click here to Skip to main content
15,891,688 members
Articles / Operating Systems / Windows

Sandcastle Help File Builder

Rate me:
Please Sign up or sign in to vote.
4.93/5 (131 votes)
17 May 2007Ms-PL45 min read 1M   5.3K   291  
A GUI for creating projects to build help files with Sandcastle and a console mode tool to build them as well.
<html>
<head>
<link rel="stylesheet" type="text/css" href="../../styles/Styles.css">
<title>Additional Content Settings</title>
</head>

<body>

<h2>The Additional Content Property</h2>
The <code>AdditonalContent</code> property is similar in nature to the
NDoc properties <code>AdditionalContentResourceDirectory</code>,
<code>FilesToInclude</code>, <code>RootPageFileName</code> and
<code>RootPageTOCName</code>.  However, the help builder's implementation
provides the following added benefits over NDoc:

<ul>
    <li>You can specify multiple entries consisting of wildcards or
individual filenames.</li>
    <li>For each entry, you can specify a specific target folder in the
help file project's compilation folder.</li>
    <li>"*.*" wildcard items representing folders are copied recursively.
The sub-folder layout is replicated below the target folder.</li>
    <li>All HTML files (*.htm and *.html) are automatically added to the
table of content.  Sub-folders below the source folder containing HTML
files automatically create folder entries in the table of content.  As
such, it is fairly simple to create a hierarchy of entries in the help file
table of content based on the folder structure of the additional content
items.</li>
    <li>The help file builder scans each HTML file for some special
comment tags.  The comment tags can be used to indicate the default topic,
exclude a file from the table of content, and set the sort order of items
within the table of content group.  These are described later.</li>
    <li>The help file builder will also scan the HTML files for XML comment
style <code>&lt;see&gt;</code> tags and will replace them with links to the
appropriate help file content (i.e. methods, properties, etc).  This is
described later.</li>
    <li>The <code>ExcludeItems</code> option can be set to true on entries
to exclude a file or set of files from the additional content.  For
wildcards, all files matching the wildcard in all sub-folders are also
excluded.</li>
    <li>Additional content entries can be placed at the top of the table of
content ahead of the namespace entries or at the bottom after the namespace
entries using the project-level <code>ContentPlacement</code> property
described later.</li>
    <li>If no additional content is present or none is marked as the
default topic, the root namespaces page will be selected as the default
topic for the help file.</li>
</ul>

I believe that this implementation provides a great deal of flexibility and
finer control over the layout of the table of content and inclusion of
additional content.  The following dialog box is used to add additional
content to the project.  It is accessed by clicking the "..." button to the
right of the property when it is selected.

<p/><div align="center"><img src="../../Images/AddContent.jpg"
    alt="Additional Content" width="773" height="487" /></div>

<p/>The list box on the left lists the additional content.  The property grid
on the right lists the properties for the selected entry.  The buttons below
the list box allow you to:

<ul>
    <li>Add a folder content item.  This adds a wildcard source path that
will copy all content from the selected folder matching the wildcard.  The
path can be absolute or relative.  If relative, it is expected to be
relative to the project folder.  For "*.*" wildcard entries, any
sub-folders are also copied to the target folder recursively.  For more
specific wildcards such as "*.css", only files matching the wildcard are
copied, sub-folders are not.</li>
    <li>Add a single file content item.  As with the folder content item,
the path can be absolute or relative and, if relative, its is expected to be
relative to the project folder.</li>
    <li>Delete a content item.</li>
    <li>Preview the table of content that will be generated for the
currently defined additional content items.  The preview dialog box will
also allow you to rearrange the items and set the default topic.  The
designer will use the current project folder as the base path for resolving
relative paths to the content items.</li>
</ul>

<br/><br/>
<include item="footer"/>

</body>
</html>
<!-- @SortOrder 8 -->

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Microsoft Public License (Ms-PL)


Written By
Software Developer (Senior)
United States United States
Eric Woodruff is an Analyst/Programmer for Spokane County, Washington where he helps develop and support various applications, mainly criminal justice systems, using Windows Forms (C#) and SQL Server as well as some ASP.NET applications.

He is also the author of various open source projects for .NET including:

The Sandcastle Help File Builder - A front end and project management system that lets you build help file projects using Microsoft's Sandcastle documentation tools. It includes a standalone GUI and a package for Visual Studio integration.

Visual Studio Spell Checker - A Visual Studio editor extension that checks the spelling of comments, strings, and plain text as you type or interactively with a tool window. This can be installed via the Visual Studio Gallery.

Image Map Controls - Windows Forms and web server controls that implement image maps.

PDI Library - A complete set of classes that let you have access to all objects, properties, parameter types, and data types as defined by the vCard (RFC 2426), vCalendar, and iCalendar (RFC 2445) specifications. A recurrence engine is also provided that allows you to easily and reliably calculate occurrence dates and times for even the most complex recurrence patterns.

Windows Forms List Controls - A set of extended .NET Windows Forms list controls. The controls include an auto-complete combo box, a multi-column combo box, a user control dropdown combo box, a radio button list, a check box list, a data navigator control, and a data list control (similar in nature to a continuous details section in Microsoft Access or the DataRepeater from VB6).

For more information see http://www.EWoodruff.us

Comments and Discussions