Esempio n. 1
0
        public void RenderMarkdown(string currentText, string filepath)
        {
            if (renderTask == null || renderTask.IsCompleted)
            {
                SaveLastVerticalScrollPosition();
                MakeAndDisplayScreenShot();

                var context = TaskScheduler.FromCurrentSynchronizationContext();
                renderTask = new Task <string>(() =>
                {
                    var result           = markdownGenerator.ConvertToHtml(currentText, filepath);
                    var defaultBodyStyle = "";

                    // Path of plugin directory
                    var assemblyPath = Path.GetDirectoryName(Assembly.GetAssembly(GetType()).Location);
                    var css          = File.ReadAllText(assemblyPath + "\\" + MainResources.DefaultCssFile);

                    var rr = string.Format(DEFAULT_HTML_BASE, Path.GetFileName(filepath), css, defaultBodyStyle, result);
                    return(rr);
                });
                renderTask.ContinueWith((renderedText) =>
                {
                    webBrowserPreview.DocumentText = renderedText.Result;
                    AdjustZoomForCurrentDpi();
                }, context);
                renderTask.Start();
            }
        }