vaneri on malli kieli kielioppi, joka näyttää, tuntuu ja toimii kuin Python
kuormitus ('url')
kuormitus ("pakkaa")
DOCTYPE (html)
html:
& Nbsp; head:
& Nbsp; meta (charset = "utf-8")
& Nbsp; meta (name = "viewport", content = "width = laite-leveys, alkuperäisen mittakaavan = 1.0")
& Nbsp; title:
& Nbsp; jos otsikko:
& Nbsp; # docstrings * ovat * riisuttu edellisen välilyönnillä (niiden on oltava
& Nbsp; # sisennetty), sekä ensimmäinen ja viimeinen rivinvaihto poistetaan.
& Nbsp; "" "
& Nbsp; {title} |
& Nbsp; "" "# merkkijono intepolation on hieman raskaiden kuin` .format () `, mutta enemmän kuin eroja.
& Nbsp; "Tervetuloa" # string literaaleja vaatia lainausmerkit: - / I * voimin * lisätä toisen tapa tehdä tämä ...
& Nbsp; pakata (jäljempänä CSS):
& Nbsp; link (rel = "stylesheet" type = "text / css", href = staattinen (css / reset.css '))
& Nbsp; link (rel = "stylesheet" type = "text / css", href = staattinen (css / welcome.css '))
& Nbsp; script (src = "// ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", type = "text / javascript")
& Nbsp; pakata (JS):
& Nbsp; script (src = staattinen ("js / Underscore.js"), type = "text / javascript")
& Nbsp; script (src = staattinen ("js / Backbone.js"), type = "text / javascript")
& Nbsp; ieif LT IE 9 ':
& Nbsp; script (src = "// html5shiv.googlecode.com/svn/trunk/html5.js", type = "text / javascript")
& Nbsp; link (rel = "stylesheet" type = "text / css", href = staattinen (css / ie.css '))
& Nbsp; lohko (extra_head ') # lohkot, ja lohko perintö? tietysti!
& Nbsp; elin:
& Nbsp; div (class = "kääre", id = "kääre") # ei lyhenteenä luokan ja id (vielä)
& Nbsp; header:
& Nbsp; lohkon ('header'):
& Nbsp; p (class = "logo"):
& Nbsp; lohko (header_title '):
& Nbsp; jos käyttäjä:
& Nbsp; "Tervetuloa," {user.name} "
& Nbsp; muuta:
& Nbsp; "Tervetuloa"
& Nbsp; jos current_member:
& Nbsp; p (class = "login"):
& Nbsp; "Tervetuloa, {current_member.preferred_name}"
& Nbsp; (href = url ("logout")): "Kirjaudu ulos"
& Nbsp; nav:
& Nbsp; ul:
& Nbsp; lohko ("nav"):
& Nbsp; li: (href = url ("login")): "Kirjaudu"
& Nbsp; jakso class = "breadcrumb":
& Nbsp; lohko (breadcrumb ')
& Nbsp; § (class = "main"):
& Nbsp; lohko ('viestit'):
& Nbsp; jos viestit:
& Nbsp; ul (class = "viestit"):
& Nbsp; viesti viesteissä:
& Nbsp; li (class = message.tags): "{message}"
& Nbsp; käsikirjoitus:
& Nbsp; # koodi literaaleja, jotta taju toimittajat voivat värittää lähdekoodi
& Nbsp; `` `javascript
& Nbsp; $ (document) .ready (function () {
& Nbsp; $ ("ul.messages"). AddClass ("animoida");
& Nbsp; var fade_out = _ (function () {
& Nbsp; this.addClass ("häivytys")
& Nbsp;}). Sitoa ($ ("ul.messages"))
& Nbsp; setTimeout (fade_out, 5000);
& Nbsp; $ ("ul.messages"). Bind ("klikkaa", fade_out);
& Nbsp;});
& Nbsp; `` `
& Nbsp; lohko ("sisältö")
& Nbsp; footer:
& Nbsp; # p:
& Nbsp; # 'Nämä ovat kommentteja. "
& Nbsp; # jakso: '|'
& Nbsp; # "& copy; 2012 CrossFit"
Asennus
& Nbsp; PIP asentaa vaneri
& Nbsp; kerros
SYNTAX
Jokainen rivi alkaa selvitys, joka voi olla joko funktio (div, lohko) kirjaimellinen (',' ''), tai ohjaus lausunto (jos muu, sillä).
Toiminnot kutsutaan, kanssa argumentteja ja "block":
# Perustelut ovat (() {}), lohko on Block ()
p
# Perustelut ovat ((), {"luokka": "osinko"}), lohko on Block ()
div (class = "osinko")
# Perustelut ovat ((automaattitarkennus), {"id": "bio"}), lohko on Block (kirjaimellinen ("Tämä on minun bio),)
textarea (automaattitarkennus, id = "bio"): "Tämä on minun bio"
Vaikka ei ole "block", saat ainakin tyhjällä lohkossa objekti, voit soittaa block.render päälle. Se on "falsey", vaikka, joten voit tarkistaa onko lohkon. Vähintään "truthy" lohko on tyhjä merkkijono. Tämä tarkoittaa div '' antaa sinulle "truthy" block, mutta div tulee "falsey" block.
Voit laajentaa paska pois vaneri, koska div, jos lohko, paljon, ovat kaikki kirjoitettu vaneri laajennuksia. Ilman sisäänrakennettu laajennukset, kieli ei voinut itse tehdä mitään, koska se on sen ydin vain kielen kielioppia.
MIKSI!?!?
Mielestäni on tilaa toiselle mallineainetta kieltä.
Haml? Coffekup? Jade? Ne eivät näytä pythonic minulle.
Plain-Jane HTML? Toki, jos haluat. Eli luulen, paras vaihtoehto vaneria.
Jopa suuri Django mallin kieli on HTML tehnyt nastier lisäämällä ylimääräisiä markup. Katsoin Jade ja Haml kuin "joo, saatko siellä", mutta he eivät kynsien sitä.
Olen unapologettically DIY-er. Luulen, että joskus pyörät täytyy vain uudelleen keksimisestä! Plus, tämä antoi minulle mahdollisuuden pelata kielen kieliopit, jotka mielestäni ovat hauskoja. Käytän Modgrammar
Vaatimukset :
- Python
Kommentteja ei löytynyt