laaghout is 'n sjabloon grammatika wat lyk, voel, en werk soos Python
las ('url')
las ('compress')
DOCTYPE ('html')
html:
& Nbsp; hoof:
& Nbsp; meta (charset = "utf-8")
& Nbsp; meta (name = "vertoonvenster", inhoud = "width = toestel-breedte; aanvanklike skaal = 1.0")
& Nbsp; titel:
& Nbsp; as titel:
& Nbsp; # docstrings n * is * gestroop van voorafgaande witspasie (hulle moet wees
& Nbsp; # ingekeep), en die eerste en laaste newline verwyder word.
& Nbsp; "" "
& Nbsp; {title} |
& Nbsp; "" "# string intepolation is 'n bietjie meer swaar as` .format () `, maar meer dieselfde as anders.
& Nbsp; 'Welkom' # karkaterkonstantes vereis aanhalings: - / I * kan * voeg 'n ander manier om dit te doen ...
& Nbsp; compress ('css'):
& Nbsp; skakel (rel = "style" type = "text / css" href = statiese ('css / reset.css'))
& Nbsp; skakel (rel = "style" type = "text / css" href = statiese ('css / welcome.css'))
& Nbsp; script (src = "// ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", type = "text / javascript")
& Nbsp; compress ('js'):
& Nbsp; script (src = statiese ("JS / underscore.js"), type = "text / javascript")
& Nbsp; script (src = statiese ("JS / backbone.js"), type = "text / javascript")
& Nbsp; ieif 'Dit IE 9':
& Nbsp; script (src = "// html5shiv.googlecode.com/svn/trunk/html5.js", type = "text / javascript")
& Nbsp; skakel (rel = "style" type = "text / css" href = statiese ('css / ie.css'))
& Nbsp; blokkie ('extra_head') # blokke, en blok erfenis? natuurlik!
& Nbsp; liggaam:
& Nbsp; div (class = "wrapper", id = "wrapper") # geen snelskrif vir die klas en id (nog)
& Nbsp; header:
& Nbsp; blokkie ('header'):
& Nbsp; p (class = "logo"):
& Nbsp; blokkie ('header_title'):
& Nbsp; as gebruiker:
& Nbsp; "Welkom, '{user.name}
& Nbsp; anders:
& Nbsp; 'Welkom'
& Nbsp; as current_member:
& Nbsp; p (class = "login"):
& Nbsp; "Welkom, {current_member.preferred_name}"
& Nbsp; 'n (href = url ("afteken")): 'Teken uit'
& Nbsp; nav:
& Nbsp; ul:
& Nbsp; blokkie ('nav'):
& Nbsp; li: 'n (href = url ("login")): 'Teken'
& Nbsp; artikel class = "bread crumb":
& Nbsp; blokkie ('bread')
& Nbsp; artikel (class = "hoof"):
& Nbsp; blokkie ('boodskappe'):
& Nbsp; as boodskappe:
& Nbsp; ul (class = "boodskappe"):
& Nbsp; vir boodskap in boodskappe:
& Nbsp; li (class = message.tags): '{boodskap}
& Nbsp; script:
& Nbsp; #-kode literals, sodat vaardig redakteurs kan die bronkode kleur
& Nbsp; `` `javascript
& Nbsp; $ (dokument) .ready (funksie () {
& Nbsp; $ ("ul.messages") addClass ("lewendig".);
& Nbsp; var fade_out = _ (funksie () {
& Nbsp; this.addClass ("vervaag-out")
& Nbsp;.}) Bind ($ ("ul.messages"))
& Nbsp; setTimeout (fade_out, 5000);
& Nbsp;. $ ("Ul.messages") bind ("klik", fade_out);
& Nbsp;});
& Nbsp; `` `
& Nbsp; blokkie ('inhoud')
& Nbsp; footer:
& Nbsp; # p:
& Nbsp; # 'Dit is kommentaar. "
& Nbsp; # span: '|'
& Nbsp; # '& kopie; 2012 CrossFit'
INSTALLASIE
& Nbsp; pit installeer laaghout
& Nbsp; ply
SINTAKSIS
Elke lyn begin met 'n verklaring, wat kan óf 'n funksie (div, blok) 'n letterlike (',' ''), of 'n kontrole verklaring (indien anders nie, want).
Funksies raak geroep met die argumente en 'n "blok":
# Argumente ((), {}), blok is Block ()
p
# Argumente ((), {"klas": "Divvy '}), blok is Block ()
div (class = "iemand te deel")
# Argumente (('autofocus'), {'id ":" bio "}), blok is Block (letterlike (' Dit is my bio '),)
textarea (autofocus, id = "bio"): "Dit is my bio '
Selfs al is daar geen "blok", sal jy ten minste by leë blok voorwerp wat jy block.render kan 'n beroep op. Dit sal "falsey" wees, al is, sodat jy kan kyk vir die bestaan van 'n blok. Die minimum "truthy" blok is 'n leë string. Dit beteken div '' sal gee jou 'n "truthy" blok, maar div sal 'n "falsey" blok.
Jy kan die kak uit te brei uit laaghout, want div, as, blok, die hele lot, is al geskryf as laaghout uitbreidings. Sonder die ingeboude uitbreidings, die taal kan nie eintlik enigiets doen, want dit is in sy kern net 'n grammatika.
WAAROM!?!?
Ek dink daar is ruimte vir 'n ander template taal.
Haml? Coffekup? Jade? Hulle lyk nie pythonic vir my.
Plain-Jane HTML? Sure, as jy wil. Dit is, dink ek, die beste alternatief vir laaghout.
Selfs die groot Django sjabloon taal is HTML gemaak nastier deur die invoeging van addisionele opmaak. Ek kyk na Jade en Haml as "ja, jy is daar steeds 'n" nie, maar hulle het nie spyker nie.
Ek is unapologettically n DIY-er. Ek dink dat dit soms wiele hoef net herontdek! Plus, dit het my 'n kans om te speel met die taal grammatikas, wat ek dink is pret. Ek gebruik Modgrammar
Vereistes :
- Python
Kommentaar nie gevind