Designer HTML is built on the foundation of the WEBBOT pseudo-tag that we have used since FrontPage 1.0 to implement our FrontPage components. This specially formed WEBBOT tag is placed inside of an HTML comment tag, so that web browsers simply ignore the information contained in the pseudo-tag, while the FrontPage Editor can parse the WEBBOT comment tag and use the information to provide a WYSIWYG authoring environment for that portion of the HTML.
Spanning WEBBOT syntax takes the syntax we used for a few WebBot components in FrontPage 1.1, and uses this syntax for all FrontPage components in FrontPage 97 and FrontPage 98. We use the <!-- WEBBOT StartSpan -->
syntax for starting the component's declaration, and we add a <!--WEBBOT EndSpan -->
closing tag. This allows us to put our special WebBot attributes inside the comment, while also producing HTML that is readable by any browser.
To let the user specify the display characteristics of a block of unknown HTML in the FrontPage Editor, we have three attributes on the WEBBOT pseudo-tag. They are only valid when the StartSpan attribute is also specified (can't use with EndSpan.) Also, when using Designer HTML, the BOT attribute is always set to "HTMLMarkup". The new attributes are:
U-SRC=filenamePoints to an image file to use to display the unknown HTML block in the FrontPage Editor. If the image is a file: URL on the local machine then it will be automatically included into the web and the URL adjusted to point to the version contained in the web.
Only image files are allowed for the U-SRC tag. Included HTML is not allowed. If text is needed for display then it should either be encoded into the image or the ALT attribute should be used instead of the U-SRC attribute.
ALT=textLimited HTML text to show inside a rectangle in the FrontPage Editor as the display for the unknown HTML block. If both U-SRC and ALT are specified, then U-SRC is used in preference to ALT. Typically, however, only one or the other would be specified. The set of allowed HTML tags in the ALT attribute is detailed below.
TAG=textAn optional attribute which specifies the tag level that the ALT attribute should be entered as. You can specify any block-like HTML tag name (without < > brackets) that is beneath the BODY tag. For instance, to have the HTML entered into the document at the level of a <p> paragraph tag, use TAG=p. Or to make it a heading, use TAG=h1. If omitted, it is inserted as a text/character-level tag.
Here's an example:
<!--WEBBOT bot="HTMLMarkup" ALT= "<Font Size=+3><I>Foobar ISV Feature Placeholder</I></FONT>" StartSpan -->
[## amazingly ugly ISV syntax that either a server pre-processor knows, or that a new version of some web browser knows, but FrontPage doesn't ##]
<!--WEBBOT bot="HTMLMarkup" EndSpan -->
In this case the ALT attribute is specified for a simple textual display of the unknown HTML.
The set of tags usable in the ALT text is basically the set of tags that are for character formatting, or those tags that generate objects that appear inline with text. Tags that cause paragraph breaks or are for paragraph formatting are not allowed.
The set of available tags is:
SUP, SUB
BIG, SMALL, FONT, B, CITE, CODE, DFN, EM, I, KBD, SAMP, STRIKE, STRONG, TT, U, VAR, BLINK, MARQUEE
BR, IMG, A, OPTION, MAP, SELECT, INPUT, TEXTAREA, AREA, OBJECT, EMBED, APPLET
Designer HTML appears either as an inline image or as inline text, depending on whether the ALT or U-SRC attributes are used for the WEBBOT pseudo-tag. If U-SRC is used, the pointed-to image is rendered at the full image dimensions. If ALT is used then the marked-up and possibly formatted HTML text is rendered inline with no additional visual embellishments.
The mouse pointer is changed to the standard WebBot cursor whenever the cursor is moving or hovering over the Designer HTML image or text.
Selection in the editor treats the Designer HTML as a single unit to make it easy to move this unknown HTML around the page via the standard editing operations. If you want to edit the ugly unknown HTML tags that are carried around by the WYSIWYG representation in the Editor, then you can just double-click to get an editing dialog.
There are three main ways to get these extensions into FrontPage:
FP supports both CF_HTML and CF_TEXT formats. There is no attempt to ever turn CF_TEXT into HTML or vice versa. Drag and drop operations work just like their copy and paste equivalents. FrontPage allows you to drop in text itself, or text and HTML files. Just drop the files you create onto the web page and they are automatically handled - a no-coding extensibility solution!