"""
HypertextLiteral
The `HypertextLiteral` module exports the `@htl` macro which implements
interpolation aware of hypertext escape context. It also provides for
escaping of JavaScript within the `"
```
This escaping of Julia values to JavaScript values is done with `js`
function, which is not exported by default.
```jldoctest
julia> v = "<1 Brown \\\"M&M's\\\"!";
julia> @htl "
"
```
There is also a non-standard string literal, `@htl_str` that is not
exported. It can be used with dynamically constructed templates.
See also: [`@htl`](@ref), [`HypertextLiteral.@htl_str`](@ref)
"""
module HypertextLiteral
@static if VERSION >= v"1.3"
using Tricks: static_hasmethod
end
export @htl, @htl_str
include("primitives.jl") # Wrap, Unwrap, EscapeProxy
include("macro.jl") # @htl macro and `Result` object
include("convert.jl") # runtime conversion of objects
include("style.jl") # printing of content within a style tag
include("script.jl") # printing of content within a script tag
include("lexer.jl") # interpolate string to macro expression
include("rewrite.jl") # macro optimizations called by interpolate
end