View Source Hologram.Template.Parser (hologram v0.2.0)
Summary
Functions
Prints debug info for intercepted parse/3 calls.
Parses markup into tags.
Parses tokens into tags.
Types
@type parsed_tag() :: {:block_end | :block_start | :doctype | :end_tag | :expression | :public_comment_end | :public_comment_start | :self_closing_tag | :start_tag | :text, any()}
@type status() ::
:attribute_assignment
| :attribute_name
| :block_end
| :block_start
| :doctype
| :end_tag
| :end_tag_name
| :expression
| :text
| :start_tag
| :start_tag_name
Functions
Prints debug info for intercepted parse/3 calls.
@spec parse_markup(String.t()) :: [parsed_tag()]
Parses markup into tags.
Examples
iex> markup = "<div id="test"></div>"
iex> parse_markup(markup)
[start_tag: {"div", [{"id", [text: "test"]}]}, end_tag: "div"]
@spec parse_tokens(Hologram.Template.Parser.Context.t(), status(), [ Hologram.Template.Tokenizer.token() ]) :: [parsed_tag()]
Parses tokens into tags.
Examples
iex> tokens = [
...> symbol: "<",
...> string: "div",
...> whitespace: " ",
...> string: "id",
...> symbol: "=",
...> symbol: """,
...> string: "test",
...> symbol: """,
...> symbol: ">",
...> symbol: "</",
...> string: "div",
...> symbol: ">"
...> ]
iex> parse_tokens(tokens)
[start_tag: {"div", [{"id", [text: "test"]}]}, end_tag: "div"]