• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Markdown.MarkdownPage类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中ServiceStack.WebHost.Endpoints.Support.Markdown.MarkdownPage的典型用法代码示例。如果您正苦于以下问题:C# MarkdownPage类的具体用法?C# MarkdownPage怎么用?C# MarkdownPage使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



MarkdownPage类属于ServiceStack.WebHost.Endpoints.Support.Markdown命名空间,在下文中一共展示了MarkdownPage类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: Main

        public static void Main(string[] args)
        {
            // Get executing path and /example.md full path
            string exeLocation = Assembly.GetExecutingAssembly().Location;
            string path = Path.GetDirectoryName( exeLocation );
            string template = Path.Combine(path, "example.md");

            // Create the markdown-razor template compiler
            MarkdownFormat format = new MarkdownFormat();
            string contents = File.ReadAllText(template);
            var page = new MarkdownPage(format, path, "example", contents );
            format.AddPage(page);

            // Create our view container (ViewBag)
            var view = new Dictionary<string, object>()
            {
                { "examples", examples }
            };

            // Compile and output.
            // This can be redirected to html file
            // e.g. RazorExample.exe > output.html
            var html = format.RenderDynamicPageHtml("example", view);
            Console.WriteLine(html);
        }
开发者ID:tjmukurumbira,项目名称:blogs,代码行数:25,代码来源:Main.cs


示例2: Init

        public void Init(MarkdownPage markdownPage, Dictionary<string, object> scopeArgs,
            bool renderHtml, ViewDataDictionary viewData, HtmlHelper htmlHelper)
		{
            Init(null, null, markdownPage.Markdown, viewData, htmlHelper);

            this.RenderHtml = renderHtml;
			this.MarkdownPage = markdownPage;
			this.ScopeArgs = scopeArgs;
		}
开发者ID:HansS,项目名称:ServiceStack,代码行数:9,代码来源:HtmlHelper.cs


示例3: Does_handle_foreach_when_enumerable_is_empty_first_time

        public void Does_handle_foreach_when_enumerable_is_empty_first_time()
        {
            var content = (string)dynamicListPageContent.Clone();
            var markdownPage = new MarkdownPage(new MarkdownFormat(), dynamicListPagePath, "", content);
            markdownPage.Compile();
            var model = new Person { Links = new List<Link>() };
            var scopeArgs = new Dictionary<string, object> { { "Model", model } };
            markdownPage.RenderToHtml(scopeArgs);             // First time the list is empty

            var expected = "A new list item";
            model.Links.Add(new Link { Name = expected } );
            var html = markdownPage.RenderToHtml(scopeArgs);  // Second time the list has 1 item

            Console.WriteLine(html);
            Assert.That(html, Contains.Substring(expected));
        }
开发者ID:KennyBu,项目名称:ServiceStack,代码行数:16,代码来源:TextBlockTests.cs


示例4: RegisterMarkdownPage

 public void RegisterMarkdownPage(MarkdownPage markdownPage)
 {
     AddPage(markdownPage);
 }
开发者ID:Arxisos,项目名称:ServiceStack,代码行数:4,代码来源:MarkdownFormat.cs


示例5: ProcessMarkdownPage

        public bool ProcessMarkdownPage(IHttpRequest httpReq, MarkdownPage markdownPage, object dto, IHttpResponse httpRes)
        {
            httpRes.AddHeaderLastModified(markdownPage.GetLastModified());

            var renderInTemplate = true;
            var renderHtml = true;
            string format;
            if (httpReq != null && (format = httpReq.QueryString["format"]) != null)
            {
                renderHtml = !(format.StartsWithIgnoreCase("markdown")
                    || format.StartsWithIgnoreCase("text")
                    || format.StartsWithIgnoreCase("plain"));
                renderInTemplate = !httpReq.GetFormatModifier().StartsWithIgnoreCase("bare");
            }

            if (!renderHtml)
            {
                httpRes.ContentType = ContentType.PlainText;
            }

            var template = httpReq.GetTemplate();
            var markup = RenderDynamicPage(markdownPage, markdownPage.Name, dto, renderHtml, renderInTemplate, template);
            var markupBytes = markup.ToUtf8Bytes();
            httpRes.OutputStream.Write(markupBytes, 0, markupBytes.Length);

            return true;
        }
开发者ID:Arxisos,项目名称:ServiceStack,代码行数:27,代码来源:MarkdownFormat.cs


示例6: AddPage

        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));
        }
开发者ID:Arxisos,项目名称:ServiceStack,代码行数:30,代码来源:MarkdownFormat.cs


示例7: AddFileAndPage

 public static void AddFileAndPage(this MarkdownFormat markdown, MarkdownPage markdownPage)
 {
     var pathProvider = (InMemoryVirtualPathProvider)markdown.VirtualPathProvider;
     pathProvider.AddFile(markdownPage.FilePath, markdownPage.Contents);
     markdown.AddPage(markdownPage);
 }
开发者ID:grammarware,项目名称:fodder,代码行数:6,代码来源:tests_ServiceStack_ServiceHost_Tests_Formats_MarkdownFormatExtensions.cs


示例8: RenderStaticPage

 private string RenderStaticPage(MarkdownPage markdownPage, bool renderHtml)
 {
     //TODO: Optimize if contains no dynamic elements
     return RenderDynamicPage(markdownPage, new Dictionary<string, object>(), renderHtml, true);
 }
开发者ID:Arxisos,项目名称:ServiceStack,代码行数:5,代码来源:MarkdownFormat.cs


示例9: RenderDynamicPage

        private string RenderDynamicPage(MarkdownPage markdownPage, string pageName, object model, bool renderHtml, bool renderTemplate, string templatePath = null)
        {
            if (markdownPage == null)
                throw new InvalidDataException(ErrorPageNotFound.FormatWith(pageName));

            var scopeArgs = new Dictionary<string, object> { { MarkdownPage.ModelName, model } };

            return RenderDynamicPage(markdownPage, scopeArgs, renderHtml, renderTemplate, templatePath);
        }
开发者ID:Arxisos,项目名称:ServiceStack,代码行数:9,代码来源:MarkdownFormat.cs


示例10: AddPage

        public void AddPage(MarkdownPage page)
        {
            try
            {
				page.Compile();
                AddViewPage(page);
            }
            catch (Exception ex)
            {
                Log.Error("AddViewPage() page.Prepare(): " + ex.Message, ex);
            }

            try
            {
                var templatePath = page.Template;
                if (page.Template == null) return;

                if (MasterPageTemplates.ContainsKey(templatePath)) return;

                var templateFile = VirtualPathProvider.GetFile(templatePath);
                var templateContents = GetPageContents(templateFile);
                AddTemplate(templatePath, templateContents);
            }
            catch (Exception ex)
            {
                Log.Error("Error compiling template " + page.Template + ": " + ex.Message, ex);
            }
        }
开发者ID:JonCanning,项目名称:ServiceStack,代码行数:28,代码来源:MarkdownFormat.cs


示例11: GetLatestPage

 private IVirtualFile GetLatestPage(MarkdownPage markdownPage)
 {
     var file = VirtualPathProvider.GetFile(markdownPage.FilePath);
     return file;
 }
开发者ID:JonCanning,项目名称:ServiceStack,代码行数:5,代码来源:MarkdownFormat.cs


示例12: ReloadIfNeeded

 private MarkdownPage ReloadIfNeeded(MarkdownPage markdownPage)
 {
     if (markdownPage == null || !WatchForModifiedPages) return markdownPage;
     if (markdownPage.FilePath != null)
     {
         var latestPage = GetLatestPage(markdownPage);
         if (latestPage == null) return markdownPage;
         if (latestPage.LastModified > markdownPage.LastModified)
         {
             markdownPage.Reload(GetPageContents(latestPage), latestPage.LastModified);
         }
     }
     return markdownPage;
 }
开发者ID:JonCanning,项目名称:ServiceStack,代码行数:14,代码来源:MarkdownFormat.cs


示例13: ReloadModifiedPageAndTemplates

        public void ReloadModifiedPageAndTemplates(MarkdownPage markdownPage)
        {
            if (markdownPage == null || !WatchForModifiedPages) return;

            ReloadIfNeeded(markdownPage);

            IVirtualFile latestPage;
            MarkdownTemplate template;
            if (markdownPage.DirectiveTemplate != null
                && this.MasterPageTemplates.TryGetValue(markdownPage.DirectiveTemplate, out template))
            {
                latestPage = GetLatestPage(markdownPage.DirectiveTemplate);
                if (latestPage.LastModified > template.LastModified)
                    template.Reload(GetPageContents(latestPage), latestPage.LastModified);
            }
            if (markdownPage.Template != null
                && this.MasterPageTemplates.TryGetValue(markdownPage.Template, out template))
            {
                latestPage = GetLatestPage(template);
                if (latestPage.LastModified > template.LastModified)
                    template.Reload(GetPageContents(latestPage), latestPage.LastModified);
            }
        }
开发者ID:JonCanning,项目名称:ServiceStack,代码行数:23,代码来源:MarkdownFormat.cs


示例14: ReloadModifiedPageAndTemplates

        public void ReloadModifiedPageAndTemplates(MarkdownPage markdownPage)
        {
            var lastWriteTime = File.GetLastWriteTime(markdownPage.FilePath);
            if (lastWriteTime > markdownPage.LastModified)
            {
                markdownPage.Reload();
            }

            MarkdownTemplate template;
            if (markdownPage.DirectiveTemplatePath != null
                && this.PageTemplates.TryGetValue(markdownPage.DirectiveTemplatePath, out template))
            {
                lastWriteTime = File.GetLastWriteTime(markdownPage.DirectiveTemplatePath);
                if (lastWriteTime > template.LastModified)
                    ReloadTemplate(template);
            }
            if (markdownPage.TemplatePath != null
                && this.PageTemplates.TryGetValue(markdownPage.TemplatePath, out template))
            {
                lastWriteTime = File.GetLastWriteTime(markdownPage.TemplatePath);
                if (lastWriteTime > template.LastModified)
                    ReloadTemplate(template);
            }
        }
开发者ID:Arxisos,项目名称:ServiceStack,代码行数:24,代码来源:MarkdownFormat.cs


示例15: AddViewPage

 private void AddViewPage(MarkdownPage page)
 {
     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().TrimStart(DirSeps), page);
             break;
     }
 }
开发者ID:JonCanning,项目名称:ServiceStack,代码行数:15,代码来源:MarkdownFormat.cs


示例16: RenderInTemplateIfAny

        private string RenderInTemplateIfAny(MarkdownPage markdownPage, Dictionary<string, object> scopeArgs, string pageHtml, string templatePath = null)
        {
            MarkdownTemplate markdownTemplate = null;

            if (templatePath != null)
                MasterPageTemplates.TryGetValue(templatePath, out markdownTemplate);

            var directiveTemplate = markdownPage.DirectiveTemplate;
            if (markdownTemplate == null && directiveTemplate != null)
            {
                if (!MasterPageTemplates.TryGetValue(directiveTemplate, out markdownTemplate))
                {
                    var templateInSharedPath = "{0}/{1}.shtml".Fmt(SharedDir, directiveTemplate);
                    if (!MasterPageTemplates.TryGetValue(templateInSharedPath, out markdownTemplate))
                    {
                        var virtualFile = VirtualPathProvider.GetFile(directiveTemplate);
                        if (virtualFile == null)
                            throw new FileNotFoundException("Could not find template: " + directiveTemplate);

                        var templateContents = GetPageContents(virtualFile);
                        markdownTemplate = AddTemplate(directiveTemplate, templateContents);
                    }
                }
            }

            if (markdownTemplate == null)
            {
                if (markdownPage.Template != null)
                    MasterPageTemplates.TryGetValue(markdownPage.Template, out markdownTemplate);

                if (markdownTemplate == null && templatePath == null)
                    MasterPageTemplates.TryGetValue(DefaultTemplate, out markdownTemplate);

                if (markdownTemplate == null)
                {
                    if (templatePath == null)
                        return pageHtml;

                    throw new Exception("No template found for page: " + markdownPage.FilePath);
                }
            }

            if (scopeArgs != null)
                scopeArgs[MarkdownTemplate.BodyPlaceHolder] = pageHtml;

            var htmlPage = markdownTemplate.RenderToString(scopeArgs);

            return htmlPage;
        }
开发者ID:JonCanning,项目名称:ServiceStack,代码行数:49,代码来源:MarkdownFormat.cs


示例17: RenderInTemplateIfAny

        private string RenderInTemplateIfAny(MarkdownPage markdownPage, Dictionary<string, object> scopeArgs, string pageHtml, string templatePath=null)
        {
            MarkdownTemplate markdownTemplate = null;

            if (templatePath != null)
                PageTemplates.TryGetValue(templatePath, out markdownTemplate);

            var directiveTemplatePath = markdownPage.DirectiveTemplatePath;
            if (markdownTemplate == null && directiveTemplatePath != null)
            {
                if (!PageTemplates.TryGetValue(directiveTemplatePath, out markdownTemplate))
                {
                    var virtualFile = VirtualPathProvider.GetFile(directiveTemplatePath);
                    if (virtualFile == null)
                        throw new FileNotFoundException("Could not find template: " + directiveTemplatePath);

                    var templateContents = virtualFile.ReadAllText();
                    markdownTemplate = AddTemplate(directiveTemplatePath, templateContents);
                }
            }

            if (markdownTemplate == null)
            {
                if (markdownPage.TemplatePath != null)
                    PageTemplates.TryGetValue(markdownPage.TemplatePath, out markdownTemplate);

                if (markdownTemplate == null)
                {
                    if (templatePath == null)
                        return null;

                    throw new ArgumentNullException("templatePath", templatePath);
                }
            }

            if (scopeArgs != null)
                scopeArgs[MarkdownTemplate.BodyPlaceHolder] = pageHtml;

            var htmlPage = markdownTemplate.RenderToString(scopeArgs);

            return htmlPage;
        }
开发者ID:Arxisos,项目名称:ServiceStack,代码行数:42,代码来源:MarkdownFormat.cs


示例18: RenderInTemplateIfAny

        private string RenderInTemplateIfAny(MarkdownPage markdownPage, Dictionary<string, object> scopeArgs, string pageHtml)
        {
            MarkdownTemplate markdownTemplate = null;
            var directiveTemplatePath = markdownPage.DirectiveTemplatePath;
            if (directiveTemplatePath != null)
            {
                if (!PageTemplates.TryGetValue(directiveTemplatePath, out markdownTemplate))
                {
                    if (!File.Exists(directiveTemplatePath))
                        throw new FileNotFoundException("Could not find template: " + directiveTemplatePath);

                    var templateContents = File.ReadAllText(directiveTemplatePath);
                    markdownTemplate = AddTemplate(directiveTemplatePath, templateContents);
                }
            }

            if (markdownTemplate == null)
            {
                var templatePath = markdownPage.TemplatePath;
                if (templatePath == null) return pageHtml;

                markdownTemplate = PageTemplates[templatePath];
            }

            if (scopeArgs != null)
                scopeArgs[MarkdownTemplate.BodyPlaceHolder] = pageHtml;

            var htmlPage = markdownTemplate.RenderToString(scopeArgs);

            return htmlPage;
        }
开发者ID:nstjelja,项目名称:ServiceStack,代码行数:31,代码来源:MarkdownFormat.cs


示例19: Does_transform_escaped_html_start_tags

        public void Does_transform_escaped_html_start_tags()
        {
            var markdownText =
            @"#### Showing Results 1 - 5

            ^<div id=""searchresults"">

            ### Markdown &gt; [About Docs](http://path.com/to/about)

            ^</div>

            Text".NormalizeNewLines();

            var expectedHtml =
            @"<h4>Showing Results 1 - 5</h4>
            <div id=""searchresults"">
            <h3>Markdown &gt; <a href=""http://path.com/to/about"">About Docs</a></h3>
            </div>
            <p>Text</p>
            ".NormalizeNewLines();

            var textBlock = new TextBlock("");
            var page = new MarkdownPage { Markdown = new MarkdownFormat() };
            textBlock.DoFirstRun(new PageContext(page, null, true));

            var html = textBlock.TransformHtml(markdownText);

            Console.WriteLine(html);

            Assert.That(html, Is.EqualTo(expectedHtml));
        }
开发者ID:namman,项目名称:ServiceStack,代码行数:31,代码来源:TextBlockTests.cs


示例20: AddPage

        public void AddPage(MarkdownPage page)
        {
            try
            {
                Log.InfoFormat("Compiling {0}...", page.FilePath);
                page.Compile();
                AddViewPage(page);
            }
            catch (Exception ex)
            {
                Log.Error("AddViewPage() page.Prepare(): " + ex.Message, ex);
            }

            try
            {
                var templatePath = page.Template;
                if (page.Template == null) return;

                if (MasterPageTemplates.ContainsKey(templatePath)) return;

                //AddTemplate(templatePath, File.ReadAllText(templatePath));

                var templateFile = VirtualPathProvider.GetFile(templatePath);
                var templateContents = templateFile.ReadAllText();
                AddTemplate(templatePath, templateContents);
            }
            catch (Exception ex)
            {
                Log.Error("Error compiling template " + page.Template + ": " + ex.Message, ex);
            }
        }
开发者ID:zgramana,项目名称:ServiceStack,代码行数:31,代码来源:MarkdownFormat.cs



注:本文中的ServiceStack.WebHost.Endpoints.Support.Markdown.MarkdownPage类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# TextBox.TextChooser类代码示例发布时间:2022-05-26
下一篇:
C# Markdown.MarkdownPage类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap