You may recognize tags and attributes in Cirru are quite stright-forward. Methods make tags, and :attr generates attributes. And all it's Cirru grammar here.
doctype generates <DOCTYPE html>, actually Cirru only generates this one.
Using @ to insert load variables. It's available for innerText and attributes.
Somehow, customized methods are also supported, writing like this:
This is if syntax:
And block put a block of code into one:
List grammar is quite like that in logic-less template engines. @key and @value are writtern to that new scopes.
And here comes with which load data as a scope:
@insert is used to add raw file into Cirru HTML:
@partial is like "include" of other languages, but this time the loaded files should be in Cirru grammar.