예제 #1
0
        private string RenderStaticPage(MarkdownPage markdownPage)
        {
            var pageHtml = markdown.Transform(markdownPage.Contents);
            var templatePath = markdownPage.GetTemplatePath();

            return RenderInTemplateIfAny(templatePath, pageHtml);
        }
예제 #2
0
        private void AddPage(MarkdownPage page)
        {
            try
            {
                page.Prepare();
                Pages.Add(page.Name, page);
            }
            catch (Exception ex)
            {
                log.Error("AddPage() page.Prepare(): " + ex.Message, ex);
            }

            var templatePath = page.GetTemplatePath();

            if (!PageTemplates.ContainsKey(templatePath))
            {
                var templateFile = new FileInfo(templatePath);

                if (!templateFile.Exists)
                {
                    PageTemplates.Add(templateFile.FullName, null);
                    return;
                }

                var pageContents = File.ReadAllText(templatePath);
                var template = new MarkdownTemplate(
                    templatePath, templateFile.Name, pageContents);

                try
                {
                    template.Prepare();
                    PageTemplates.Add(template.FilePath, template);
                }
                catch (Exception ex)
                {
                    log.Error("AddPage() template.Prepare(): " + ex.Message, ex);
                }
            }
        }