Esempio n. 1
0
        public void Can_Render_MarkdownPage_with_foreach()
        {
            var person = new Person
            {
                FirstName = "Demis",
                LastName = "Bellot",
                Links = new List<Link>
                {
                    new Link { Name = "ServiceStack", Href = "http://www.servicestack.net" },
                    new Link { Name = "AjaxStack", Href = "http://www.ajaxstack.net" },
                },
            };

            var markdownHtml = MarkdownFormat.Instance.Transform(dynamicListPageContent);
            Console.WriteLine(markdownHtml);

            var dynamicPage = new MarkdownPage(
                dynamicListPagePath, "DynamicListTpl", dynamicListPageContent);

            dynamicPage.Prepare();

            Assert.That(dynamicPage.Blocks.Count, Is.EqualTo(9));

            var expectedHtml = markdownHtml
                .Replace("@model.FirstName", person.FirstName)
                .Replace("@model.LastName", person.LastName);

            var templateArgs = new Dictionary<string, object> { { "model", person } };
            var templateOutput = dynamicPage.RenderToString(templateArgs);

            Console.WriteLine("Template Output: " + templateOutput);

            Assert.That(templateOutput, Is.EqualTo(expectedHtml));
        }
Esempio n. 2
0
        public void Can_Render_MarkdownPage()
        {
            var person = new Person { FirstName = "Demis", LastName = "Bellot" };

            var dynamicPage = new MarkdownPage(dynamicPageContent, "DynamicTpl", dynamicListPageContent);
            dynamicPage.Prepare();

            Assert.That(dynamicPage.Blocks.Count, Is.EqualTo(9));

            var expectedHtml = MarkdownFormat.Instance.Transform(dynamicListPageContent)
                .Replace("@model.FirstName", person.FirstName)
                .Replace("@model.LastName", person.LastName);

            var templateArgs = new Dictionary<string, object> { { "model", person } };
            var templateOutput = dynamicPage.RenderToString(templateArgs);

            Console.WriteLine("Template Output: " + templateOutput);

            Assert.That(templateOutput, Is.EqualTo(expectedHtml));
        }
Esempio n. 3
0
        public void AddPage(MarkdownPage page)
        {
            try
            {
                page.Prepare();
                switch (page.PageType)
                {
                    case MarkdownPageType.ViewPage:
                        ViewPages.Add(page.Name, page);
                        break;
                    case MarkdownPageType.SharedViewPage:
                        ViewSharedPages.Add(page.Name, page);
                        break;
                    case MarkdownPageType.ContentPage:
                        ContentPages.Add(page.FilePath.WithoutExtension(), page);
                        break;
                }
            }
            catch (Exception ex)
            {
                Log.Error("AddViewPage() page.Prepare(): " + ex.Message, ex);
            }

            var templatePath = page.TemplatePath;
            if (page.TemplatePath == null) return;

            if (PageTemplates.ContainsKey(templatePath)) return;

            AddTemplate(templatePath, File.ReadAllText(templatePath));
        }
Esempio n. 4
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);
                }
            }
        }
Esempio n. 5
0
        private void AddPage(MarkdownPage page)
        {
            try
            {
                page.Prepare();
                switch (page.PageType)
                {
                    case MarkdownPageType.ViewPage:
                        ViewPages.Add(page.Name, page);
                        break;
                    case MarkdownPageType.SharedViewPage:
                        ViewSharedPages.Add(page.Name, page);
                        break;
                    case MarkdownPageType.ContentPage:
                        ContentPages.Add(page.FilePath.WithoutExtension(), page);
                        break;
                }
            }
            catch (Exception ex)
            {
                Log.Error("AddViewPage() page.Prepare(): " + ex.Message, ex);
            }

            var templatePath = page.TemplatePath;
            if (page.TemplatePath == null) return;

            if (PageTemplates.ContainsKey(templatePath)) return;

            var templateName = Path.GetFileName(templatePath).WithoutExtension();
            var pageContents = File.ReadAllText(templatePath);
            var template = new MarkdownTemplate(templatePath, templateName, pageContents);

            PageTemplates.Add(templatePath, template);

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