Template Rendering Error


Object reference not set to an instance of an object.
  1.  using System;
  2.  using System.Text;
  3.  using System.Reflection;
  4.  using System.IO;
  5.  using System.Net;
  6.  using System.Net.Http;
  7.  using System.Collections;
  8.  using System.Collections.Generic;
  9.  using System.Collections.Concurrent;
 10.  using System.Text.RegularExpressions;
 11.  using System.Threading.Tasks;
 12.  using System.Linq;
 13.  using Westwind.Scripting;
 14.  using Westwind.Utilities;
 15.  using DocMonster;
 16.  using DocMonster.Model;
 17.  using DocMonster.Templates;
 18.  
 19.  namespace __ScriptExecution {
 20.  
 21.  public class _a4o3jjja
 22.  { 
 23.  
 24.  
 25.  public System.String ExecuteCode(DocMonster.Templates.RenderTemplateModel Model)
 26.  {
 27.  ScriptHelper Script = new ScriptHelper() { BasePath = "C:\\Users\\rstrahl\\Dropbox\\Documentation Monster\\MarkdownMonster"  };
 28.  Script.Title = null;
 29.  
 30.  DocTopic Topic = Model.Topic;
 31.  var Project = Model.Project;
 32.  var Configuration = Model.Configuration;
 33.  var Helpers = Model.Helpers;
 34.  var BasePath = new Uri(FileUtils.NormalizePath( Project.ProjectDirectory + "\\") );
 35.  
 36.  
 37.  using( var writer = new ScriptWriter())
 38.  {
 39.  writer.Write("<!DOCTYPE html>\r\n<html>\r\n<head>\r\n    \r\n    ");
 40.   if(Topic.TopicState.IsPreview) { 
 41.  writer.Write("\r\n    <base href=\"");
 42.  writer.Write(  Model.PageBasePath  );
 43.  writer.Write("\" />\r\n    ");
 44.   } 
 45.  writer.Write("\r\n    <meta charset=\"utf-8\" />    \r\n    <title>");
 46.  writer.Write(  Topic.Title  );
 47.  writer.Write(" - ");
 48.  writer.Write(  Project.Title  );
 49.  writer.Write("</title>\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1,maximum-scale=1\" />\r\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"~/_kavadocs/themes/scripts/bootstrap/dist/css/bootstrap.min.css\" />\r\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"~/_kavadocs/themes/scripts/fontawesome/css/font-awesome.min.css\" />\r\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"~/_kavadocs/themes/kavadocs.css\" />\r\n\r\n    <script src=\"~/_kavadocs/themes/scripts/jquery/jquery.min.js\"></script>\r\n\r\n    <script src=\"~/_kavadocs/themes/scripts/highlightjs/highlight.pack.js\"></script>\r\n    <script src=\"~/_kavadocs/themes/scripts/highlightjs-badge.min.js\"></script>\r\n    <link href=\"~/_kavadocs/themes/scripts/highlightjs/styles/vs2015.css\" rel=\"stylesheet\" />\r\n\r\n    <script src=\"~/_kavadocs/themes/scripts/ww.jquery.min.js\"></script>\r\n    <script>        \r\n        window.page = {};\r\n        window.page.basePath = \"");
 50.  writer.Write(  Project.Settings.RelativeBaseUrl  );
 51.  writer.Write("\";      \r\n    </script>\r\n    <script src=\"~/_kavadocs/themes/scripts/kavadocs.js\"></script>\r\n    ");
 52.   if(Topic.TopicState.IsPreview) { 
 53.  writer.Write("\r\n        <script src=\"~/_kavadocs/themes/scripts/preview.js\" />\r\n    ");
 54.   } 
 55.  writer.Write("\r\n\r\n\r\n    <topictype value=\"");
 56.  writer.Write(  Topic.DisplayType  );
 57.  writer.Write("\" />\r\n\r\n    <script>    \r\n        $(document).ready(function () {\r\n            helpBuilder.initializeLayout();\r\n            // expand all top level topics\r\n            setTimeout(helpBuilder.tocExpandTop, 5);\r\n        });\r\n    </script>\r\n    <style>\r\n        .toc li .fa-arrow-up-right-from-square {\r\n            font-size: 0.7em;\r\n            color: goldenrod;\r\n            margin-left: 0.1em;\r\n        }\r\n    </style>\r\n</head>\r\n<body>    \r\n    <!-- Markdown Monster Content -->\r\n    <div class=\"flex-master\">\r\n        <div class=\"banner\">\r\n\r\n            <div class=\"pull-left sidebar-toggle\">\r\n                <i class=\"fa fa-bars\"\r\n                   title=\"Show or hide the topics list\"></i>\r\n            </div>\r\n            <img src=\"~/images/logo.png\" class=\"banner-logo\" />\r\n         \r\n            \t<div class=\"projectname\"> ");
 58.  writer.Write(  Project.Title  );
 59.  writer.Write("</div>\r\n\r\n            <div class=\"byline\">                \r\n                <img src=\"~/_kavadocs/icons/");
 60.  writer.Write(  Topic.DisplayType  );
 61.  writer.Write(".png\">\r\n                ");
 62.  writer.Write(  Topic.Title  );
 63.  writer.Write("\r\n            </div>\r\n        </div>\r\n        <div class=\"page-content\">\r\n            <div id=\"toc\" class=\"sidebar-left toc-content\">\r\n                <nav class=\"visually-hidden\">\r\n                    <a href=\"~/tableofcontents.html\">Table of Contents</a>\r\n                </nav>\r\n            </div>\r\n\r\n            <div class=\"splitter\">\r\n            </div>\r\n\r\n            <nav class=\"topic-outline\">\r\n                <div class=\"topic-outline-header\">On this page:</div>\r\n                <div class=\"topic-outline-content\"></div>\r\n            </nav>\r\n\r\n            <div id=\"MainContent\" class=\"main-content\">\r\n                <!-- Rendered Content -->\r\n                <article class=\"content-pane\">\r\n                    \n");
 64.  
 65.      Script.Layout = "_kavadocs\\Themes\\_layout.html";    
 66.  
 67.  writer.Write("\n\n<header class=\"content-title\">\n    <img src=\"~/_kavadocs/icons/");
 68.  writer.Write(  Model.Topic.DisplayType  );
 69.  writer.Write(".png\">\n    ");
 70.  writer.Write(  Model.Topic.Title  );
 71.  writer.Write("\n</header>\n\n");
 72.  writer.Write(  Script.RenderPartial("_kavadocs\\Themes\\Under-Construction-Partial.html", Model)  );
 73.  writer.Write("\n\n<div class=\"content-body\" id=\"body\">\n    ");
 74.   if (Topic.IsLink && Topic.Body.Trim().StartsWith("http") ) { 
 75.  writer.Write("        \n        <ul>\n        <li> \n            <a href=\"");
 76.  writer.Write( Model.Topic.Body );
 77.  writer.Write("\" target=\"_blank\">");
 78.  writer.Write(  Model.Topic.Title  );
 79.  writer.Write("</a> \n            <a href=\"");
 80.  writer.Write( Model.Topic.Body );
 81.  writer.Write("\" target=\"_blank\"><i class=\"fa-solid fa-up-right-from-square\" style=\"font-size: 0.7em; vertical-align: super;\"></i></a>\n        </li>\n        </ul>\n\n        <blockquote style=\"font-size: 0.8em;\"><i>In rendered output this link opens in a new browser window. \n            For preview purposes, the link is displayed in this generic page. \n            You can click the link to open the browser with the link which is the behavior you see when rendered.</i>\n        </blockquote>\n    ");
 82.   } else { 
 83.  writer.Write("\n        ");
 84.  writer.Write(  Model.Helpers.Markdown(Model.Topic.Body)  );
 85.  writer.Write("\n    ");
 86.   } 
 87.  writer.Write("\n</div>\n\n\n\n\n");
 88.   if (!string.IsNullOrEmpty(Model.Topic.Remarks)) {  
 89.  writer.Write("\n    <h3 class=\"outdent\" id=\"remarks\">Remarks</h3>\n    ");
 90.  writer.Write(  Model.Helpers.Markdown(Model.Topic.Remarks)  );
 91.  writer.Write("\n");
 92.   } 
 93.  writer.Write("\n\n");
 94.   if (!string.IsNullOrEmpty(Model.Topic.Example))  {  
 95.  writer.Write("\n    <h3 class=\"outdent\" id=\"example\">Example</h3>\n    ");
 96.  writer.Write(  Model.Helpers.Markdown(Model.Topic.Example)  );
 97.  writer.Write("\n");
 98.   } 
 99.  writer.Write("\n\n");
100.   if (!string.IsNullOrEmpty(Model.Topic.SeeAlso)) { 
101.  writer.Write("\n    <h4 class=\"outdent\" id=\"seealso\">See also</h4>\n    <div class=\"see-also-container\">\n        ");
102.  writer.Write(  Helpers.FixupSeeAlsoLinks(Topic.SeeAlso)  );
103.  writer.Write("\n    </div>\n");
104.   } 
105.  writer.Write("\r\n                </article>\r\n\r\n                <hr />\r\n                <div class=\"pull-right\">\r\n                    <a href=\"http://helpbuilder.west-wind.com\" target=\"_blank\"><img src=\"~/_kavadocs/images/docmonster.png\" style=\"height: 2.5em\"/></a>\r\n                </div>\r\n\r\n                <small>\r\n                    &copy; ");
106.  writer.Write(  Project.Owner  );
107.  writer.Write(", ");
108.  writer.Write(  DateTime.Now.Year  );
109.  writer.Write(" &bull;\r\n                    Updated: ");
110.  writer.Write(  Topic.Updated.ToString("yyyy-MM-dd")  );
111.  writer.Write("\r\n                    <br />\r\n                    ");
112.        
113.                          string mailBody = $"Project: {Project.Title}\nTopic: {Topic.Title}\n\nUrl:\n{ Project.Settings.WebSiteBaseUrl?.TrimEnd('/') + Project.Settings.RelativeBaseUrl }{ Topic.Id }.html";
114.                          mailBody = WebUtility.UrlEncode(mailBody).Replace("+", "%20");                        
115.                      
116.  writer.Write("\r\n                    <a href=\"mailto:");
117.  writer.Write(  Project.Settings.SupportEmail  );
118.  writer.Write("?subject=Support: ");
119.  writer.Write(  Project.Title  );
120.  writer.Write(" - ");
121.  writer.Write(  Topic.Title  );
122.  writer.Write("&body=");
123.  writer.Write(  mailBody  );
124.  writer.Write("\">Comment or report problem with topic</a>\r\n                </small>\r\n                <br class=\"clearfix\" />\r\n                <br />\r\n                <!-- End Rendered Content -->\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <!-- End Markdown Monster Content -->\r\n</body>\r\n</html>\r\n\r\n");
125.  return writer.ToString();
126.  
127.  } // using ScriptWriter
128.  
129.  }
130.  
131.  
132.  } 
133.  }