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

comments powered by Disqus
2014-09-30