Domanda

Sto cercando di implementare l'editor WMD utilizzato su StackOverflow per creare alcune funzionalità di base in stile Wiki. Sono al punto in cui è tempo di salvare nel database, ma non sono sicuro di cosa dovrei salvare.

Se salvo l'HTML prodotto, posso recuperarlo e visualizzarlo correttamente, ma al momento della modifica mi trovo a dover modificare l'HTML, non Markdown. Tuttavia, se salvo Markdown non vedo alcun modo di riconvertirlo in HTML per visualizzarlo, e guardando StackOverflow invia l'HTML del browser.

Suppongo di non aver bisogno di salvare entrambi, quindi quale cosa semplice mi sto perdendo?

È stato utile?

Soluzione

Salva assolutamente il codice Markdown come inserito dall'utente.

Quindi avrai bisogno di un convertitore Markdown che lo convertirà in HTML per visualizzarlo.

Troverai molti di questi in
http://en.wikipedia.org/wiki/Markdown#Converters
e
http://markdown.infogami.com/

Vorrei votare contro l'uso di JS nel tuo caso. Sembra che ci sia una implementazione .NET ma non posso dirti quanto sia buona .

Durante il rendering della tua pagina dovrai passare il codice Markdown a un convertitore come sopra e quindi generare l'HTML restituito.

Se le prestazioni sono un problema, potresti anche considerare di salvare sia il codice Markdown (per successive modifiche) sia il codice HTML (per la visualizzazione) nel database. In questo modo verrà convertito una sola volta.

Altri suggerimenti

Suggerirei di salvare l'esatto testo inserito nel database, quindi la modifica funzionerà con il markdown originale o HTML.

Quando recuperi il testo per la visualizzazione, lo analizzi sul lato server e lo converti in HTML dove necessario

[Modifica] Al commento: Sembra che tu abbia già un modo di analizzare e convertire in HTML, se capisco correttamente la tua domanda. Qui parli dell'HTML prodotto.

  

Se salvo l'HTML prodotto, posso recuperarlo e visualizzarlo correttamente, ma al momento della modifica mi trovo a dover modificare l'HTML, non Markdown

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top