Come andresti sull’analisi di Markdown?

Edit: Recentemente ho appreso di un progetto chiamato CommonMark, che identifica e tratta correttamente le ambiguità nella specifica originale di Markdown. http://commonmark.org/ Ha un ottimo supporto per la libreria C #.

Puoi trovare la syntax qui .

La fonte che segue il download è scritta in Perl , che non ho alcuna intenzione di onorare. È pieno di espressioni regolari e fa affidamento sugli hash MD5 per sfuggire a determinati personaggi. C’è qualcosa di sbagliato in questo!

Sto per codificare un parser per Markdown . Qual è l’esperienza con questo?

Se non hai nulla di significativo da dire sull’effettivo parsing di Markdown, risparmiami il tempo. (Potrebbe sembrare duro, ma sì, sto cercando intuizione, non una soluzione, cioè una libreria di terze parti).

Per aiutare un po ‘con le risposte, le espressioni regolari hanno lo scopo di identificare i modelli ! NON analizzare un’intera grammatica. Che la gente consideri di farlo è il foobar.

  • Se pensi a Markdown, è fondamentalmente basato sul concetto di paragrafi.
  • Come tale, un approccio ragionevole potrebbe essere quello di dividere l’input in paragrafi.
  • Esistono molti tipi di paragrafi, ad esempio titolo, testo, elenco, blockquote e codice.
  • La sfida è quindi quella di identificare questi paragrafi e in quale contesto si verificano.

Tornerò con una soluzione, una volta che la trovo degna di essere condivisa.