4 using System.Collections.Generic;
7 using SysGen.BuildEngine;
8 using SysGen.BuildEngine.Framework;
9 using SysGen.RBuild.Framework;
11 namespace SysGen.BuildEngine.Backends
13 public abstract class HtmlDocumenterBaseBacked : Backend
15 public HtmlDocumenterBaseBacked(SysGenEngine sysgen)
20 public string ReportFileExtension
25 protected string GetHtmlFileName(IRBuildNamed namedObject)
27 return string.Format("{0}.{1}",
32 protected void WriteDocumentStart(HtmlTextWriter writer, string title)
34 writer.RenderBeginTag(HtmlTextWriterTag.Html);//<html>
35 writer.RenderBeginTag(HtmlTextWriterTag.Head);// <head>
36 writer.RenderBeginTag(HtmlTextWriterTag.Title); // <title>
38 writer.RenderEndTag(); // </title>
39 writer.AddAttribute(HtmlTextWriterAttribute.Rel, "stylesheet");
40 writer.AddAttribute(HtmlTextWriterAttribute.Type, "text/css");
41 writer.AddAttribute(HtmlTextWriterAttribute.Href, "style.css");
42 writer.RenderBeginTag(HtmlTextWriterTag.Link);
43 writer.RenderEndTag();
45 writer.RenderEndTag(); // </head>
46 writer.RenderBeginTag(HtmlTextWriterTag.Body);// <body>
48 writer.AddAttribute(HtmlTextWriterAttribute.Class, "header");
49 writer.RenderBeginTag(HtmlTextWriterTag.Div);
50 writer.AddAttribute(HtmlTextWriterAttribute.Href, "default.htm");
51 writer.RenderBeginTag(HtmlTextWriterTag.A);
52 writer.Write("ReactOS RBuild Documentation");
53 writer.RenderEndTag();
55 writer.RenderBeginTag(HtmlTextWriterTag.P);
57 if (!Project.Properties["ARCH"].IsEmpty)
59 if (!Project.Properties["SARCH"].IsEmpty)
61 writer.Write("RBuild Documentation for the <b>'{0}'</b> architecture, sub-architecture <b>'{1}'</b>. Project used <b>'{2}'</b>",
62 Project.Properties["ARCH"].Value,
63 Project.Properties["SARCH"].Value,
68 writer.Write("RBuild Documentation for the <b>'{0}'</b> architecture. Project used <b>'{1}'</b>",
69 Project.Properties["ARCH"].Value,
74 writer.RenderEndTag();
75 writer.RenderEndTag();
78 protected void WriteDocumentEnd(HtmlTextWriter writer)
81 writer.AddAttribute(HtmlTextWriterAttribute.Class, "footer");
82 writer.RenderBeginTag(HtmlTextWriterTag.Div);
83 WriteDocumentLastUpdate(writer);
84 writer.RenderEndTag();
86 writer.RenderEndTag(); // </body>
87 writer.RenderEndTag(); // </html>
90 protected void WriteDocumentLastUpdate(HtmlTextWriter writer)
92 //writer.RenderBeginTag(HtmlTextWriterTag.P);
93 writer.Write("Document last updated on {0}", DateTime.Now);
94 //writer.RenderEndTag();