c# - file readalltext
Cómo usar ASP.NET MVC 3 y Stackoverflow''s Markdown (4)
He estado investigando durante unas horas y no pude encontrar ninguna fuente real para esto. Estoy construyendo un sitio en ASP.NET MVC 3 y me gustaría aprovechar el editor de Markdown que usa StackOverflow. ¿Alguien tiene un buen tutorial?
¿Dónde descargas la última rebaja? ¿En qué idioma está escrito? ¿Dónde comenzaría a integrar esto en un proyecto de MVC 3? Incluso después de todas las búsquedas y lecturas que hice, todavía estoy bastante confundido.
Encontré un sitio. http://daringfireball.net/projects/markdown/ Pero esto parece muy viejo y parece que tendría que aprender algo sobre CGI y PERL con el que no tengo absolutamente ninguna experiencia. Una versión de javascript / jQuery sería espléndida. Cualquier idea, enlace, referencia es mucho más apreciada.
ACTUALIZAR
Noté que esta pregunta está recibiendo una buena cantidad de visitas, así que decidí actualizarla con algunas referencias útiles. Me las arreglé para obtener un editor de Markdown trabajando muy bien en CodeTunnel.com y escribí algunos blogs al respecto. Con suerte, ayudan a cualquiera que se encuentre con esta pregunta.
Probablemente estés buscando MarkdownSharp
Implementación de código abierto C # del procesador Markdown, como se muestra en .
Para integrarlo en una aplicación MVC:
En un controlador común o hasta, agregue el siguiente método de acción
public ActionResult FormatMarkdown(string markdownText) { var md = new MarkdownSharp.Markdown(); string html = md.Transform(markdownText); return Json(html, JsonRequestBehavior.AllowGet); }
en su vista lateral del cliente:
@Html.TextArea("mdText", new { rows = 12, cols = 60 }) <div id="mdFormatted"></div>
y lado del cliente JS:
$(function () { var mdText = $("#mdText"); var mdFormatted = $("#mdFormatted"); function setFormatted(data) { mdFormatted.html(data); }; mdText.toObservable("keypress") .Throttle(200) .Subscribe(function () { $.getJSON("@VirtualPathUtility.ToAbsolute("~/Util/FormatMarkdown/")", { markdownText: mdText.val() }, setFormatted); })
Descargue RxJs (desde MSDN ) e incluya los siguientes dos archivos js
<script src="@Url.Content("~/Scripts/rx.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/rx.jquery.js")" type="text/javascript"></script>
Sé que esta pregunta es antigua pero me encontré con otra solución markdowndeep que es muy amigable con MVC
Se puede instalar a través de nuget PM> Install-Package MarkdownDeep.Full
// Create an instance of Markdown
var md = new MarkdownDeep.Markdown();
// Set options
md.ExtraMode = true;
md.SafeMode = false;
string output = md.Transform(input);
1. Copie los archivos js, css, png y htm suministrados a su servidor. Dependiendo de dónde coloque estos archivos en su servidor, es posible que deba actualizar las URL de la imagen en el archivo css.
2. Actualice su página para hacer referencia a jQuery, la biblioteca MarkdownDeep y el archivo MarkdownDeep css (de nuevo, puede necesitar cambiar las rutas).
<link rel="stylesheet" href="mdd_styles.css"
<script type="text/javascript" src="jQuery-1.4.2.min.js">
<script type="text/javascript" src="MarkdownDeepLib.min.js">
NB: MarkdownDeepLib.min.js es una versión empaquetada y minificada de MarkdownDeep.js, MarkdownDeepEditor.js y MarkdownDeepEditorUI.js. Para la depuración, puede hacer referencia a estos tres archivos en su lugar.
3.Inserte el editor de Markdown en su página de esta manera:
<div class="mdd_toolbar"></div>
<textarea cols=50 rows=10 class="mdd_editor"></textarea>
<div class="mdd_resizer"></div>
<div class="mdd_preview"></div>
Nota: los divs asociados son todos opcionales y si faltan, el plugin los creará. Sin embargo ... podrías experimentar la página saltando durante la carga si haces esto. es decir: se recomienda incluirlos explícitamente.
4.Called the MarkdownDeep plugin jQuery para convertir el textarea a MarkdownEditor
$("textarea.mdd_editor").MarkdownDeep({
help_location: "/Content/mdd_help.html",
disableTabHandling:true
});
Aunque realmente me gusta su producto, no estoy afiliado a los fabricantes de markdowndeep . Solo pensé que hicieron un buen producto
abrió su versión de Markdown al mundo. Se llama MarkdownSharp y está escrito en C #.
Alguien escribió un HtmlHelper aquí: http://blog.dantup.com/2011/03/an-asp-net-mvc-htmlhelper-extension-method-for-markdown-using-markdownsharp
Si está buscando cómo implementar un editor de JavaScript, existe una pregunta existente: Integrar el editor de texto de Markitup al proyecto ASP.NET MVC
Esta pregunta es antigua, pero solo estoy dejando una respuesta aquí para que los futuros lectores puedan beneficiarse de ella.
He usado MarkdownSharp v1.13, NO desinfecta su salida html. Por ejemplo, si escribe:
<script type="text/javascript">alert("Hacked");</script>
En su campo de entrada, la salida de MarkdownSharp contiene el mismo script. Por lo tanto, expone su sitio web a la vulnerabilidad XSS.
Lea esto del artículo de en PageDown:
Cabe señalar que Markdown no es seguro en lo que respecta a la entrada ingresada por el usuario. Casi todo es válido en Markdown, en particular algo como
<script>doEvil();</script>
. Este repositorio de PageDown incluye los dos complementos que Stack Exchange usa para desinfectar la entrada del usuario; vea la descripción de Markdown.Sanitizer.js a continuación.
Entonces, desde otro punto de vista, tal vez se suponía que Markdown no debía desinfectar su aporte en primer lugar y la implementación de MarkdownSharp simplemente se ajustaba a esos principios. Debo mencionar que usa MarkdownSharp en su lado del servidor.