public async Task <ActionResult> CollectionCreate(string userName, string Title, string Theme, string Description, string ShortDescription, string ImageUrl) { User User = await _userManager.FindByNameAsync(userName); string[] integers = Request.Form["Int"]; string[] strings = Request.Form["Str"]; string[] dates = Request.Form["Date"]; string[] booles = Request.Form["Bool"]; string[] texts = Request.Form["Text"]; for (int i = 0; i < booles.Length; i++) { if (booles[i] == "$$$$$") { booles[i] = "Incorrect name"; } } Dictionary <string, string[]> dictionary = new Dictionary <string, string[]> { ["int"] = integers, ["str"] = strings, ["date"] = dates, ["bool"] = booles, ["text"] = texts }; string description = markdown.Transform(Description); string title = markdown.Transform(Title); Collection collection = new Collection { Id = Guid.NewGuid().ToString(), UserName = User.UserName, UserId = User.Id, nItems = 0, Title = title, Theme = Theme, Description = description, ShortDescription = ShortDescription, Fields = JsonSerializer.Serialize(dictionary), Img = ImageUrl, Type = "Collection", Date = DateTime.Now }; User.nCollections++; await _userManager.UpdateAsync(User); await _collectionContext.Collections.AddAsync(collection); await _collectionContext.SaveChangesAsync(); return(RedirectToAction("Collection", "Collection", new{ userName = userName, collectionId = collection.Id })); }
/// <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", ""); }
/// <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); }
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; }
public string Md2Html(string md) { string html = _md.Transform(md); html = string.Format(HTML_TMPL, CssText, html); return(html); }
public string Transform(string input) { var md = new MarkdownSharp.Markdown(); var outputContent = md.Transform(input); return outputContent; }
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); }
private void UpdateOutput() { string outputHtml = markdown.Transform(inputTextBox.Text); outputWebBrowser.DocumentText = Style + outputHtml; //outputRichTextBox.Text = outputHtml; }
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 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> /// Get the contents of a template /// </summary> /// <param name="templateName">Name/location of the template</param> /// <param name="model">Model to use to locate the template via conventions</param> /// <returns>Contents of the template, or null if not found</returns> public string GetTemplate(string templateName, object model) { var viewLocationResult = this.renderContext.LocateView(templateName, model); if (viewLocationResult == null) { return("[ERR!]"); } string templateContent; using (var reader = viewLocationResult.Contents.Invoke()) templateContent = reader.ReadToEnd(); if (viewLocationResult.Name.ToLower() == "master" && validExtensions.Any(x => x.Equals(viewLocationResult.Extension, StringComparison.OrdinalIgnoreCase))) { return(MarkdownViewengineRender.RenderMasterPage(templateContent)); } if (!validExtensions.Any(x => x.Equals(viewLocationResult.Extension, StringComparison.OrdinalIgnoreCase))) { using (var reader = viewLocationResult.Contents.Invoke()) return(reader.ReadToEnd()); } return(parser.Transform(templateContent)); }
/// <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 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 string FormatBody(string link) { var engine = new MarkdownSharp.Markdown(); var html = engine.Transform(Markdown.Replace("{LINK}", link)); return(html); }
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); } }
string GetHTMLText(string text, bool extraSpace) { StringBuilder html = new StringBuilder(); html.AppendLine("<html><head>") .AppendLine("<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">") .AppendLine("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">") .AppendFormat("<link rel='stylesheet' href='{0}'/>", MarkdownCssPath).AppendLine() .AppendLine("<script>function getVerticalScrollPosition() {return document.body.scrollTop.toString();} function setVerticalScrollPosition(position) {document.body.scrollTop = position;}</script>") .AppendLine("</head><body>"); markdownTransform.SkipIncludes = MarkdownSettings.SkipIncludeProcessing; markdownTransform.HideIncludeDivs = MarkdownSettings.HideIncludeDivs; markdownTransform.SkipImages = MarkdownSettings.SkipImages; markdownTransform.HideImages = MarkdownSettings.HideImages; html.AppendLine(markdownTransform.Transform(text, markdownDocumentPath)); if (extraSpace) { for (int i = 0; i < 20; i++) { html.Append("<br />"); } } html.AppendLine("</body></html>"); return(html.ToString()); }
/// <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; }
/// <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; }
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 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 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);"); }
private static string MarkdownReplace(string text) { if (string.IsNullOrEmpty(text)) return string.Empty; var markdown = new MarkdownSharp.Markdown(); return markdown.Transform(text); }
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>"); }
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); }
private string ConvertToHtml(string source) { var md = new MarkdownSharp.Markdown(); md.AddExtension(new GitHubCodeBlockExtension()); var html = md.Transform(source); html = CleanHtml(html); return html; }
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>"); }
/// <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)); }
public string Transform(string input) { var md = new MarkdownSharp.Markdown(); return md.Transform(input); //var md = new anrControls.Markdown(); //return md.Transform(input); }
public void WriteMain(string title, string about) { StreamWriter writer = new StreamWriter("index.html", false, Encoding.UTF8); WriteHtmlHeader(ref writer, title); writer.WriteLine("<frameset cols=\"230,*\" title=\"index\">"); writer.WriteLine("<frame src=\"frame_index.html\" name=\"index\" id=\"index\" title=\"インデックス\" />"); writer.WriteLine("<frame src=\"about.html\" name=\"main\" id=\"main\" title=\"内容\" />"); writer.WriteLine("<noframes><body>フレーム対応のブラウザでご覧ください</body></noframes>"); writer.WriteLine("</frameset>"); writer.WriteLine("</html>"); writer.Close(); writer = new StreamWriter("about.html", false, Encoding.UTF8); WriteHtmlHeader(ref writer, title); writer.WriteLine("<body>"); writer.WriteLine(Markdown.Transform(about)); writer.WriteLine("</body>"); writer.WriteLine("</html>"); writer.Close(); WriteIndex(); WriteHtml(this, ""); }
public string ConvertToMarkdown(string str) { var options = new MarkdownSharp.MarkdownOptions(); options.AutoHyperlink = true; var md = new MarkdownSharp.Markdown(options); return(md.Transform(str)); }
public static string Convert(string markdownContent) { MarkdownSharp.Markdown markdown = new MarkdownSharp.Markdown { AutoNewLines = true, AutoHyperlink = true }; return(markdown.Transform(markdownContent)); }
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))); }
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 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 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); }
/// <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); } }
/// <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(""); } }
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
private static string MarkdownReplace(string text) { if (string.IsNullOrEmpty(text)) { return(string.Empty); } var markdown = new MarkdownSharp.Markdown(); return(markdown.Transform(text)); }
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); }
// 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); } }
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; }
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 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) }); }
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 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; }
/// <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); }
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); }
static void Main(string[] args) { try { var m = new MarkdownSharp.Markdown(); m.AutoHyperlink = true; m.StrictBoldItalic = true; string html = m.Transform(File.ReadAllText(args[0])); File.WriteAllText(args[1], html); } catch (Exception e) { Console.Error.Write(e.ToString()); } }
public ActionResult Create(ProjectEditModel project) { if (ModelState.IsValid) { var md = new MarkdownSharp.Markdown(); var proj = new Project { Name = project.Name, Description = md.Transform(project.DescriptionMarkdown),//TODO sanitise, see jeff atwoods sanitizer http://refactormycode.com/codes/333-sanitize-html (its currently offline) DescriptionMarkdown = project.DescriptionMarkdown, Conception = DateTime.Now, Conceivers = new List<User> { _userRepository.GetCurrentUser() } }; _projectRepository.Create(proj); return Json(new { success = true }); } return PartialView("EditModal", project); }
public static Document GetContentPage(string pageId) { pageId = pageId.Replace(Path.PathSeparator, ' ') .Replace(Path.VolumeSeparatorChar, ' ') .Replace(Path.AltDirectorySeparatorChar, ' ') .Replace(Path.DirectorySeparatorChar, ' '); var path = Path.Combine(Settings.PagesPath, pageId + ".markdown"); if (!File.Exists(path)) return null; var contents = File.ReadAllText(path); var markdown = new MarkdownSharp.Markdown(); return new Document { Content = MvcHtmlString.Create(markdown.Transform(contents)), Id = pageId, Title = MvcHtmlString.Create(pageId), }; }
public static string ToHtml(string markdown) { var md = new MarkdownSharp.Markdown(); var result = md.Transform(markdown); // HACK: postprocessing to cleanup stuff result = Regex.Replace(result, "(\n)", "<br />"); if (result.EndsWith("<br />")) { result = result.Remove(result.Length - 6); } foreach (var tag in BlockLevelTags) { result = result.Replace("<" + tag + "><br />", "<" + tag + ">"); result = result.Replace("</" + tag + "><br />", "</" + tag + ">"); } return result; }
public ActionResult Index() { var markdown = new MarkdownSharp.Markdown(); var baseUri = new Uri(Request.Url.GetLeftPart(UriPartial.Authority)); var entries = _services.Entry.GetList() .OrderByDescending(e => e.DateCreated) .Take(10) .Select(e => new SyndicationItem( e.Title, markdown.Transform(e.Markdown), new Uri(baseUri, Url.Action("Show", "Entry", new { id = e.Slug }, null)))); var feed = new SyndicationFeed( title: _services.Config.Current.Heading, description: _services.Config.Current.Tagline, feedAlternateLink: new Uri(baseUri, Url.Action("Index", "Feed")), items: entries); return new RssResult(feed); }
public string Transform(string source, bool external = true) { if (external) source = HttpUtility.UrlDecode(source); var md = new MarkdownSharp.Markdown(); var transformed = md.Transform(source); var start = "<p>```c#"; var end = "```</p>"; while (transformed.IndexOf(start, StringComparison.Ordinal) > -1) { var startIndex = transformed.IndexOf(start, StringComparison.Ordinal); var endIndex = transformed.IndexOf(end, startIndex, StringComparison.Ordinal); var firstHalf = transformed.Substring(0, startIndex); var secondHalf = transformed.Substring(endIndex + end.Length); var text = transformed.Substring(startIndex + start.Length, endIndex - startIndex - start.Length).Replace(">", ">").Replace("<", "<"); transformed = firstHalf + _highlighter.HighlightToHtml(HtmlRemoval.StripTagsRegexCompiled(text), "c#", "vs", lineNumberStyle: LineNumberStyle.table, fragment: false) + secondHalf; } /*if (external) return HttpUtility.UrlEncode(transformed);*/ return transformed; }
/// <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); }
public string FormatBody(string link) { var engine = new MarkdownSharp.Markdown(); var html = engine.Transform(this.Markdown.Replace("{LINK}", link)); return html; }