Module: Antlers
- Defined in:
- lib/antlers.rb,
lib/antlers/lexer.rb,
lib/modules/props.rb,
lib/nodes/if_node.rb,
lib/antlers/parser.rb,
lib/nodes/for_node.rb,
lib/nodes/var_node.rb,
lib/antlers/version.rb,
lib/nodes/form_node.rb,
lib/nodes/html_node.rb,
lib/nodes/prop_node.rb,
lib/nodes/root_node.rb,
lib/nodes/slot_node.rb,
lib/support/queries.rb,
lib/antlers/elements.rb,
lib/nodes/yield_node.rb,
lib/interfaces/lexeme.rb,
lib/lexemes/if_lexeme.rb,
lib/modules/namespace.rb,
lib/modules/variables.rb,
lib/lexemes/for_lexeme.rb,
lib/lexemes/var_lexeme.rb,
lib/lexemes/form_lexeme.rb,
lib/lexemes/prop_lexeme.rb,
lib/lexemes/slot_lexeme.rb,
lib/interfaces/leaf_node.rb,
lib/lexemes/yield_lexeme.rb,
lib/interfaces/antler_node.rb,
lib/interfaces/branch_node.rb
Defined Under Namespace
Modules: ForLexeme, FormLexeme, IfLexeme, Lexeme, Namespace, PropLexeme, Props, Queries, SlotLexeme, VarLexeme, Variables, YieldLexeme
Classes: AntlerNode, BranchNode, Elements, ForNode, FormNode, HTMLNode, IfNode, LeafNode, Lexer, LexerError, Parser, PropNode, RootNode, SlotNode, VarNode, YieldNode
Constant Summary
collapse
- DEFAULT_ELEMENTS =
[:root, :html, :form, :for, :if, :prop, :slot, :yield, :var]
- VERSION =
'0.9.0'
Class Method Summary
collapse
Class Method Details
.ast(template:, namespace: nil, elements: ) ⇒ Object
15
16
17
18
|
# File 'lib/antlers.rb', line 15
def ast(template:, namespace: nil, elements: Elements[*DEFAULT_ELEMENTS])
sequence = Lexer.new(lexeme_types: elements[:lexeme]).parse(template:)
Parser.new(namespace:, node_types: elements[:node]).parse(sequence:, template:)
end
|
.render(ast:, current_binding:, parent_binding: nil, slot_node: nil) ⇒ Object
20
21
22
|
# File 'lib/antlers.rb', line 20
def render(ast:, current_binding:, parent_binding: nil, slot_node: nil)
ast.render(current_binding:, parent_binding:, slot_node:)
end
|