Syntax highlight blogin koodipätkiin
Yksivärisellä tekstillä kirjoitettuja koodilistauksia blogissa on raskasta lukea. En mitään joulukuusta halua koodiblokeistani rakentaa, mutta kaipaan maailmaani edes jotain väriä.
Tekstin värjäämisen, kuin monen muunkin asiaan webissä, voi tehdä joko valmiiksi palvelinpäässä tai vasta Javascriptillä selaimessa. Itse värjäyskoodia ei kiinnostanut alkaa kirjoittaa, joten etsin vaihtoehdoikseni kaksi kirjastoa: GeSHi ja SyntaxHighlighter.
GeSHi tekee muunnoksen PHP:lla palvelinpäässä, SyntaxHighlighter taas on Javascript-kirjasto. Valitsin jälkimmäisen, koska en halunnut projektiini lisää riippuvuuksia eri kielistä.
En löytänyt valmista Julia-värimääritelmää SyntaxHighlighterille, mutta GeSHi:lle taas jonkinlaisen version, jonka pohjalta sain tehtyä tarvittavat määritykset. Kielen avainsanojen ja sisäänrakennettujen funktioiden listaukset riittävät jo pitkälle.
Vielä piti tehdä Julian Markdown-kirjastoon muutama muutos, jotta merkkauskielen html-käännökseen tulee mukaan tarvittavat meta-tiedot värjäystä varten.
Nyt tekstiblokki tyyliin:
'''julia
using Gadfly
function f(x,y)
plot(x,y)
end
'''
(backtickit single-quotejen tilalla) muuttuu tällaiseksi:
using Gadfly
function f(x,y)
plot(x,y)
end
Määrityksiä voisi vielä tuunata enemmänkin, mutta eiköhän näillä alkuun pääse. Joudun myös käyttämään toistaiseksi omaa forkkia Markdown-paketista.
Linkit
- GeSHi - Generic Syntax Highlighter (PHP)
- Julia language file - for GeSHi
- SyntaxHighlighter - Javascript library
- Markdown.jl - My modified version of Markdown for Julia