Пример #1
0
        public UpdateAvailable(Models.UpdateCheck update = null)
        {
            InitializeComponent();

            this.DataContext = MainViewModel;

            this.Width  *= MainViewModel.UIScaleFactor;
            this.Height *= MainViewModel.UIScaleFactor;

            var _markdownPipelineBuilder = new Markdig.MarkdownPipelineBuilder();

            _markdownPipelineBuilder.Extensions.Add(new Markdig.Extensions.Tables.PipeTableExtension());
            _markdownPipeline = _markdownPipelineBuilder.Build();
            try
            {
                var cssPath = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Assets", "CSS", "markdown.css");
                _css = System.IO.File.ReadAllText(cssPath);

                if (MainViewModel.UISettings?.UITheme?.ToLower() == "dark")
                {
                    cssPath = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Assets", "CSS", "dark-mode.css");
                    _css   += System.IO.File.ReadAllText(cssPath);
                }
            }
            catch
            {
                // will fail in design mode
            }

            _update = update;
        }
Пример #2
0
        public Preview()
        {
            InitializeComponent();

            Steps = new ObservableCollection <ActionStep>();

            var _markdownPipelineBuilder = new Markdig.MarkdownPipelineBuilder();

            _markdownPipelineBuilder.Extensions.Add(new Markdig.Extensions.Tables.PipeTableExtension());
            _markdownPipeline = _markdownPipelineBuilder.Build();
        }
Пример #3
0
        private void tabControlMode_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (tabControlMode.SelectedTab == tabPagePreview)
            {
                htmlPanelPreview.BaseStylesheet = String.Format("{0} body div {{ font-size: {1}px; }}",
                                                                Properties.Resources.Common_CSS, WinFormsHelpers.GetFontSizeInPixels(htmlPanelPreview));

                Markdig.MarkdownPipeline pipeline = MarkDownUtils.CreatePipeline(Program.ServiceManager.GetJiraServiceUrl());
                string body = MarkDownUtils.ConvertToHtml(textBox.Text, _uploadsPrefix, pipeline);
                htmlPanelPreview.Text = String.Format(MarkDownUtils.HtmlPageTemplate, body);
            }
        }
Пример #4
0
        public Preview()
        {
            InitializeComponent();

            Steps = new ObservableCollection <ActionStep>();

            var _markdownPipelineBuilder = new Markdig.MarkdownPipelineBuilder();

            _markdownPipelineBuilder.Extensions.Add(new Markdig.Extensions.Tables.PipeTableExtension());
            _markdownPipeline = _markdownPipelineBuilder.Build();
            _css = System.IO.File.ReadAllText(System.AppDomain.CurrentDomain.BaseDirectory + "\\Assets\\CSS\\markdown.css");
        }
        public DefaultMarkdownHtmlRenderer()
        {
            var pipelineBuilderUnsafe = new Markdig.MarkdownPipelineBuilder();

            Markdig.MarkdownExtensions.UseAdvancedExtensions(pipelineBuilderUnsafe);
            Markdig.MarkdownExtensions.UseNoFollowLinks(pipelineBuilderUnsafe);
            Markdig.MarkdownExtensions.UseBootstrap(pipelineBuilderUnsafe);
            pipelineUnsafe = pipelineBuilderUnsafe.Build();

            var pipelineBuilderSafe = new Markdig.MarkdownPipelineBuilder();

            Markdig.MarkdownExtensions.UseAdvancedExtensions(pipelineBuilderSafe);
            Markdig.MarkdownExtensions.UseNoFollowLinks(pipelineBuilderSafe);
            Markdig.MarkdownExtensions.UseBootstrap(pipelineBuilderSafe);
            Markdig.MarkdownExtensions.DisableHtml(pipelineBuilderSafe);
            Markdig.MarkdownExtensions.DisableHeadings(pipelineBuilderSafe);
            pipelineSafe = pipelineBuilderSafe.Build();
        }
Пример #6
0
        public static Entities.Widget ParseWidgetYaml(this string value, Markdig.MarkdownPipeline markdownPipeline)
        {
            if (String.IsNullOrWhiteSpace(value))
            {
                throw new ArgumentNullException(nameof(value));
            }

            var(frontMatter, content) = value.SplitYamlFile();
            var yamlDeserializer = new DeserializerBuilder()
                                   .WithNamingConvention(LowerCaseNamingConvention.Instance)
                                   .Build();

            var results = yamlDeserializer
                          .Deserialize <YamlWidget>(frontMatter);
            var entity = results.AsEntity();

            entity.Dictionary = new List <Tuple <string, string> >()
            {
                new Tuple <string, string>("Content", content.ToHtml(markdownPipeline))
            };

            return(entity);
        }
Пример #7
0
        public UpdateAvailable(Models.UpdateCheck update = null)
        {
            InitializeComponent();

            this.DataContext = MainViewModel;

            this.Width  *= MainViewModel.UIScaleFactor;
            this.Height *= MainViewModel.UIScaleFactor;

            var _markdownPipelineBuilder = new Markdig.MarkdownPipelineBuilder();

            _markdownPipelineBuilder.Extensions.Add(new Markdig.Extensions.Tables.PipeTableExtension());
            _markdownPipeline = _markdownPipelineBuilder.Build();
            try
            {
                _css = System.IO.File.ReadAllText(System.AppDomain.CurrentDomain.BaseDirectory + "\\Assets\\CSS\\markdown.css");
            }
            catch
            {
                // will fail in design mode
            }

            _update = update;
        }
Пример #8
0
 public static String ToHtml(this string markdown, Markdig.MarkdownPipeline markdownPipeline)
 {
     return(Markdig.Markdown.ToHtml(markdown, markdownPipeline));
 }
Пример #9
0
        public static Entities.ContentItem ParseContentItem(this string value, IEnumerable <Category> categories, Markdig.MarkdownPipeline markdownPipeline)
        {
            if (String.IsNullOrWhiteSpace(value))
            {
                throw new ArgumentNullException(nameof(value));
            }

            var(frontMatter, content) = value.ParseForestryYaml();
            var yamlDeserializer = new DeserializerBuilder()
                                   .WithNamingConvention(LowerCaseNamingConvention.Instance)
                                   .Build();

            var results = yamlDeserializer
                          .Deserialize <ContentItem>(frontMatter);

            results.ByLine  = String.IsNullOrEmpty(results.Author) ? String.Empty : $"by {results.Author}";
            results.Content = content.ToHtml(markdownPipeline);

            return(results.AsEntity(categories));
        }