private XElement GenerateXmlPort(Topic t) { throw new NotImplementedException(); }
private XElement GenerateArticle(Topic t) { Article article = Data.Articles.Find(m => m.ID == t.ID); if (article == null) { // Create placeholder article = new Article(); article.Title = "TODO: Needs an article about " + t.ID; article.Text = "TODO: Needs text in article " + t.ID; } XElement node = GetNode(Configuration.Parms.projectname + "_" + t.ID, article.Title, Configuration.Parms.projectname + "_" + t.ID + ".htm"); StringBuilder topic = new StringBuilder(File.ReadAllText(Configuration.Parms.helppage_html)); topic.Replace("$1$", article.Title); topic.Replace("$1$", article.Title); topic.Replace("$2$", ConvertMarkdown(article.Text, "html")); File.WriteAllText(Configuration.Parms.output_path_helpserver + @"\" + Configuration.Parms.projectname + "_" + t.ID + ".htm", topic.ToString()); GenerateSubTopics(t,node); return node; }
private XElement GenerateExternal(Topic t) { throw new NotImplementedException(); }
public XElement GenerateTopic(Topic t) { Console.WriteLine("Generate Topic {0} ({1})", t.ID, t.Type); switch (t.Type) // Table,Page,Report,XmlPort,Article,External { case "Table": return GenerateTable(t); case "Article": return GenerateArticle(t); case "Page": return GeneratePage(t); case "Report": return GenerateReport(t); case "XmlPort": return GenerateXmlPort(t); case "External": return GenerateExternal(t); } return null; }
public XElement GenerateTable(Topic t) { Content table = Data.Contents.Find(m => m.ID == t.ID); List<Content> fields = Data.Contents.FindAll(m => m.ParentType == "Table" && m.ParentID == t.ID); if (table == null) { // Create placeholder table = new Content(); table.ID = t.ID; table.Caption = "TODO: Needs caption for table " + t.ID; table.Description = "TODO: Needs description for table " + t.ID; } XElement node = GetNode(Configuration.Parms.projectname + "_" + t.ID, table.Caption, "T_" + table.ID + ".htm"); StringBuilder topic = new StringBuilder(File.ReadAllText(Configuration.Parms.helppage_html)); topic.Replace("$1$", table.Caption); topic.Replace("$1$", table.Caption); StringBuilder fieldlist = new StringBuilder(); foreach (var field in fields) { // <a href="./T_250.htm" xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"> string Fieldstr = "<a href=\"T_" + table.ID + "_" + field.ID + ".htm\" xmlns=\"http://ddue.schemas.microsoft.com/authoring/2003/5\">"; Fieldstr += field.Caption + "</a><br>"; fieldlist.Append(Fieldstr); StringBuilder FieldPage = new StringBuilder(File.ReadAllText(Configuration.Parms.helppage_html)); FieldPage.Replace("$1$", field.Caption); FieldPage.Replace("$1$", field.Caption); FieldPage.Replace("$2$", ConvertMarkdown(field.Description,"html")); File.WriteAllText(Configuration.Parms.output_path_helpserver + @"\" + "T_" + table.ID + "_" + field.ID + ".htm", FieldPage.ToString()); } topic.Replace("$2$", ConvertMarkdown(table.Description, "html") + fieldlist); File.WriteAllText(Configuration.Parms.output_path_helpserver + @"\" + "T_" + table.ID + ".htm", topic.ToString()); GenerateSubTopics(t, node); return node; }
public bool GenerateSubTopics(Topic t,XElement ParentNode) { if (t.SubTopics == null || t.SubTopics.Count == 0) return false; StringBuilder s = new StringBuilder(); foreach (var sub in t.SubTopics) { Console.WriteLine("Generate SubTopic {0} ({1})", sub.ID, sub.Type); switch (sub.Type) // Table,Page,Report,XmlPort,Article,External { case "Table": ParentNode.Add(GenerateTable(sub)); break; case "Article": ParentNode.Add(GenerateArticle(sub)); break; case "Page": ParentNode.Add(GeneratePage(sub)); break; case "Report": ParentNode.Add(GenerateReport(sub)); break; case "XmlPort": ParentNode.Add(GenerateXmlPort(sub)); break; case "External": ParentNode.Add(GenerateExternal(sub)); break; } } return true; }
public string GenerateTopic(Topic t) { Console.WriteLine("Generate Topic {0} ({1})", t.ID,t.Type); switch (t.Type) // Table,Page,Report,XmlPort,Article,External { case "File": return GenerateFile(t.ID, "section",t.FileTitle) + GenerateSubTopics(t); case "Table": return GenerateTable(t.ID,"section") + GenerateSubTopics(t); case "Article": return GenerateArticle(t.ID, "section") + GenerateSubTopics(t); case "Page": return GeneratePage(t.ID, "section") + GenerateSubTopics(t); case "Report": return GenerateReport(t.ID, "section") + GenerateSubTopics(t); case "XmlPort": return GenerateXmlPort(t.ID, "section") + GenerateSubTopics(t); case "External": return GenerateExternal(t.ID, "section") + GenerateSubTopics(t); } return "TODO:"; }
public string GenerateSubTopics(Topic t) { StringBuilder s = new StringBuilder(); foreach (var sub in t.SubTopics) { Console.WriteLine("Generate SubTopic {0} ({1})", sub.ID, sub.Type); switch (sub.Type) // Table,Page,Report,XmlPort,Article,External { case "File": s.Append(GenerateFile(t.ID, "section", t.FileTitle)); break; case "Table": s.Append(GenerateTable(sub.ID,"subsection")); break; case "Article": s.Append(GenerateArticle(sub.ID, "subsection")); break; case "Page": s.Append(GeneratePage(sub.ID,"subsection")); break; case "Report": s.Append(GenerateReport(sub.ID, "subsection")); break; case "XmlPort": s.Append(GenerateXmlPort(sub.ID, "subsection")); break; case "External": s.Append(GenerateExternal(sub.ID, "subsection")); break; } } return s.ToString(); }