kontrplak, görünüyor hissediyor bir şablon dili dilbilgisi ve Python gibi çalışır
Yük ('url')
Yük ('sıkıştırmak')
doctype ('html')
html:
& Nbsp; kafa:
& Nbsp; meta (charset = "utf-8")
& Nbsp; meta (isim = "viewport", içerik = "width = cihaz genişliği; ilk çaplı = 1.0")
& Nbsp; title:
& Nbsp; başlığı ise:
& Nbsp; # Docstringler * boşluk önceki arındırılmıştır * (bunlar olmalı
& Nbsp; # girintili) ve ilk ve son satır çıkartılır.
& Nbsp; "" "
& Nbsp; {title} |
& Nbsp; "" "# dizesi intepolation farklı daha ()`, ancak daha fazla benzer .format `biraz daha ağır olduğunu.
& Nbsp; 'Hoş geldiniz' # dize hazır tırnak gerektirir: - / I * kudreti * Bunu yapmak için başka bir yol eklemek ...
& Nbsp; ('css') sıkıştırmak:
& Nbsp; bağlantı (rel = 'stil', türü = 'text / css' href = statik ('css / reset.css'))
& Nbsp; bağlantı (rel = 'stil', türü = 'text / css' href = statik ('css / welcome.css'))
& Nbsp; komut (src = "// ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", type = "text / javascript")
& Nbsp; ('js') sıkıştırmak:
& Nbsp; komut (src = statik ("js / underscore.js"), type = "text / javascript")
& Nbsp; komut (src = statik ("js / backbone.js"), type = "text / javascript")
& Nbsp; ieif 'IE 9 lt':
& Nbsp; komut (src = "// html5shiv.googlecode.com/svn/trunk/html5.js", type = "text / javascript")
& Nbsp; bağlantı (rel = 'stil', türü = 'text / css' href = statik ('css / ie.css'))
& Nbsp; bloğu ('extra_head') # blokları ve blok miras? tabi tabi!
& Nbsp; vücut:
& Nbsp; div (class = "sarıcı", id = "sarıcı") # (henüz) sınıf ve kimliği için hiçbir steno
& Nbsp; başlık:
& Nbsp; bloğu ('başlığı'):
& Nbsp; p (class = "logosu"):
& Nbsp; blok ('header_title'):
& Nbsp; kullanıcı eğer:
& Nbsp; 'Hoş geldiniz' {} user.name '
& Nbsp; else:
& Nbsp; 'Hoş geldiniz'
& Nbsp; current_member eğer:
& Nbsp; p (class = "login"):
& Nbsp; "Hoş geldiniz, {} current_member.preferred_name"
& Nbsp; (href = url () "çıkış"): 'Log Out'
& Nbsp; nav:
& Nbsp; ul:
& Nbsp; bloğu ('nav'):
& Nbsp; li: Bir (href = url ("giriş")): 'Giriş'
& Nbsp; bölümü class = "kırıntı":
& Nbsp; bloğu ('kırıntı')
& Nbsp; bölümü (class = "main"):
& Nbsp; bloğu ('mesajları'):
& Nbsp; mesajlar, eğer:
& Nbsp; ul (class = "mesajlar"):
& Nbsp; mesajlarda mesajın:
& Nbsp; li (class = message.tags): '{mesaj}'
& Nbsp; komut:
& Nbsp; # kodu değişmezleri, anlayışlı editörler kaynak kodunu renk böylece
& Nbsp; `` `javascript
& Nbsp; $ (document) .ready (function () {
& Nbsp; $ ("ul.messages") addClass ("animasyon.");
& Nbsp; var fade_out = _ (function () {
& Nbsp; this.addClass ("fade-out")
& Nbsp;}.) Bağlamak ($ ("ul.messages"))
& Nbsp; setTimeout (fade_out, 5000);
& Nbsp;. $ ("Ul.messages") (, fade_out "tık") bağlayarak;
& Nbsp;});
& Nbsp; `` `
& Nbsp; bloğu ('içerik')
& Nbsp; altbilgi:
& Nbsp; # p:
& Nbsp; # 'Bu yorumlar vardır. "
& Nbsp; # yayılma: '|'
& Nbsp; # '& copy; 2012 CrossFit'
MONTAJ
& Nbsp; kontrplak yüklemek pip
& Nbsp; katlı
SÖZDİZİMİ
Her satır bir işlev (div, blok) olabilir ya bir açıklamada, ile başlar değişmez ('', ''), ya da (eğer başka, için) bir kontrol deyimi.
Fonksiyonlar argümanları ve "blok" ile adlandırılan olsun:
# Argümanlar) ((() {}), blok blok are
p
# Argümanlar (() {'sınıf': 'bölmek'}), blok blok ise ()
div (class = "bölmek")
# Argümanlar (('otofokus'), {'id': 'bio'}), blok blok (Değişmez ('Bu benim biyo')) olduğunu
textarea (otofokus, id = "biyo"): 'Bu benim biyo'
Hayır "blok" olsa bile, sen üzerinde block.render arayabilirsiniz boş blok nesneye azından alırsınız. Yine de, "falsey" olacak, böylece bir bloğun varlığı için kontrol edebilirsiniz. Minimum "truthy" blok boş bir dizedir. Bu size bir "truthy" blok verecek div 'anlamına gelir, ancak div "falsey" blok olacak.
Div, blok, eğer, sürü, tüm kontrplak uzantıları olarak yazılır, çünkü kontrplak bok uzatabilirsiniz. Onun çekirdek sadece bir dil dilbilgisi de, çünkü yerleşik uzantıları olmadan, dil, aslında, hiçbir şey yapamadık.
NEDEN!?!?
Ben başka bir çiftleşmiş dili oda olduğunu düşünüyorum.
Haml? Coffekup? Jade? Bana pythonic görünmüyor.
Düz-Jane HTML? Tabii, eğer istersen. Yani, sanırım, kontrplak için en iyi alternatiftir.
Hatta büyük Django şablon dili HTML ek biçimlendirme takarak nastier yapılmış. Ben "evet, orada alıyoruz" olarak Jade ve Haml baktı, ama onlar bunu tırnak vermedi.
Ben unapologettically bir DIY-er değilim. Bazen tekerlekler sadece yeniden icatlar gerektiğini düşünüyorum! Ayrıca, bu bana eğlenceli olduğunu düşünüyorum dil gramerleri, oynamak için bir şans verdi.
- Python : I
Gereksinimler Modgrammar kullanıyorum
Yorum Bulunamadı