sabato 12 giugno 2010

Markdown

Markdown

Introduzione

Ci sono molti modi di pubblicare contenuti sul web, l'approccio classico e' scrivere qualcosa in un form. Nel caso in cui si abbia bisogno di dare una formattazione al contenuto, pero', le cose si fanno complicate. In sostanza, si ha bisogno di uno strumento che permetta di trasformare il "semplice" testo in formato html, mantenendone la leggibilita' in modo che si possano fare modifiche senza sforzo. C'e' differenza tra scrivere un articolo e pubblicare un articolo: Markdown e' uno strumento che permette la conversione dal formato testo al formato html, pensato per chi scrive contenuti per il web. Markdown e' composto di due aspetti:

  • Una sintassi da rispettare quando si scrive il documento di testo.
  • Un programma, scritto in Perl (ma con molte implementazioni in altri linguaggi) che converte il documento scritto in formato testo in un documento in formato xhtml (o html).

La sintassi di formattazione di Markdown e' stata concepita in modo da essere il piu' leggibile possibile.

Istallazione

La versione perl puo' essere semplicemente istallata col comando

# emerge Text-Markdown

,oppure la si puo' scaricare dal sito ufficiale. Per le altre versioni in altri linguaggi:

Sintassi Vim

Scaricare il file mkd.vim al seguente indirizzo:

mkd.vim

,e metterlo nella directory ${HOME}/.vim/syntax (se non esiste, crearla).

Fare in modo che vim carichi automaticamente la sintassi scaricata:

cat >> ${HOME}/.vim/filetype.vim <<EOF
" markdown filetype file
if exists("did\_load\_filetypes")
    finish
endif

augroup markdown
    au! BufRead,BufNewFile *.mkd   setfiletype mkd
augroup END
EOF

Aggiungere le seguenti linee a .vimrc:

cat >> ${HOME}/.vimrc <<EOF
"markdown features
augroup mkd
    autocmd BufRead *.mkd  set ai formatoptions=tcroqn2 comments=n:>
augroup END
EOF

Utilizzo

Facilissimo, per trasformare il file ${inputFile.mkd} in formato markdown nel file ${outputFile.html} in formato html, basta usare il comando seguente:

$ cat ${inputFile.mkd} | markdown > ${outputFile.html}

Nessun commento: