Various questions regarding working with sandcastle

Nov 8, 2010 at 6:28 PM

Hello what I'am looking for is:

1. adding an image on which it is possible to click and it will navigate you to some web page. 

2. adding a link to a video file, which will show as a thumb and when it is clicked it will navigate you to some page.

 

and some off topic

3. How to add some items in the Insert section

4. It is possible to format the XML while editing it in SandCastle

5. Is there any spell checker that I can use

6. I saw on the forums that some people are using Visual Studio for editing their help. Is there any way I can embed sandcastle's functionality in visual studio (bold, italic, insert etc) so I can take advantage of both

 

Thank you in advance for your time and cooperation

Editor
Nov 9, 2010 at 5:13 PM

Are you referring to XML comments or the XML in a MAML conceptual topic?  Are you using one of the community tools such as the Sandcastle Help File Builder or DocProject?

Eric

 

Nov 9, 2010 at 8:07 PM

Hello and thanks for writing.

I'am using Sandcastle Help File Builder 1.8.0.3 only and I am editing the help articles with this tool so all my questions are regarding this it.

Editor
Nov 11, 2010 at 5:46 PM

I don't believe that it's possible to embedd an image/video within a link using the standard MAML elements.  If you've applied the Sandcastle Styles patch, you can wrap the equivalent HTML in a MAML <markup> element so that it passes through as-is.  Here are a few examples of embedding links to video files:

<para><legacyBold>NOTE: These require full paths to the video file</legacyBold></para>

<para>An external link to an HTML page containing a link to play the video:

<externalLink>
    <linkText>Click to Play</linkText>
    <linkAlternateText>The video</linkAlternateText>
    <linkUri>file://C:\Download\Temp\ExternalVideoTest.html</linkUri>
    <linkTarget>_self</linkTarget>
   </externalLink>
</para>

<para>An external link to the video itself:
<externalLink>
    <linkText>Click to Play</linkText>
    <linkAlternateText>The video</linkAlternateText>
    <linkUri>file://C:\Download\Temp\Media\Upload.avi</linkUri>
    <linkTarget>_self</linkTarget>
   </externalLink>
</para>

<para>HTML link in a <codeInline>markup</codeInline> element</para>
<markup>
<div>
    <p/>The file: <a href="file://C:\Download\Temp\Media\Upload.avi">The Video</a>
</div>
</markup>

<para>Using <codeInline>object</codeInline> in a <codeInline>markup</codeInline> element:</para>

<markup>
<div>
<object width="320" height="260" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"
  hspace="0" border="1">
	<param name="Filename" value="file://C:\Download\Temp\Media\Upload.avi" />
    <param name="AutoStart" value="False" />
    <param name="ShowControls" value="True" />
    <param name="ShowStatusBar" value="False" />
    <param name="ShowDisplay" value="False" />
    <param name="AutoRewind" value="True" />
</object>
</div>
</markup>

<para>Using <codeInline>embed</codeInline> in a <codeInline>markup</codeInline> element:</para>

<markup>
<div>
<embed width="320" height="260" hspace="320"
  autostart="False" showcontrols="True" showstatusbar="False"
  showdisplay="False" autorewind="True" border="1"
  src="file://C:\Download\Temp\Media\Upload.avi"></embed>
</div>
</markup>

<para><legacyBold>NOTE: Relative paths are used to reach the video file.</legacyBold></para>

<para>Using <codeInline>img</codeInline> with a <codeInline>dynsrc</codeInline>
attribute in a <codeInline>markup</codeInline> element is the only way to play
video files embedded in the help file.  Mouse over it to start it.  Use
<codeInline>start="FILEOPEN" loop="1"</codeInline> to play it on file open a
given number of times.  Use <codeInline>loop="-1"</codeInline> for infinite
replays.</para>

<markup>
<div>
<img start="MOUSEOVER" dynsrc="../Media/Upload.avi"/>
</div>
</markup>

What do you mean by "add some items to the Insert section"?  I'm not sure what you are referring to there.

Using SHFB, you can preview the topic by hitting F5 or selecting Window | Preview Topic.  This will do a quick build of the conceptual topics so that you can see how they look without doing a full build.  There is no spellchecker available within SHFB.  You can use Visual Studio to edit the XML files so that you get schema IntelliSense.  See this thread for details:  http://sandcastle.codeplex.com/Thread/View.aspx?ThreadId=227096.  As with SHFB, there is no WYSIWYG editor for MAML topics available so you can only edit the XML.

Eric

 

Nov 30, 2010 at 10:44 AM

Hello Eric, 

Thank you very much for the provided support. 

It seems that most of these should work, the problem is that I can no display html in my project. Simply adding the:

<markup><div><b>askdhasjkldah</b></div></markup>

does not make the text bold. Is there is any plug in or something that I should install. (

My current version is 1.9.1.0

 

Thank you very much for your assistance.

Editor
Dec 1, 2010 at 8:41 PM

If the <markup> element isn't rendering the HTML, you probably need to apply the Sandcastle Styles patch as that's what adds that functionality to Sandcastle.

Eric

 

Jan 7, 2011 at 4:32 PM

Hello Eric, 

I was able to add html content thanks to your help. I was even able to embed videos with silverlight player. 

 

I have one more question about videos, the content that I embed, which is a video mp4 located on some server (online not local) displays correctly on our help build for WebSite, but those videos does not display in chm or help2 builds. Do you have any idea how can I change this. 

At finally is are there any "Build Profiles" supported by SandCastle - these profiles in other software for help builds allows building the very same article to have sections that determine which part will be builded for online, help1 and respectively help2 builds. Here is an example of such a file:

 

#online 

This content will appear only in the online build

#endonline

#help2

This content will appear only in the help2 build

#endhelp2

#help1

This content will appear only in the help1 build

#endhelp1

Editor
Jan 9, 2011 at 7:12 PM

Unfortunately, I can't help with the embedded video issue.  The extent of my knowledge on the subject is in the post above.  Regarding the conditional content within a topic, I don't think there is a way to do it by default but a build component could be developed that included content conditionally.  It's possible you could do it by altering the Sandcastle XSL transformations too but a build component would be more flexible as it could work for both XML comments and MAML topics and wouldn't require altering Sandcastle.

Eric

 

Jan 21, 2011 at 1:02 PM

Ok Eric. Thank you for your time and cooperation