4 Ağustos 2011 Perşembe

Google Code Prettify Nasıl Kullanarak Kod Renklendirme Nasıl Yapılır?

Malum bir python programcıları olarak bir gezegenimiz var artık. Ne mutlu ki katılımcı olmak isteyen arkadaşlar gelmeye de başladılar. Ancak bir iki arkadaşı geri çevirmek zorunda kaldık zira onlardan ufak bir isteğimiz var. Kod bloklarını google-code-prettify ile renklendirmelerini istiyoruz. Bunun sebebi farklı farklı kod renklendirme sistemi ile gelen yazıları gezegen içerisinde düzgün gösteremiyor olmamız. Gezegen içerisinde google-code-prettify çalışıyor. Bu güzel aletin özellikleri ise şöyle:

  • Her hangi bir dil tanımlamasına ihtiyaç duymuyor, dilin ne olduğunu kendisi anlayıp renklendirmeyi yapıyor
  • Kod bloğu çeşitli sayılar, satır numaralarına sahip olsa da çalışıyor
  • Hafif, dosya boyutu küçük ve render işlemi sırasında browser'ı yormuyor
  • CSS kullanılarak temalandırılabiliyor
  • C, Bash, Xml benzeri kodları da renlendirebiliyor

Kullanımı ise çok basit, eğer inline bir kod verecekseniz örneğin aşağıdaki gibi bir cümle kuracak iseniz:

Bir listeyi oluşturmak için değişkenin karşısına liste elemanlarını sepet = ["elma", "armut", "cilek"] gibi köşeli parantez içerisine virgülle ayırarak vermeniz yeterlidir.

Sadece cümlede kod olarak belirtmek istediğiniz yeri "code" etiketi altıa alın ve sınıf ismi olarak "prettyprint" verin.

Eğer inline değil blok olarak kod verecekseniz örneğin aşağıdaki gibi bir şey çıkarmak istiyorsanız:

from os import uname, getcwd
from os.path import join
MACHINE_NAME = uname()[1]

if MACHINE_NAME == "XXX.webfaction.com":
    DOCUMENT_ROOT = "/path/to/document/"
else:
    DOCUMENT_ROOT = getcwd()
    DATABASE_ENGINE = 'sqlite3'
    DATABASE_NAME = join(DOCUMENT_ROOT,'sqlite3.db')

yine prettyprint sınıfı ile ancak bu sefer pre etiketi ile çerçeveleyerek bloğumuzu veriyoruz.

Yazıyı yazarken kodun gezegen içerisinde düzgün çıkması için yapmamız gerekenler sadece bu ikisi. Kendi blogunuzda çalışmasını sağlamak için ise ilgili js dosyasını ve tema galerisinden seçtiğiniz bir css dosyasını sayfa başında implemente ettikten sonra sayfanızın body etiketine onLoad="PrettyPrint()" parametresini vermeniz yetiyor.

Ayrıca isterseniz gezegenin html kodunu inceleyebilirsiniz.

1 yorum:

  1. Python gezegeninden haberim yoktu. Yeni blog alımı var mı gezegene?

    YanıtlaSil

Yorum yazan eller dert görmeye