piątek, 11 lipca 2008

Blog i kolorowanie kodu

Kobiety widzą kolory. A mężczyźni ? Dla mężczyzn łososiowy to yyy smak, fiołkowy może być zapach, pomarańcza to owoc, a kremowy? Masz na myśli kremową konsystencje chyba?
No dobrze, może płeć mniej piękną nie potrafi doradzić, czy do niebieskich oczu lepiej pasują lazurowe, czy turkusowe kolczyki jednak kilka kolorów nazwać umiemy! Podobno statystycznie od 6 do 8, a zdarzają się tacy co dobiją do 16. Pomijam oczywiście w statystyce artystów, im pokrewnych i spowinowaconych.

A ile kolorów rozróżniają programiści ?

Hmm, String, komentarz, identyfikator, słowo kluczowe, operator, liczba. Razem 6 - jak widać nie odbiegamy od przeciętnej.

Dobrze, a jak zmusić by na blogu kod był w kolorach?
  1. Kopiować kolorowy kod z edytora (jako HTML)
  2. Skorzystać z uniwersalnego skryptu zamieniającego kod na pokolorowany HTML
  3. Skorzystać ze skryptu JavaScript, który koloruje kod po stronie klienta
ad 1.
Używany edytor kodu musiałby umieć bezpośrednio zapisać kod w HTML lub (co częstrze) pozwolał na skopiowanie kolorowego kodu np. do Word, z którego można wysłać notkę bezpośrednio na blog lub zapisać do HTML. W takim rozwiązaniu każdy język będzie najpewniej miał własny styl kolorowania.

ad 2.
np. Quick Highlighter który obsługuje znacznie więcej języków niż jestem w stanie nazwać. Nawet Apache Log File, Lotus Script, czy robots.txt ! A zresztą po co pisać - menu skopiowane ze strony:

Select a language



Z ciekawych opcji - nazwy klas dla Javy mają automatycznie przypisany link, który pozwala na wyszukiwanie ich w google. Przy takim rozwiązaniu styl jest konsekwenty, a linie ponumerowane.

ad 3.
Najwygodniejsze rozwiązanie, po integracji wystarcza jeden tag, wybór języka i sam kod.
Czyli w przybliżeniu taki html:

<kod jezyk="obslugiwanyJezyk">
printf "Hello World"
...
</kod>

Zamienia się na kolorowy kod. I to wszystko na koszt klienta.
Właśnie tak działa SyntaxHighlighter, istnieją pluginy do WordPress i innych platform, które pozwalają na prostą integrację z blogiem. Są też inne rozwiązania np. highlight.js, czy google-code-prettify. Nie widze pluginu do Bloggera, wieć następny post będzie o integracji wybranego skryptu z Bloggerem.

Brak komentarzy: