Prettify da aggiungere a class="prettyprint"
da aggiungere a <pre>
o <code>
. Come consentire a WMD di fare questo?Come combinare WMD e prettify, come Stack Overflow?
risposta
Potresti essere interessato allo Stack Overflow version of WMD on Github. Questa versione potrebbe avere la funzione che stai cercando (ma non ne sono sicuro).
Con l'aiuto di jquery e utilizzando il plugin timer questo può essere fatto nel modo seguente.
<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>
Il meccanismo di cui sopra è descritto here Speranza che aiuta.
Date un'occhiata al l'editor PageDown Markdown ...
per quanto ne so, WMD è morto, ma PageDown è un fork in base alla sorgente WMD.
È un progetto attivo basato sul lavoro svolto in WMD. Questo si prende cura dell'editor Markdown. Per ottenere l'evidenziazione della sintassi funzionante dovrai anche scaricare l'origine dal progetto Google-Code-Prettify.
Combina demo.html, demo.css, prettify.js, prettify.css nella stessa cartella.
Modificare le importazioni di conseguenza:
<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: Questo presuppone che i file di origine PgGiù si trovano nella directory principale.
Per attivare l'evidenziazione della sintassi, è necessario fare due cose:
- aggiungere la classe 'prettyprint' a tutti gli elementi 'codice' generati dal curatore.
- Avvia l'evento prettyPrint() dopo aver apportato una modifica.
Se si dà un'occhiata al codice, ho modificato il convertitore non sterilizzate a fare entrambe le cose:
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();
Per dare un'idea della flessibilità. Google-Code-Prettify è la stessa libreria che abilita l'evidenziazione della sintassi su code.google.com e stackoverflow.com.
Mi ci è voluto un po 'di tempo per capire come farlo funzionare ma è incredibile quanto sia facile da implementare. Questo è solo un esempio dimostrativo ma non dovrebbe essere troppo difficile per estenderlo ulteriormente.
Nota: avevo bisogno di chiamare 'PR.prettyPrint()' invece di solo 'prettyPrint()' per l'anteprima da aggiornare. –
- 1. Aggiunta di un pulsante personalizzato all'editor WMD (Stack Overflow)
- 2. Come implementare la ricerca come Stack Overflow
- 3. Come ottenere URL puliti come Stack Overflow?
- 4. Come creare l'impaginazione come Stack Overflow site
- 5. Editor WMD sterilizzante
- 6. Come intercettare lo stack overflow con pthread?
- 7. Tag hovering come Stack Overflow utilizzando jQuery
- 8. Errore di "stack overflow"
- 9. Haskell - overflow stack C
- 10. C++ overflow dello stack
- 11. AppDomain.FirstChanceException e eccezione di overflow dello stack
- 12. Domande su pieghe e overflow dello stack
- 13. Come mostrare un messaggio popup come in Stack Overflow
- 14. Stack Overflow Algoritmo domande correlate
- 15. Come creare una visualizzazione visuale come fa Overflow dello stack?
- 16. Stack overflow alla riga 0
- 17. Stack Overflow Tag domanda Textbox
- 18. In che modo Overflow dello stack include i file Javascript?
- 19. Messaggio di intestazione proprio come a Stack Overflow
- 20. Come funzionano gli URL di overflow dello stack?
- 21. Come funzionano le notifiche desktop Overflow dello stack?
- 22. Come aggiungere l'utilità di caricamento all'editor wmd?
- 23. Come combinare Find() e AsNoTracking()?
- 24. Come combinare callLater e addCallback?
- 25. Come combinare Swing e SpringFramework?
- 26. Come combinare crossProject e DependsOn
- 27. Debug Stack errore di overflow in IE8
- 28. Overflow dello stack causato dalla funzione ricorsiva
- 29. Gestione dello stack overflow nei sistemi incorporati
- 30. WMD in Django Admin?
collegamento http://www.codingthewheel.com/archives/syntax-highlighting-stackoverflow-google-prettify, è morto !! –