SuperScript

This documentation is still being written. Please bear with us while we complete this documentation.

The HTML Writer

It is recommended to read about modifiers prior to reading the detail on this page. Read about modifiers here.

The responsibility of an HtmlWriter is to write an emitted output to the webpage. It achieves this by taking a string (the output of a CollectionPostModifier) and returning an IHtmlString.

Emitters can be thought of as a pipeline through which declarations are passed

The above image shows that the HtmlWriter is implemented in the final stage of the emitter pipeline.

There is no requirement that an HtmlWriter must write the string that was passed to it by a CollectionPostModifier; different implementations of HtmlWriter may choose to do something different with the passed-in content.

For example, this stage could write the passed string to the local file system as a *.js file, then write a <script src="…"> tag to the webpage which references the created *.js file.

HtmlWriter Members

                            abstract class SuperScript.Modifiers.Writers.HtmlWriter
                            {
                                abstract IHtmlString Process(PostModifierArgs args);
                            }
                        
Name Type Description
Process IHtmlString

Executes this instance of HtmlWriter upon the collection of DeclarationBase objects.

Returns an implementation-specific instance of IHtmlString.

PostModifierArgs Members

                        class SuperScript.Modifiers.PostModifierArgs
                        {                        
                            object CustomObject { get; set; }
                            string Emitted { get; set; }
                            bool IsDebug { get; }
                        }
                    
Name Type Description
CustomObject object

This property allows the user to pass any required object through the conversion process.

Emitted string

Expected to be the output of a CollectionConverter or a previous instance of PostModifierArgs.

IsDebug bool

Gets a value indicating whether the current HTTP request is in debug mode.

What Next?

Read about pre-conversion modifiers here.

Read about collection converters here.

Read about post-conversion modifiers here.