So verwenden Sie ASP.NET MVC 3 und Markdown von Stack Overflow
Lesezeit: 5 Minuten
Chev
Ich konnte keine wirklichen Quellen dafür finden. Ich erstelle eine Website in ASP.NET MVC 3 und möchte den Markdown-Editor nutzen, den Stack Overflow verwendet. Hat jemand eine gute Anleitung?
Wo laden Sie den neuesten Markdown herunter? In welcher Sprache ist es geschrieben? Wo würde ich anfangen, dies in ein MVC 3-Projekt zu integrieren? Auch nach all dem Suchen und Lesen bin ich immer noch ziemlich verwirrt.
Ich bin gestoßen Diese Seite. Aber das scheint seltsam alt zu sein, und es scheint, als müsste ich ein bisschen etwas über CGI und Perl lernen, mit denen ich absolut keine Erfahrung habe. Eine JavaScript/jQuery-Version wäre großartig.
Aktualisieren
Mir ist aufgefallen, dass diese Frage ziemlich viele Aufrufe erhält, also habe ich beschlossen, sie mit einigen hilfreichen Referenzen zu aktualisieren. Ich habe es geschafft, einen Markdown-Editor auf meiner Website zum Laufen zu bringen, und ich habe ein paar Blogs darüber geschrieben.
Wenn Sie nach der Implementierung eines Javascript-Editors suchen, gibt es eine vorhandene Frage: Integrieren Sie den Markitup-Texteditor in das ASP.NET MVC-Projekt
Open-Source-C#-Implementierung des Markdown-Prozessors, wie auf Stack Overflow vorgestellt.
So integrieren Sie es in eine MVC-App:
Fügen Sie in einem until- oder allgemeinen Controller die folgende Aktionsmethode hinzu
public ActionResult FormatMarkdown(string markdownText)
{
var md = new MarkdownSharp.Markdown();
string html = md.Transform(markdownText);
return Json(html, JsonRequestBehavior.AllowGet);
}
// Create an instance of Markdown
var md = new MarkdownDeep.Markdown();
// Set options
md.ExtraMode = true;
md.SafeMode = false;
string output = md.Transform(input);
1.Kopieren Sie die mitgelieferten js-, css-, png- und htm-Dateien auf Ihren Server. Je nachdem, wo Sie diese Dateien auf Ihrem Server ablegen, müssen Sie möglicherweise die Bild-URLs in der CSS-Datei aktualisieren.
2. Aktualisieren Sie Ihre Seite so, dass sie auf jQuery, die MarkdownDeep-Bibliothek und die MarkdownDeep-CSS-Datei verweist (auch hier müssen Sie möglicherweise die Pfade ändern).
Hinweis: MarkdownDeepLib.min.js ist eine gepackte, minimierte Version von MarkdownDeep.js, MarkdownDeepEditor.js und MarkdownDeepEditorUI.js. Zum Debuggen können Sie stattdessen auf diese drei Dateien verweisen.
3. Fügen Sie den Markdown-Editor wie folgt in Ihre Seite ein:
Hinweis: Die zugehörigen Divs sind alle optional und wenn sie fehlen, erstellt das Plugin sie. Es kann jedoch vorkommen, dass die Seite während des Ladens herumspringt, wenn Sie dies tun. dh: es wird empfohlen, sie explizit einzuschließen.
4. Das MarkdownDeep jQuery-Plugin aufgerufen, um den Textbereich in einen MarkdownEditor umzuwandeln
Obwohl ich ihr Produkt wirklich mag Ich bin nicht mit den Machern von markdowndeep verbunden. Ich dachte nur, sie machten ein gutes Produkt
Vielen Dank. Das funktioniert wirklich. Aber leider ist der Editor nicht wirklich anpassbar. Beispielsweise können Sie das Vorschaufenster nicht deaktivieren. Wenn Sie es entfernen, wird es dynamisch erstellt. Also passe ich…
– Krisztián Balla
3. Juni 2014 um 11:57 Uhr
Adze
Diese Frage ist alt, aber ich hinterlasse hier nur eine Antwort, damit zukünftige Leser davon profitieren können.
Ich habe MarkdownSharp v1.13 verwendet, das tut es NICHT Bereinigen Sie Ihre HTML-Ausgabe. Wenn Sie beispielsweise Folgendes eingeben:
Es sollte beachtet werden, dass Markdown in Bezug auf Benutzereingaben nicht sicher ist. In Markdown ist so ziemlich alles gültig, insbesondere so etwas wie <script>doEvil();</script>. Dieses PageDown-Repository enthält die beiden Plugins, die Stack Exchange verwendet, um die Eingaben des Benutzers zu bereinigen; siehe die Beschreibung von Markdown.Sanitizer.js weiter unten.
Aus anderer Sicht sollte Markdown Ihre Eingabe vielleicht gar nicht bereinigen, und die MarkdownSharp-Implementierung entsprach nur diesen Prinzipien. Ich sollte erwähnen, dass Stackoverflow MarkdownSharp auf ihrer Serverseite verwendet.
13004600cookie-checkSo verwenden Sie ASP.NET MVC 3 und Markdown von Stack Overflowyes
StackOverflow verwendet die clientseitige PageDown-Markdown-Bibliothek. Code hier: code.google.com/p/pagedown/source/browse
– Aaron Hoffmann
1. Juli 2014 um 1:54 Uhr