private static string MarkdownReplace(string text) { if (string.IsNullOrEmpty(text)) return string.Empty; var markdown = new MarkdownSharp.Markdown(); return markdown.Transform(text); }
/// <summary> /// Request handler function. Overriden from RequestHandler class /// </summary> /// <param name="context">Request context</param> public override void HandleReqest(HttpListenerContext context) { _content.Append(TemplateText); if (context.Request.HttpMethod == "GET") { if (GetHandler != null) { GetHandler(this, new HTTPEventArgs(EmbeddedHttpServer.GetFileName(context.Request.RawUrl), context.Request.QueryString)); } } if (TemplateTags != null) { foreach (var keyvaluepair in TemplateTags) { var toreplace = "{{" + keyvaluepair.Key + "}}"; _content.Replace(toreplace, keyvaluepair.Value.ToString()); } } MarkdownSharp.Markdown md = new MarkdownSharp.Markdown(); var output = Encoding.UTF8.GetBytes(BaseHTMLTemplate.Replace("{{md}}", md.Transform(_content.ToString()))); context.Response.ContentType = "text/html"; context.Response.ContentLength64 = output.Length; context.Response.OutputStream.Write(output, 0, output.Length); }
/// <summary> /// Renders stand alone / master page /// </summary> /// <param name="templateContent">Template content</param> /// <returns>HTML converted to markdown</returns> public static string RenderMasterPage(string templateContent) { var second = templateContent.Substring( templateContent.IndexOf("<!DOCTYPE html>", StringComparison.OrdinalIgnoreCase), templateContent.IndexOf("<body", StringComparison.OrdinalIgnoreCase)); var third = templateContent.Substring(second.Length); var forth = templateContent.Substring(second.Length, third.IndexOf(">", StringComparison.Ordinal) + 1); var header = second + forth; var toConvert = templateContent.Substring(header.Length, (templateContent.IndexOf("</body>", StringComparison.Ordinal) - (templateContent.IndexOf(forth, StringComparison.Ordinal) + forth.Length))); var footer = templateContent.Substring(templateContent.IndexOf("</body>", StringComparison.OrdinalIgnoreCase)); var parser = new MarkdownSharp.Markdown(); var html = parser.Transform(toConvert.Trim()); var serverHtml = ParagraphSubstitution.Replace(html, "$1"); //TODO: The "Replace" is simply for unit testing HTML/MD strings. Probably needs improving return string.Concat(header, serverHtml, footer).Replace("\r\n", "").Replace("\n", "").Replace("\r", ""); }
/// <summary> /// Function that builds the contents of the generated file based on the contents of the input file /// </summary> /// <param name="inputFileContent">Content of the input file</param> /// <returns>Generated file as a byte array</returns> protected override byte[] GenerateCode(string inputFileContent) { //if (InputFilePath.EndsWith("_md")) var mdRegex = new System.Text.RegularExpressions.Regex(@"\w+\.\w+_md"); if (mdRegex.IsMatch(Path.GetFileName(InputFilePath))) { try { var input = File.ReadAllText(InputFilePath); var md = new MarkdownSharp.Markdown(); var output = md.Transform(input); return ConvertToBytes(output); } catch (Exception exception) { GeneratorError(0, exception.Message, 0, 0); } } else { GeneratorError(0, "The Markdown tool is only for Markdown files with the following filename format: filename.[required_extension]_md", 0, 0); } return null; }
public AboutVoodoo() { InitializeComponent(); try { Assembly assembly = Assembly.GetExecutingAssembly(); Stream textStream = assembly.GetManifestResourceStream("VoodooUI.Resources.about.md"); StreamReader textStreamReader = new StreamReader(textStream); String text = new StreamReader(textStream).ReadToEnd(); MarkdownSharp.MarkdownOptions mdopt = new MarkdownSharp.MarkdownOptions(); mdopt.AutoHyperlink = true; mdopt.LinkEmails = true; MarkdownSharp.Markdown parser = new MarkdownSharp.Markdown(mdopt); text = parser.Transform(text); webBrowser1.DocumentText = text; textStreamReader.Close(); } catch (Exception exc) { webBrowser1.DocumentText = "Voodoo Shader Framework<br>\nCopyright (c) 2010-2013 by Sean Sube, All Rights Reserved.<br>\n<br>\nError loading info:<br>\n\t" + exc.Message; } m_NoNav = true; }
public void OnGet() { var posts = new List <Dictionary <string, string> >(); string dbString = Environment.GetEnvironmentVariable("AZURE_DATABASE_CONNECTION_STRING"); using (SqlConnection con = new SqlConnection(dbString)){ con.Open(); SqlCommand cmd = new SqlCommand("GetRecentPosts", con); cmd.CommandType = CommandType.StoredProcedure; SqlDataReader reader = cmd.ExecuteReader(); var markdown = new MarkdownSharp.Markdown(); while (reader.Read()) { var post = new Dictionary <string, string>(); for (int i = 0; i < reader.FieldCount; i++) { post.Add(reader.GetName(i), reader.GetValue(i).ToString()); } post["Content"] = markdown.Transform(post["Content"]); Match m = Regex.Match(post["Content"], @"<p>\s*(.+?)\s*</p>"); if (m.Success) { post["Content"] = m.Groups[1].Value; } else { post["Content"] = ""; } posts.Add(post); } } ViewData["Posts"] = posts; }
private void ReleaseHandler() { using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"); using (var response = client.GetAsync("https://api.github.com/repos/smith-chem-wisc/MetaMorpheus/releases").Result) { string json = response.Content.ReadAsStringAsync().Result; JArray GitArray = JArray.Parse(json); var currV = GetVersionNumber(GlobalVariables.MetaMorpheusVersion); StringBuilder allVersionsText = new StringBuilder(); foreach (JObject obj in GitArray.Children <JObject>()) { var checkVersion = GetVersionNumber(obj.SelectToken("tag_name").ToString()); if (checkVersion.Item1 < currV.Item1 || (checkVersion.Item1 == currV.Item1 && checkVersion.Item2 < currV.Item2) || (checkVersion.Item1 == currV.Item1 && checkVersion.Item2 == currV.Item2 && checkVersion.Item3 <= currV.Item3)) { break; } string body = new MarkdownSharp.Markdown().Transform(obj.SelectToken("body").ToString()); allVersionsText.AppendLine("<font face=\"Arial\" size=2>"); allVersionsText.AppendLine("<h3>" + obj.SelectToken("tag_name").ToString() + "</h3>"); allVersionsText.AppendLine(body); allVersionsText.AppendLine(); allVersionsText.AppendLine("</font>"); } releases.NavigateToString(allVersionsText.ToString()); releases.Navigating += Releases_Navigating; } } }
public MarkdownViewEngineHost(IViewEngineHost viewEngineHost, IRenderContext renderContext) { this.viewEngineHost = viewEngineHost; this.renderContext = renderContext; this.Context = this.renderContext.Context; this.parser = new MarkdownSharp.Markdown(); }
public string Transform(string input) { var md = new MarkdownSharp.Markdown(); var outputContent = md.Transform(input); return outputContent; }
private string GetReleaseNotes(NetSparkleAppCastItem item) { if (string.IsNullOrEmpty(item.ReleaseNotesLink)) { return(null); } string notes = DownloadReleaseNotes(item.ReleaseNotesLink); if (string.IsNullOrEmpty(notes)) { return(null); } var extension = Path.GetExtension(item.ReleaseNotesLink); if (extension != null && MarkDownExtension.Contains(extension.ToLower())) { try { var md = new MarkdownSharp.Markdown(); notes = md.Transform(notes); } catch (Exception ex) { Debug.WriteLine("Error parsing MarkDown syntax: " + ex.Message); } } return(notes); }
public CommandResult Execute(NewPostCommand command) { var markdown = new MarkdownSharp.Markdown(); //TODO:应该验证TitleSlug是否唯一 var post = new BlogPost { AuthorEmail = command.Author.Email, AuthorDisplayName = command.Author.DisplayName, MarkDown = command.MarkDown, Content = markdown.Transform(command.MarkDown), PubDate = command.PubDate.CloneToUtc(), Status = command.Published ? PublishStatus.Published : PublishStatus.Draft, Title = command.Title, TitleSlug = command.TitleSlug.IsNullOrWhitespace() ? command.Title.Trim().ToSlug() : command.TitleSlug.Trim().ToSlug(), DateUTC = DateTime.UtcNow }; if (!command.Tags.IsNullOrWhitespace()) { post.Tags = command.Tags.Trim().Split(',') .Select(t => new Tag { Name = t.Trim(), Slug = t.Trim().ToSlug() }) .ToArray(); } else { post.Tags = new Tag[] { } }; var result = _collections.BlogPostCollection.Insert(post); return(CommandResult.SuccessResult); } }
public void RenderIssue() { NavigationItem.RightBarButtonItem.Enabled = true; var state = ViewModel.Issue.State; if (state == null) { state = "No State"; } var milestone = ViewModel.Issue.Milestone; var milestoneStr = milestone != null ? milestone.Title : "No Milestone"; var assignedTo = ViewModel.Issue.Assignee; var assignedToStr = ViewModel.Issue.Assignee != null ? ViewModel.Issue.Assignee.Login : null; var issue = new { state = state, milestone = milestoneStr, assigned_to = assignedToStr ?? "Unassigned", updated_at = "Updated " + ViewModel.Issue.UpdatedAt.ToDaysAgo(), title = ViewModel.Issue.Title, assigned_to_login = assignedToStr ?? "" }; var data = new RestSharp.Serializers.JsonSerializer().Serialize(issue); Web.EvaluateJavascript("var a = " + data + "; setData(a);"); var md = new MarkdownSharp.Markdown(); var desc = FileSourceViewController.JavaScriptStringEncode(md.Transform(ViewModel.Issue.Body)); Web.EvaluateJavascript("var a = \"" + desc + "\"; setDescription(a);"); }
public AboutVoodoo() { InitializeComponent(); try { Assembly assembly = Assembly.GetExecutingAssembly(); Stream textStream = assembly.GetManifestResourceStream("VoodooUI.Resources.about.md"); StreamReader textStreamReader = new StreamReader(textStream); String text = new StreamReader(textStream).ReadToEnd(); MarkdownSharp.MarkdownOptions mdopt = new MarkdownSharp.MarkdownOptions(); mdopt.AutoHyperlink = true; mdopt.LinkEmails = true; MarkdownSharp.Markdown parser = new MarkdownSharp.Markdown(mdopt); text = parser.Transform(text); webBrowser1.DocumentText = text; textStreamReader.Close(); } catch (Exception exc) { webBrowser1.DocumentText = "Voodoo Shader Framework<br>\nCopyright (c) 2010-2013 by Sean Sube, All Rights Reserved.<br>\n<br>\nError loading info:<br>\n\t" + exc.Message; } m_NoNav = true; }
/// <summary> /// Function that builds the contents of the generated file based on the contents of the input file /// </summary> /// <param name="inputFileContent">Content of the input file</param> /// <returns>Generated file as a byte array</returns> protected override byte[] GenerateCode(string inputFileContent) { var mdRegex = new System.Text.RegularExpressions.Regex(@"(\.\w+)\.(?:md|markdown)$"); var matches = mdRegex.Match(Path.GetFileName(InputFilePath)); if (matches.Groups.Count > 1) { try { var input = File.ReadAllText(InputFilePath); var md = new MarkdownSharp.Markdown(); var output = md.Transform(input); return ConvertToBytes(output); } catch (Exception exception) { GeneratorError(0, exception.Message, 0, 0); } } else { GeneratorError(0, "The Markdown tool is only for Markdown files with the following filename format: filename.[required_extension].md or filename.[required_extension].markdown", 0, 0); } return null; }
/// <summary> /// Renders stand alone / master page /// </summary> /// <param name="templateContent">Template content</param> /// <returns>HTML converted to markdown</returns> public static string RenderMasterPage(string templateContent) { var second = templateContent.Substring( templateContent.IndexOf("<!DOCTYPE html>", StringComparison.OrdinalIgnoreCase), templateContent.IndexOf("<body", StringComparison.OrdinalIgnoreCase)); var third = templateContent.Substring(second.Length); var forth = templateContent.Substring(second.Length, third.IndexOf(">", StringComparison.Ordinal) + 1); var header = second + forth; var toConvert = templateContent.Substring(header.Length, (templateContent.IndexOf("</body>", StringComparison.Ordinal) - (templateContent.IndexOf(forth, StringComparison.Ordinal) + forth.Length))); var footer = templateContent.Substring(templateContent.IndexOf("</body>", StringComparison.OrdinalIgnoreCase)); var parser = new MarkdownSharp.Markdown(); var html = parser.Transform(toConvert.Trim()); var serverHtml = ParagraphSubstitution.Replace(html, "$1"); //TODO: The "Replace" is simply for unit testing HTML/MD strings. Probably needs improving return(string.Concat(header, serverHtml, footer).Replace("\r\n", "").Replace("\n", "").Replace("\r", "")); }
public string FormatBody(string link) { var engine = new MarkdownSharp.Markdown(); var html = engine.Transform(Markdown.Replace("{LINK}", link)); return(html); }
public static string ReadDocFile(string file) { string html; switch (Path.GetExtension(file)) { case ".md": case ".markdown": var markdown = new MarkdownSharp.Markdown(); html = PrependHTML + "<div class='markdown-body'>" + markdown.Transform(File.ReadAllText(file)) + "</div>"; break; case ".html": case ".htm": case ".xhtml": html = File.ReadAllText(file); break; case ".txt": html = PrependHTML + "<div class='markdown-body'>" + (File.ReadAllText(file).Replace("\r\n", "<br/>").Replace("\n\r", "<br/>").Replace("\r", "<br/>").Replace("\n", "<br/>")) + "</div>"; break; default: throw new NotSupportedException("The file format cannot be converted to HTML or isn't supported by Auto-Autorun"); } return(html); }
/// <summary> /// Function that builds the contents of the generated file based on the contents of the input file /// </summary> /// <param name="inputFileContent">Content of the input file</param> /// <returns>Generated file as a byte array</returns> protected override byte[] GenerateCode(string inputFileContent) { try { //If the input file doesn't contain an inline output extension then use the file namespace, if (new Regex(@"(\.\w+)\" + Path.GetExtension(InputFilePath)) .Match(Path.GetFileName(InputFilePath)).Groups.Count == 1) { DefaultExtension = "." + this.FileNameSpace; } else //leave the default extension blank to use the inline extension { DefaultExtension = string.Empty; } var input = File.ReadAllText(InputFilePath); var md = new MarkdownSharp.Markdown(); var output = md.Transform(input); return ConvertToBytes(output); } catch (Exception exception) { GeneratorError(0, exception.Message, 0, 0); } return null; }
public static string GetHomeHtml(int appId) { string text; if (homes.TryGetValue(appId, out text)) { return(text); } ServiceModel sm = ServiceModel.GetCurrent(); Application app = sm.GetApplication(appId); sm.Dispose(); MarkdownSharp.Markdown md = new MarkdownSharp.Markdown(); md.AutoHyperlink = true; md.AutoNewLines = true; md.BaseHeaderLevel = 1; try { string res = md.Transform(app.Description); var newDict = new Dictionary <int, string> (homes); newDict [appId] = res; homes = newDict; return(res); } catch (Exception ex) { return("Invalid description: " + ex.Message); } }
private void ReleaseHandler() { using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"); using (var response = client.GetAsync("https://api.github.com/repos/smith-chem-wisc/Spritz/releases").Result) { string json = response.Content.ReadAsStringAsync().Result; JArray GitArray = JArray.Parse(json); var currV = GetVersionNumber(MainWindow.CurrentVersion); StringBuilder allVersionsText = new StringBuilder(); foreach (JObject obj in GitArray.Children <JObject>()) { if (IsVersionLower(obj.SelectToken("tag_name").ToString())) { break; } string body = new MarkdownSharp.Markdown().Transform(obj.SelectToken("body").ToString()); allVersionsText.AppendLine("<font face=\"Arial\" size=2>"); allVersionsText.AppendLine("<h3>" + obj.SelectToken("tag_name").ToString() + "</h3>"); allVersionsText.AppendLine(body); allVersionsText.AppendLine(); if (!IsMsiAvailableForUpdate) { allVersionsText.AppendLine("Warning: A new version of Spritz was detected, but the installer file hasn't been uploaded yet. Please try again in a few minutes."); Bt_DownloadAndRunInstaller.IsEnabled = false; } allVersionsText.AppendLine("</font>"); } releases.NavigateToString(allVersionsText.ToString()); releases.Navigating += Releases_Navigating; } } }
public ActionResult Show([Bind(Prefix = "id")] string slug) { if (string.IsNullOrWhiteSpace(slug)) throw new ArgumentNullException("slug"); Entry entry; try { entry = Services.Entry.GetBySlug(slug); } catch (Exception ex) { throw new HttpException(404, "Entry not found", ex); } var markdown = new MarkdownSharp.Markdown(); var html = markdown.Transform(entry.Markdown); var model = new ShowModel { Date = entry.DateCreated.ToString("dddd, dd MMMM yyyy"), Slug = entry.Slug, Title = entry.Title, Html = html, IsCodePrettified = entry.IsCodePrettified ?? true }; return View(model); }
public ActionResult Show([Bind(Prefix = "id")] string slug) { if (string.IsNullOrWhiteSpace(slug)) { throw new ArgumentNullException("slug"); } Entry entry; try { entry = Services.Entry.GetBySlug(slug); } catch (Exception ex) { throw new HttpException(404, "Entry not found", ex); } var markdown = new MarkdownSharp.Markdown(); var html = markdown.Transform(entry.Markdown); var model = new ShowModel { Date = entry.DateCreated.ToString("dddd, dd MMMM yyyy"), Slug = entry.Slug, Title = entry.Title, Html = html, IsCodePrettified = entry.IsCodePrettified ?? true }; return(View(model)); }
private string GetReleaseNotes(NetSparkleAppCastItem item) { // at first try to use embedded description if (!string.IsNullOrEmpty(item.Description)) { // check for markdown Regex containsHtmlRegex = new Regex(@"<\s*([^ >]+)[^>]*>.*?<\s*/\s*\1\s*>"); if (containsHtmlRegex.IsMatch(item.Description)) { return(item.Description); } else { var md = new MarkdownSharp.Markdown(); var temp = md.Transform(item.Description); return(temp); } } // no embedded so try to get external if (string.IsNullOrEmpty(item.ReleaseNotesLink)) { return(null); } // download release note string notes = DownloadReleaseNotes(item.ReleaseNotesLink); if (string.IsNullOrEmpty(notes)) { return(null); } // check dsa of release notes if (!string.IsNullOrEmpty(item.ReleaseNotesDSASignature)) { if (_sparkle.DSAVerificator.VerifyDSASignatureOfString(item.ReleaseNotesDSASignature, notes) == ValidationResult.Invalid) { return(null); } } // process release notes var extension = Path.GetExtension(item.ReleaseNotesLink); if (extension != null && MarkDownExtension.Contains(extension.ToLower())) { try { var md = new MarkdownSharp.Markdown(); notes = md.Transform(notes); } catch (Exception ex) { Debug.WriteLine("Error parsing MarkDown syntax: " + ex.Message); } } return(notes); }
public static void Write(HttpContext context, string file) { var md = new MarkdownSharp.Markdown(); context.Response.ContentType = "text/html"; // < html xmlns = ""http://www.w3.org/1999/xhtml""> context.Response.Output.Write(@"<!DOCTYPE html> <html> <head> <meta http-equiv=""X-UA-Compatible"" content=""IE=edge,chrome=1"" /> <meta charset=""utf-8""> <meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8"" /> <title>"); context.Response.Output.Write(System.IO.Path.GetFileNameWithoutExtension(file)); context.Response.Output.Write(@"</title> <meta http-equiv=""cache-control"" content=""max-age=0"" /> <meta http-equiv=""cache-control"" content=""no-cache"" /> <meta http-equiv=""expires"" content=""0"" /> <meta http-equiv=""expires"" content=""Tue, 01 Jan 1980 1:00:00 GMT"" /> <meta http-equiv=""pragma"" content=""no-cache"" /> <base href =""/ajax/Resource.ashx/"); context.Response.Output.Write(System.Web.HttpUtility.UrlPathEncode( Base64Encode(System.IO.Path.GetDirectoryName(file)) )); context.Response.Output.Write(@"/"" /> <link rel=""canonical"" href="""); string str = new System.Uri(file).AbsoluteUri; context.Response.Output.Write(str); context.Response.Output.Write(@""" />"); context.Response.Output.Write("<style type=\"text/css\">"); // http://stackoverflow.com/questions/6784799/what-is-this-char-65279 // It's a zero-width no-break space. It's more commonly used as a byte-order mark (BOM). // context.Response.WriteFile(System.Web.Hosting.HostingEnvironment.MapPath("~/style.css")); // http://www.fileformat.info/info/unicode/char/feff/index.htm // \32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\64\102\111\110\116\45\102\97\99\101\32\123 // \32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\32\65279\64\102\111\110\116\45\102\97\99\101\32\123 context.Response.Output.Write( System.IO.File.ReadAllText(System.Web.Hosting.HostingEnvironment.MapPath("~/style.css"), System.Text.Encoding.UTF8) ); context.Response.Output.Write("</style>"); context.Response.Output.Write(@" <link type=""text/css"" rel=""stylesheet"" href=""Content/style.css"" /> <script type=""text/javascript"" src=""./Scripts/libs/jquery.js""></script> </head> <body> "); context.Response.Output.Write(md.Transform(System.IO.File.ReadAllText(file))); context.Response.Output.Write(@"</body></html>"); }
/// <summary> /// Converts markdown into HTML /// </summary> /// <param name="str"></param> /// <returns></returns> public static string ConvertMarkDown(string str) { var md = new MarkdownSharp.Markdown { AutoHyperlink = true, LinkEmails = false }; return(md.Transform(str)); }
/// <summary> /// Initializes a new instance of the <see cref="MarkdownViewEngineHost"/> class. /// </summary> /// <param name="viewEngineHost">A decorator <see cref="IViewEngineHost"/></param> /// <param name="renderContext">The render context.</param> /// <param name="viewExtensions">The allowed extensions</param> public MarkdownViewEngineHost(IViewEngineHost viewEngineHost, IRenderContext renderContext, IEnumerable<string> viewExtensions) { this.viewEngineHost = viewEngineHost; this.renderContext = renderContext; this.validExtensions = viewExtensions; this.Context = this.renderContext.Context; this.parser = new MarkdownSharp.Markdown(); }
public static string Encode(string text) { var md = new MarkdownSharp.Markdown(); return(md.Transform(text)); //question.HtmlBody = question.HtmlBody.Replace("<code>", "<pre class='prettyprint'>"); //question.HtmlBody = question.HtmlBody.Replace("</code>", "</pre>"); }
public string Transform(string input) { var md = new MarkdownSharp.Markdown(); return md.Transform(input); //var md = new anrControls.Markdown(); //return md.Transform(input); }
public MarkdownFormat() { markdown = new MarkdownSharp.Markdown(); this.MarkdownBaseType = typeof(MarkdownViewBase); this.MarkdownGlobalHelpers = new Dictionary<string, Type>(); this.FindMarkdownPagesFn = FindMarkdownPages; }
private static void ConvertMarkdownToHtml(string file, string outputfile) { string input = File.ReadAllText(file); var output = new MarkdownSharp.Markdown().Transform(input); EnsureDirectoryExists(Path.GetDirectoryName(outputfile)); File.WriteAllText(outputfile, output); }
private string ConvertToHtml(string source) { var md = new MarkdownSharp.Markdown(); md.AddExtension(new GitHubCodeBlockExtension()); var html = md.Transform(source); html = CleanHtml(html); return html; }
/// <summary> /// Initializes a new instance of the <see cref="MarkdownViewEngineHost"/> class. /// </summary> /// <param name="viewEngineHost">A decorator <see cref="IViewEngineHost"/></param> /// <param name="renderContext">The render context.</param> /// <param name="viewExtensions">The allowed extensions</param> public MarkdownViewEngineHost(IViewEngineHost viewEngineHost, IRenderContext renderContext, IEnumerable <string> viewExtensions) { this.viewEngineHost = viewEngineHost; this.renderContext = renderContext; this.validExtensions = viewExtensions; this.Context = this.renderContext.Context; this.parser = new MarkdownSharp.Markdown(); }
private static void ConvertMarkdownToHtml(string file, string outputfile) { string input = File.ReadAllText(file); var output = new MarkdownSharp.Markdown().Transform(input); EnsureDirectoryExists(Path.GetDirectoryName(outputfile)); File.WriteAllText(outputfile,output); }
public string ConvertToMarkdown(string str) { var options = new MarkdownSharp.MarkdownOptions(); options.AutoHyperlink = true; var md = new MarkdownSharp.Markdown(options); return(md.Transform(str)); }
public MarkdownFormat() { markdown = new MarkdownSharp.Markdown(); this.MarkdownBaseType = typeof(MarkdownViewBase); this.MarkdownGlobalHelpers = new Dictionary <string, Type>(); this.FindMarkdownPagesFn = FindMarkdownPages; this.MarkdownReplaceTokens = new Dictionary <string, string>(); }
public MarkdownFormat() { markdown = new MarkdownSharp.Markdown(); //Note: by default MarkdownDeep is used this.MarkdownBaseType = typeof(MarkdownViewBase); this.MarkdownGlobalHelpers = new Dictionary<string, Type>(); this.FindMarkdownPagesFn = FindMarkdownPages; this.ReplaceTokens = new Dictionary<string, string>(); }
public static string Convert(string markdownContent) { MarkdownSharp.Markdown markdown = new MarkdownSharp.Markdown { AutoNewLines = true, AutoHyperlink = true }; return(markdown.Transform(markdownContent)); }
/// <summary> /// Initializes a new instance of the <see cref="Documentation"/> class. /// </summary> /// <param name="dir">The folder which contains markdown files and 'screenshots' folder</param> public Documentation(string dir) { Directory = dir; MarkdownSharp.Markdown markdown = new MarkdownSharp.Markdown(); foreach (var file in EnumerateFile(dir)) { foreach (string item in new string[] { ".md", ".markdown", ".html", ".htm", ".xhtml", ".txt" }) { if (Path.GetExtension(file) == item) { Pages.Add(new string[] { Path.GetFileNameWithoutExtension(file), ReadDocFile(file), file }); break; } } } #region Icon tryOpenIcon(dir + "icon.png"); tryOpenIcon(dir + "icon.ico"); tryOpenIcon(dir + "icon.jpg"); tryOpenIcon(dir + "icon.jpeg"); tryOpenIcon(dir + "icon.jfif"); tryOpenIcon(dir + "icon.bmp"); #endregion #region Screenshots var docsdirs = EnumerateDir(dir); if (docsdirs.Count() == 0) { return; } var scrdir = docsdirs.First(); ScreenShotsDirectoryName = scrdir.Split('\\').Last(); ScreenShots = new List <Image>(); foreach (var item in EnumerateFile(scrdir)) { try { var img = Image.FromFile(item); img.Tag = item; ScreenShots.Add(img); } catch { } } #endregion }
public static string Transform(string input) { //MarkdownSharp.MarkdownOptions mdo = new MarkdownSharp.MarkdownOptions(); //mdo.AutoHyperlink = true; //mdo.AutoNewlines = true; MarkdownSharp.Markdown md = new MarkdownSharp.Markdown(); //mdo); md.AutoHyperlink = true; return md.Transform(input); }
public MarkdownFormat() { markdown = new MarkdownSharp.Markdown(); this.WatchForModifiedPages = true; this.MarkdownBaseType = typeof(MarkdownViewBase); this.MarkdownGlobalHelpers = new Dictionary<string, Type>(); this.FindMarkdownPagesFn = FindMarkdownPages; this.MarkdownReplaceTokens = new Dictionary<string, string>(); }
public static string TranslateWithStyle(string markdownText) { var lMarkdown = new MarkdownSharp.Markdown(); var lStyleSheet = Properties.Resources.PreviewStyleSheet; var lHeader = Properties.Settings.Default.MarkdownStyleHeader + lStyleSheet + Properties.Settings.Default.MarkdownBodyHeader; var lBody = lMarkdown.Transform(markdownText); var lFooter = Properties.Settings.Default.MarkdownBodyFooter; return lHeader + lBody + lFooter; }
public IResult Render(AtomInstance atom) { var transformer = new MarkdownSharp.Markdown(); var markdown = atom.Properties.Get("markdown"); var html = transformer.Transform(markdown); return(new Result(viewHelper => viewHelper.RenderPartial("Markdown", html))); }
/// <summary> Transform markdown to html. </summary> static string GenerateHtml(string markdown) { var parser = new MarkdownSharp.Markdown(new MarkdownSharp.MarkdownOptions() { AutoNewLines = true }); string result = parser.Transform(markdown); return(html_head + result + html_tail); }
// Prepares a single chunk of code for HTML output and runs the text of its // corresponding comment through **Markdown**, using a C# implementation // called [MarkdownSharp](http://code.google.com/p/markdownsharp/). private static void Hightlight(List <Section> sections) { var markdown = new MarkdownSharp.Markdown(); foreach (var section in sections) { section.DocsHtml = markdown.Transform(section.DocsHtml); section.CodeHtml = System.Web.HttpUtility.HtmlEncode(section.CodeHtml); } }
public string Transform(string markdownText, string baseUrl) { // TODO Valutare se usare un'altra libreria per performance migliori // e perchè credo che questa non supporta il multithreading e bisogna ricreare ogni volta l'istanza. Da verificare. var markdown = new MarkdownSharp.Markdown(); markdown.BaseUrl = baseUrl; return markdown.Transform(markdownText); }
public static string TranslateWithStyle(string markdownText) { var lMarkdown = new MarkdownSharp.Markdown(); var lStyleSheet = Properties.Resources.PreviewStyleSheet; var lHeader = Properties.Settings.Default.MarkdownStyleHeader + lStyleSheet + Properties.Settings.Default.MarkdownBodyHeader; var lBody = lMarkdown.Transform(markdownText); var lFooter = Properties.Settings.Default.MarkdownBodyFooter; return(lHeader + lBody + lFooter); }
public static string RenderMarkdown(string input) { // string input = "code sample:\n\n <head>\n <title>page title</title>\n </head>\n"; MarkdownSharp.Markdown m = new MarkdownSharp.Markdown(); string strHTML = m.Transform(input); // strHTML = string.Format(PageTemplate, strHTML); m = null; return(strHTML); } // End Function RenderMarkdown
/// <summary> /// Gets the block with the given internal id. /// </summary> /// <param name="internalId">The internal id</param> /// <returns>The block content as html</returns> public static IHtmlString Get(string internalId) { using (var rep = new Goldfish.Blocks.Api()) { var block = rep.GetByInternalId(internalId); if (block != null) { var converter = new MarkdownSharp.Markdown(); return new HtmlString(converter.Transform(block.Body)); } return new HtmlString(""); } }
// Prepares a single chunk of code for HTML output and runs the text of its // corresponding comment through **Markdown**, using a C# implementation // called [MarkdownSharp](http://code.google.com/p/markdownsharp/). private static void Hightlight(string source, List <Section> sections) { var markdown = new MarkdownSharp.Markdown(); for (var i = 0; i < sections.Count; i++) { var section = sections[i]; section.DocsHtml = markdown.Transform(section.DocsHtml); section.CodeHtml = System.Web.HttpUtility.HtmlEncode(section.CodeHtml); } }
private static string MarkdownReplace(string text) { if (string.IsNullOrEmpty(text)) { return(string.Empty); } var markdown = new MarkdownSharp.Markdown(); return(markdown.Transform(text)); }
public ActionResult Index(string returnUrl = null) { var settings = _wca.GetContext().CurrentSite.As<SplashScreenSettingsPart>(); var markdown = new MarkdownSharp.Markdown(); return View(new SplashScreenViewModel { AcceptButtonText = settings.AcceptButtonText, RedirectUrl = settings.RedirectUrl, RejectButtonText = settings.RejectButtonText, ReturnUrl = returnUrl, SplashScreenContents = markdown.Transform(settings.SplashScreenContents) }); }
public override string Compile([NotNull] IFieldCompileContext context, [NotNull] Field field) { var indicator = GetIndicatorToken(context.Configuration); // Trim indicator var wip = field.Value.Substring(indicator.Length); var transformer = new MarkdownSharp.Markdown(); wip = transformer.Transform(wip); return wip; }
static HtmlString FormatMarkdown(string value) { if (String.IsNullOrWhiteSpace(value)) return null; var md = new MarkdownSharp.Markdown(); //if (convertToCode) value = ConvertToCode(value); var result = md.Transform(value); return new HtmlString(result); }
public static string ConvertToHtml(string mdStr) { try { MarkdownSharp.Markdown mds = new MarkdownSharp.Markdown(); return(mds.Transform(mdStr)); } catch (Exception ex) { return("Convert MarkDown To HTML Faile!"); } }
public StandardTranslator() { const string pattern = @"^```[ \t]*(\S*)[ \t]*\r?\n(.*?)\r?\n```[ \t]*\r?$"; _markdownParser = new MarkdownSharp.Markdown(); _codeColorizer = new CodeColorizer(); _codeBlockRegex = new Regex( pattern, RegexOptions.Singleline | RegexOptions.Multiline | RegexOptions.Compiled ); }
public MarkdownFormat() { markdown = new MarkdownSharp.Markdown(); //Note: by default MarkdownDeep is used this.MarkdownBaseType = typeof(MarkdownViewBase); this.MarkdownGlobalHelpers = new Dictionary<string, Type>(); this.FindMarkdownPagesFn = FindMarkdownPages; this.ReplaceTokens = new Dictionary<string, string>(); //Skip scanning common VS.NET extensions this.SkipPaths = new List<string> { "/obj/", "/bin/", }; }
public static void Configure() { Mapper.CreateMap<User, UserInfo>() .ForMember(ui => ui.IsAuthenticated, opt => opt.UseValue(true)) .ForMember(ui => ui.IsAdmin, opt => opt.Condition((User u) => u is Administrator)); var markDown = new MarkdownSharp.Markdown(); Mapper.CreateMap<Service, ServiceSerializeInfo>() .ForMember(si => si.Lat, opt => opt.MapFrom(s => s.Location.Y)) .ForMember(si => si.Lng, opt => opt.MapFrom(s => s.Location.X)) .ForMember(si => si.Body, opt => opt.MapFrom(s => markDown.Transform(s.Body))); Mapper.CreateMap<User, EditUserModel>() .ForMember(si => si.Latitude, opt => opt.MapFrom(s => s.Location.Y)) .ForMember(si => si.Longitude, opt => opt.MapFrom(s => s.Location.X)); }
public string GetTemplate(string templateName, object model) { var viewLocationResult = this.renderContext.LocateView(templateName, model); if (viewLocationResult == null) { return "[ERR!]"; } var masterpartialContent = viewLocationResult.Contents.Invoke().ReadToEnd(); if (viewLocationResult.Extension == "md") { string html = string.Empty; if (viewLocationResult.Name == "master") { string header = masterpartialContent.Substring(masterpartialContent.IndexOf("<!DOCTYPE html>", System.StringComparison.Ordinal), masterpartialContent.IndexOf("<body>", System.StringComparison.Ordinal) + 6); string toConvert = masterpartialContent.Substring( masterpartialContent.IndexOf("<body>", System.StringComparison.Ordinal) + 6, (masterpartialContent.IndexOf("</body>", System.StringComparison.Ordinal) - 7) - (masterpartialContent.IndexOf("<body>", System.StringComparison.Ordinal))); string footer = masterpartialContent.Substring(masterpartialContent.IndexOf("</body>", System.StringComparison.Ordinal)); var parser = new MarkdownSharp.Markdown(); html = parser.Transform(toConvert); var regex = new Regex("<p>(@[^<]*)</p>"); var serverHtml = regex.Replace(html, "$1"); return header + serverHtml + footer; } else { var parser = new MarkdownSharp.Markdown(); html = parser.Transform(masterpartialContent); } return html; } return masterpartialContent; }
private async void pivot_SelectionChanged(object sender, SelectionChangedEventArgs e) { var pivot = sender as Pivot; if (pivot == null) { return; } // 入力されているテキストを保存する await SaveTextAsync(editorArea.Text); // markdownからhtmlに変換してプレビューページに表示する var markdown = new MarkdownSharp.Markdown(); var transHtml = markdown.Transform(editorArea.Text); previewArea.NavigateToString(transHtml); }
/// <summary> /// mini test harness for one-liner Markdown bug repros /// for anything larger, I recommend using the folder based approach and Test() /// </summary> private static void AdHocTest() { var m = new MarkdownSharp.Markdown(); //var m = new MarkdownSharp.MarkdownOld(); //string input = "<div class=\"inlinepage\">\n<div class=\"toggleableend\">\nfoo\n</div>\n</div>"; //string input = "Same thing but with paragraphs:\n\n1. First\n\n2. Second:\n\t* Fee\n\t* Fie\n\t* Foe\n\n3. Third\n\n"; //string input = "*\tthis\n\n\t*\tsub\n\n\tthat"; string input = "1. one\n\n code<t>\n\n2. two\n\n code<t>\n indented-12-spaces<t>\n\n"; string output = m.Transform(input); Console.WriteLine("input:"); Console.WriteLine(input); Console.WriteLine("output:"); Console.WriteLine(output); }