Sandcastle Help File Builder Now Available RRS feed

  • General discussion

  • The latest update to the Sandcastle Help File Builder is now available at http://www.codeplex.com/SHFB.


    v1.6.0.0 - Changes in this release:

    • Added support for the September 2007 CTP of Sandcastle.
    • Versions of SharpDevelop and later now contain a copy of the Sandcastle Help File Builder. See the FAQ for information on how to install an update of Sandcastle and the help file builder for SharpDevelop.
    • Custom build process plug-ins are now supported that can be used to extend or alter the build process in various ways. Plug-ins supplied with the help file builder include:
      • Additional Content Only - Build help files based on nothing but the additional content items (documentation assemblies are excluded).
      • AjaxDoc Builder - Build help files for Atlas script libraries.
      • Completion Notification - E-mail the build results to someone optionally attaching the log file.
    • Added support for runing *.topic additional content files through an XSL transform so that they can match the appearance of the API topic pages. Basic transforms for the Hana, Prototype, and VS2005 styles are supplied. The TopicFileTransform property can be used to specify your own XSL transformation file.
    • Fixed a bug that caused private types to remain in the documentation if DocumentInternals was true but DocumentPrivates was false (and vice versa for internal types).
    • After MRefBuilder is executed, a check is performed to see if there is anything to document. If there are no public APIs, no private or internal APIs, or all namespaces are removed from the reflection information, the build is stopped with an error stating the problem.
    • Added a Content File Editors tab to the User Preferences dialog box. This allows you to associate non-default editors with content file extensions such as those for HTML files, stylesheets, images, etc.
    • Added an Edit button to the Additional Content Editor dialog box. When clicked on an entry representing a single file, the appropriate editor is launched to allow you to edit the file. If one has been defined using the User Preferences dialog box, that editor will be used. If one is not defined, the shell is used to launch the item with the Edit verb to invoke the default editor for the file. If an entry representing a wildcard is selected, a dialog opens first to let you choose a file to edit.
    • Added a ContentSiteMap project option which is used to specify the optional site map file that defines the table of content layout for the additional content files. If used, the site map structure overrides the default table of content layout derived from the folder structure of the additional content items.
    • Added an Edit Site Map button to the Content Item Editor dialog. This allows you to create or modify the layout of the site map entries.
    • Excluded namespaces and members with an <exclude /> tag are now removed using MRefBuilder's namespace ripping feature which is more efficient than removing them afterwards from the reflection information file. Excluded namespace and member information is merged with the new ApiFilter property. The ApiFilter property will take precedence if there is a conflict in exposure.
    • Added the ApiFilter project property to the Visibility category so that you can exclude documented API members and/or inherited API members using MRefBuilder's namespace ripping feature. This can provide more flexibility than using <exclude /> tags and is more efficient as the members are removed at the time the reflection information is generated.
    • The ApiFilter property designer lets you view the documented and inherited namespace members in a tree view and to check and uncheck items to include or exclude them. The namespace hierarchies are searchable using regular expressions and category options.
    • The console mode builder supports -include and -exclude command line options to add entries to the ApiFilter collection property.
    • Added DocumentInheritedPrivateFrameworkMembers and DocumentInheritedInternalFrameworkMembers properties to allow the removal of private and/or internal inherited framework members. Inherited protected framework members are now removed as well if DocumentProtected is set to false.
    • A KeepLogFile property was added to the project's Build category properties. The default is true to keep the log file after a successful build. If set to false, the log file is deleted after a successful build.
    • Added a FlagsEnumEditor type editor to the HelpFileFormat and SyntaxFilters project properties to make it easier to select multiple help file formats and language syntax filters in the dropdown editor.
    • The SyntaxFilters property now supports the JScript, VisualBasicUsage, and XamlUsage syntax filters. There is a lack of information on the XAML Usage filter right now so it is not clear how it can be fully used.
    • Project option replacement tags can now appear in text project properties such as HeaderText and FooterText.
    • Added a {@BuildDate} tag to insert the build date. It supports an optional format specifier. See the Customizing the Build Process topic for details on the available tags.
    • The language filter is now connected for all three presentation styles.
    • Added support for finding C++ #pragma region/#pragma endregion sections when extracting regions for code blocks.
    • The context menu for the property grid now contains a Copy property name to clipboard option that copies the current property's name to the clipboard.
    • The main form's size and location are saved to user settings on exit and the main form is restored to its prior size and location when opened the next time.
    • Thanks to JKendrick for the SQL script keywords and code colorizer rule definitions. Use the language ID sql, sql server, or sqlserver to colorize a code block as SQL script.
    • PLEASE NOTE: - Localized versions of the Sandcastle shared content files have been removed. The selected language will still be passed to the help compiler to localize the help window items but the table of contents and the actual help topic content will NOT be localized. This was necessary as with a third presentation style and a growing number of languages, it was becoming a project unto itself to merge and manage them all and to coordinate with all the other people to maintain them with each new CTP. A simplified localization model has been implemented. A small subset of shared content items are maintained that override items in user-managed translations of the different presentation style files. I will no longer manage a full, merged set of shared content resources. See the Creating Language Resource Files help file topic for details. As of this release, not all items in the shared builder content files have been translated yet.

    Eric Woodruff

    Friday, October 5, 2007 2:50 AM

All replies

  • Awesome. Thanks Erc.




    Friday, October 5, 2007 3:54 AM