# Script Interpolation Within a `" #-> Julia tuples and vectors are serialized as Javascript array. Integers, boolean, and floating point values are handled. As special cases, `nothing` is represented using `undefined` and `missing` using `null`. v = Any[true, 1, 1.0, nothing, missing] @htl "" #-> This translation attempts to convert numbers properly. v = (-Inf, Inf, NaN, 6.02214e23) @htl "" #-> Dictionaries are serialized as a Javascript object. Symbols are converted to string values. v = Dict(:min=>1, :max=>8) @htl "" #-> Besides dictionary objects, we support named tuples. v = (min=1, max=8) @htl "" #-> String values are escaped to avoid ``, and `<\!-- no injection!" ## JavaScript Sometimes you already have content that is valid Javascript. This can be printed directly, without escaping using a wrapper similar to `HTML`: using HypertextLiteral: JavaScript expr = JavaScript("""console.log("Hello World")""") @htl "" #-> The `JavaScript` wrapper indicates the content should be directly displayed within a `"text/javascript"` context. We try to catch content which is not properly escaped for use within a `""" @htl "" #-> …ERROR: "Content within a script tag must not contain ``"⋮ Similarly, a comment sequence is also forbidden. expr = "" @htl "" #-> …ERROR: "Content within a script tag must not contain `