This project has moved and is read-only. For the latest updates, please go here.

Different footers for Website and HTML Help 1 variants?

Topics: User Forum
Apr 19, 2013 at 10:44 PM
Hi, experts and fellow users!

I'm using SHFB to build both Website and HTML Help 1 (CHM) versions of the same documentation. I've set up a custom footer so that people browsing the website can easily download the CHM version:
 <FooterText>Documentation built on {%40BuildDate:yyyy\-MM\-dd}.  &amp;lt%3ba href=&amp;quot%3b../SecretProject.chm&amp;quot%3b&amp;gt%3bDownload as Compiled HTML Help.&amp;lt%3b/a&amp;gt%3b</FooterText>
That looks rather confusing with all the escaping. Anyway, it gives me the following kind of footer on each page of the website:
 Documentation built on 2013-04-20.  <a href="../SecretProject.chm">Download as Compiled HTML Help.</a>
Now though, the same footer also appears on each page of the CHM file, and the download link typically doesn't work in that. Is there some convenient way to hide the download link from HTML Help 1 and only show in the website, while keeping the rest of the footer in both? I'd rather not set up two separate SHFB project files.
Apr 22, 2013 at 10:03 PM
The most likely way to accomplish this is with target override files. You'd need to build from the command line and can only build one file format at a time but with them, it should be possible as you could override the properties for each build. See the Building Projects Outside the GUI topic for more information.

Apr 27, 2013 at 8:56 PM
Thanks. I'm concerned that building the Website and HTML Help 1 formats as separate runs could increase the total build time, because SHFB would have to run all of the build components twice. If I understand correctly, all the components that precede SandcastleBuilder.Components.MultiFormatOutputComponent are currently shared.

When building both formats together, the timings are:
  1. 00:00:00.1990 GenerateSharedContent
  2. 00:00:00.7650 GenerateApiFilter
  3. 00:01:45.6510 GenerateReflectionInfo
  4. 00:00:10.0920 GenerateNamespaceSummaries
  5. 00:00:04.4820 ApplyVisibilityProperties
  6. 00:01:12.1500 GenerateInheritedDocumentation
  7. 00:10:26.3890 TransformReflectionInfo
  8. 00:00:09.5350 ModifyHelpTopicFilenames
  9. 00:00:03.8770 CopyStandardContent
  10. 00:00:04.0540 CopyConceptualContent
  11. 00:00:00.0340 CreateConceptualTopicConfigs
  12. 00:00:00.2250 CopyAdditionalContent
  13. 00:00:00.0220 MergeTablesOfContents
  14. 00:00:20.9800 GenerateIntermediateTableOfContents
  15. 00:00:21.0720 CreateBuildAssemblerConfigs
  16. 00:00:01.0830 MergeCustomConfigs
  17. 00:00:49.7790 BuildConceptualTopics (2 topics)
  18. 01:19:19.1238 BuildReferenceTopics (98773 topics)
  19. 00:01:41.3818 CombiningIntermediateTocFiles
  20. 00:56:36.3337 ExtractingHtmlInfo (98775 HTML files)
  21. 00:00:00.0030 GenerateHelpFormatTableOfContents
  22. 00:00:00.1060 GenerateHelpFileIndex
  23. 00:00:02.1832 GenerateHelpProject
  24. 01:11:06.3516 CompilingHelpFile (result 172 megabytes)
  25. 00:00:00.0050 GenerateHelpFormatTableOfContents
  26. 00:49:16.4806 GenerateFullTextIndex
  27. 01:31:18.9538 CopyingWebsiteFiles (98913 files + Output Deployment)
  28. 00:10:07.1657 CleanIntermediates
06:15:04,4422 TOTAL

The output deployment above was to a compressed folder. The working folders were uncompressed though.

I intend to test:
  • Whether an uncompressed output-deployment folder makes the two-format build faster or slower. I'm thinking it might be slower because the copying needs so much I/O and there are four CPU cores available for the compression.
  • How long it takes to build only the website.
  • How long it takes to build only HTML Help 1.
  • How long it takes to build the website and HTML Help 1 from the command line, in parallel.