ASP: Markdown conversion
Con la sempre maggior diffusione dei blog e dei motori wiki sono nati diversi strumenti per semplificare la formattazione HTML.
Uno tra tutti è rappresentato dal progetto Markdown.
WordPress lo implementa in modo nativo ma dato che mi serviva per un lavoro in mavida con tecnologia asp ho incominciato a scriverne una mia versione/implementazione.
Per il momento è ad uno stato embrionale e supporta solamente titoli ed elenchi con la formattazione in grassetto, italico e sottolineato.
All’interno della funzione principale ci sono delle chiamate alla funzione ReReplace ( RegEx Replace) che effettua semplicemente la sostituzione della sintassi MarckDown tramite le esprissioni regolari.
$2
“)
sReturn = ReReplace( sReturn , “(## )([^#]*)(##)” , “
$2
“)
sReturn = ReReplace( sReturn , “(# )([^#]*)(#)” , “
$2
“)
‘
‘ em , strong , strike
sReturn = ReReplace( sReturn , “(__)([^_]*)(__)” , “$2“)
sReturn = ReReplace( sReturn , “(\*\*)([^\*]*)(\*\*)” , “$2“)
sReturn = ReReplace( sReturn , “(==)([^=]*)(==)” , “$2“)
‘
‘ li
sReturn = ReReplace( sReturn , “(\n)(\+ )(.*)” , “$1
“)
sReturn = ReReplace( sReturn , “(\n)(\- )(.*)” , “$1
“)
sReturn = ReReplace( sReturn , “(\n)(\* )(.*)” , “$1
“)
sReturn = ReReplace( sReturn , “(\n\r\n)(
- $2″)
sReturn = ReReplace( sReturn , “(
)(\n\r\n)” , “$1”)
‘
Markdown = sReturn
end function
A seguire alcuni esempi:
Per scrivere dei titoli possiamo usa questo carattere (#) ad inizio riga seguito da uno spazio e dal testo del titolo
## (##) titolo h2
### (###) titolo h3
Mentre per creare degli elenchi possiamo usare indifferentemente (+) (-) (*) con la stessa logica dei titolo
+ uno
* due
– tre
> Per usare delle indentazioni come questa
> sempre ad inizio riga inseriamo questo simbolo (>)
Per altri esempi vi suggerisco questo link mentre per una completa lista della sintassi vi rimando a questa pagina.