Prettify necesita class="prettyprint"
para agregar a <pre>
o <code>
. ¿Cómo dejar que WMD haga esto?¿Cómo combinar WMD y embellecer, como Stack Overflow?
Respuesta
Puede que le interese el Stack Overflow version of WMD on Github. Esta versión puede tener la función que está buscando en ella (pero no estoy seguro).
Con la ayuda de jquery y usando el plugin de temporizador, esto se puede hacer de la siguiente manera.
<html>
<head>
<title>My Page Title</title>
<link rel="stylesheet" type="text/css" href="wmd/wmd.css" />
<script type="text/javascript" src="wmd/showdown.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.timers.js"></script>
<link href="lib/prettify/prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="lib/prettify/prettify.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#wmd-input').keydown(function() {
$(this).stopTime();
$(this).oneTime(1000, function() { styleCode(); });
});
});
function styleCode(){
$("#wmd-preview pre").addClass("prettyprint");
$("#wmd-preview code").html(prettyPrintOne($("#wmd-preview code").html()));
}
</script>
</head>
<body onload="prettyPrint()">
<div style="width:400px;min-height: 500px;">
<div id="wmd-button-bar" class="wmd-panel"></div>
<br/>
<textarea id="wmd-input" class="wmd-panel"></textarea>
<br/>
<div id="wmd-preview" class="wmd-panel"></div>
<br/>
<div id="wmd-output" class="wmd-panel"></div>
</div>
<script type="text/javascript" src="lib/wmd/wmd.js"></script>
</body>
El mecanismo de lo anterior se describe here espero que ayude.
Ven a ver el editor de PageDown de rebajas ...
yo sepa, DMP está muerto, pero PageDown es un tenedor sobre la base de la fuente de armas de destrucción masiva.
Es un proyecto activo basado en el trabajo realizado en WMD. Eso se encarga del editor de Markdown. Para que funcione el resaltado de sintaxis, también deberá descargar la fuente del proyecto Google-Code-Prettify.
Combina el demo.html, demo.css, prettify.js, prettify.css en la misma carpeta.
modificar las importaciones en consecuencia:
<link rel="stylesheet" href="demo.css" />
<link rel="stylesheet" href="prettify.css" />
<script src="../Markdown.Converter.js"></script>
<script src="../Markdown.Sanitizer.js"></script>
<script src="../Markdown.Editor.js"></script>
<script src="prettify.js"></script>
Nota: Esto supone que los archivos de origen PageDown están en el directorio padre.
Para activar el resaltado de sintaxis, que tendrá que hacer dos cosas:
- Añadir la clase 'prettyprint' a todos los elementos de código '' generados por el editor.
- Dispare el evento prettyPrint() después de realizar un cambio.
Si se echa un vistazo en el código, he modificado el convertidor no desinfectada para hacer ambas cosas:
var converter2 = new Markdown.Converter();
converter2.hooks.chain("postConversion", function (text) {
return text.replace(/<pre>/gi, "<pre class=prettyprint>");
});
var editor2 = new Markdown.Editor(converter2, "-second");
editor2.hooks.chain("onPreviewRefresh", function() {
prettyPrint();
});
editor2.run();
para darle una idea de la flexibilidad. Google-Code-Prettify es la misma biblioteca que habilita el resaltado de sintaxis en code.google.com y stackoverflow.com.
Me tomó algo de tiempo descubrir cómo hacer que funcione, pero es increíble lo fácil que es implementarlo. Este es solo un ejemplo de demostración, pero no debería ser demasiado difícil extenderlo más.
Nota: Necesitaba llamar a 'PR.prettyPrint()' en lugar de 'prettyPrint()' para que la vista previa se actualizara. –
- 1. Etiqueta autocompleta como Stack Overflow
- 2. Cómo implementar la búsqueda como Stack Overflow
- 3. ¿Cómo obtener URLs limpias como Stack Overflow?
- 4. Mensaje de encabezado como en Stack Overflow
- 5. Haskell Stack Overflow
- 6. Cómo mostrar un mensaje emergente como en Stack Overflow
- 7. Cómo crear una paginación como Stack Overflow sitio
- 8. ¿Cómo incluye Stack Overflow los archivos Javascript?
- 9. Etiquetas que flotan como Stack Overflow utilizando jQuery
- 10. Stack Overflow Algoritmo de preguntas relacionadas
- 11. ¿Qué solución OpenID realmente usa Stack Overflow?
- 12. Iniciando sesión en Stack Overflow con cURL
- 13. WMD editor sanitizing
- 14. ¿Cómo puedo implementar filigranas similares a Stack Overflow en formularios?
- 15. Cómo implementar la función "¿Eres humano?" De Stack Overflow
- 16. ¿Cómo se usaría Lucene.NET para ayudar a implementar la búsqueda en un sitio como Stack Overflow?
- 17. Cómo crear un sistema de etiquetado como en Stack Overflow o Quora
- 18. ¿Cómo crear una vista visual diff como lo hace Stack Overflow?
- 19. Sistema de votación Stack Overflow/reddit en php
- 20. Ideas sobre la implementación de los comentarios al estilo Stack Overflow
- 21. ¿Cómo se almacena el descuento usando WMD en ASP.NET?
- 22. ¿Debo solicitar a las comunidades de programación en línea como Stack Overflow asesoramiento sobre licencias?
- 23. ¿Qué idiomas se usan en 404 Budgot de Stack Overflow?
- 24. Stack Overflow API: obtenga el "nuevo correo" del usuario. ¿notificación?
- 25. CSS overflow-y: visible, overflow-x: scroll
- 26. Cómo emular/crear css overflow-top y overflow-bottom?
- 27. Stack Stack
- 28. Overflow-y: auto y overflow-x: visible al mismo tiempo?
- 29. ¿Cómo embellecer JSON en Python?
- 30. C# matriz Combinar Sin duplicados
link http://www.codingthewheel.com/archives/syntax-highlighting-stackoverflow-google-prettify, is dead !! –