Click here to Skip to main content
15,887,683 members
Articles / Programming Languages / Forth.NET

DocMounter 2: A tool to build VS.NET documentation (now with Sandcastle)

,
Rate me:
Please Sign up or sign in to vote.
4.94/5 (29 votes)
15 Nov 2010GPL314 min read 138.7K   1.4K   99  
Tool for creating MS Visual Studio documentation files - XML Summaries, HxS/MSHC help solutions and manuals.
<configuration>
	<dduetools>
		<builder>
			<components>

				<!-- Create skeleton document -->
				<component type="Microsoft.Ddue.Tools.CopyFromFileComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
					<data file="%DXROOT%\Presentation\Vs2005\transforms\skeleton_conceptual.xml" />
					<copy source="/*" target="/" />
				</component>

				<!-- Copy in comments -->
				<component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
					<index name="comments" value="/topic" key="@id">
						<data files=".\DdueXml\*.xml" />
					</index>
					<copy name="comments" source="/topic" target="/document" />
				</component>

				<!-- resolve tokens -->
				<component type="Microsoft.Ddue.Tools.SharedContentComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
					<context prefix="ddue" name="http://ddue.schemas.microsoft.com/authoring/2003/5" />
					<content file="%DXROOT%\Data\tokens.xml" />
					<replace elements="/*//ddue:token" item="string(.)" />
				</component>

				<!-- copy in metadata keywords -->
				<component type="Microsoft.Ddue.Tools.CopyFromFilesComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
					<copy base=".\XmlComp" file="concat($key,'.cmp.xml')" source="/metadata/topic[@id=$key]/*" target="/document/metadata" />
				</component>

				<!-- copy in metadata attributes -->
				<component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
					<index name="metadata" value="/metadata/topic" key="@id">
            <data files="ConceptualTopicsMetadata.xml" />
          </index>
					<index name="version" value="/metadata/topic" key="@id">
						<data files="Version.xml" />
					</index>
					<copy name="metadata" source="*" target="/document/metadata" />
					<copy name="metadata" key="string('*')" source="*" target="/document/metadata" />
					<copy name="version" key="string('*')" source="*" target="/document/metadata" missing-target="error" />
				</component>

				<!-- Copy in metadata project settings -->
				<component type="Microsoft.Ddue.Tools.CopyFromIndexComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
					<index name="projectSettings" value="/*/item" key="@id">
						<data files=".\ExtractedFiles\*projectsettings.xml" />
					</index>
					<copy name="projectSettings" key="string('PBM_FileVersion')" source="." target="/document/metadata" />
				</component>

				<!-- transform -->
				<component type="Microsoft.Ddue.Tools.TransformComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
					<transform file="%DXROOT%\Presentation\Vs2005\transforms\main_conceptual.xsl">
						<argument key="metadata" value="true" />
						<argument key="languages">
							<language label="VisualBasic" name="VisualBasic" style="vb" />
							<language label="CSharp" name="CSharp" style="cs" />
							<language label="ManagedCPlusPlus" name="ManagedCPlusPlus" style="cpp" />
							<language label="JScript" name="JScript" style="cs" />
							<language label="FSharp" name="FSharp" style="fs" />
						</argument>
						<!-- You can use the optional changeHistoryOptions argument to control display of freshness date and Change History sections.
               If value='showDefaultFreshnessDate', all topics have a freshness date; default date is from 'defaultFreshnessDate' shared content item.
               if value='omit', freshness date and Change History sections are omitted from all topics.
               <argument key="changeHistoryOptions" value="omit" /> 
            -->
					</transform>
				</component>

				<!-- resolve art links -->
				<component type="Microsoft.Ddue.Tools.ResolveArtLinksComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
					<targets input="Media" baseOutput=".\Output" outputPath="string('media')" link="../media" map="MediaContent.xml" />
				</component>

				<!-- resolve shared content -->
				<component type="Microsoft.Ddue.Tools.SharedContentComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
					<content file=".\content\shared_content.xml" />
					<content file=".\content\feedBack_content.xml" />
					<content file=".\content\conceptual_content.xml" />
          <!-- This must be last in order to override other elements! -->
          <content file="SharedContentOverwrite.xml" />
        </component>

				<!-- resolve conceptual links -->
				<component type="Microsoft.Ddue.Tools.ResolveConceptualLinksComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
					<targets base=".\XmlComp" type="local" />
				</component>

				<!-- resolve reference links -->
				<component type="Microsoft.Ddue.Tools.ResolveReferenceLinksComponent2" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
					<targets base="%DXROOT%\Data\Reflection\" recurse="true"  files="*.xml" type="index" />
					<targets files=".\reflection.xml" type="local" />
				</component>

				<!-- Insert additional MS Help 2 attributes -->
				<component id="MS Help 2 Attributes" type="SandcastleBuilder.Components.MSHelpAttrComponent" assembly="SHFBComponents\SandcastleBuilder.Components.dll">
				</component>

				<!-- save the result -->
				<component type="Microsoft.Ddue.Tools.SaveComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll">
					<save base=".\Output\html" path="concat($key,'.htm')" link="../html" indent="true" omit-xml-declaration="true" />
				</component>

				<!-- record file creation events -->
				<component type="Microsoft.Ddue.Tools.HxfGeneratorComponent" assembly="%DXROOT%\ProductionTools\BuildComponents.dll" input="%DXROOT%\Presentation\vs2005\seed.HxF" output="test.HxF" />

			</components>
		</builder>
	</dduetools>
</configuration>

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 GNU General Public License (GPLv3)


Written By
Software Developer (Senior)
Canada Canada
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Written By
Ukraine Ukraine
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
This is a Organisation

2 members

Comments and Discussions