Sign in

    sexp-html

    HTML's s-expression representation

    s-exp
    html
    Download zip
    Author
    Version
    0.1.0
    License
    Apache-2.0
    Last updated
    5 months ago
    Downloads
    137

    #S-Expression Notation for HTML

    #Example

    • keep comments

      (% I want you to know since you came in my life)

      <!-- I want you to know since you came in my life -->

    • syntactic white spaces between terms will be ignored

      (p One hundred million and two thousand years from now (span (:style font-family: "Alegreya Sans SC", sans-serif) 爱してる) )

      <p>One hundred million and two thousand years from now <span style="font-family: \"Alegreya Sans SC\", sans-serif">爱してる</span> </p>

    • only parentheses need to be escaped

      (details (:open) (summary every day every night) \(I've been waiting to share my love with you\) you give light into the darkness skies )

      <details open> <summary>every day every night</summary> (I've been waiting to share my love with you) you give light into the darkness skies </details>

    • (~) emits a literal space, and (~tag ...) emits the normal element with one space on each side

      (p (~span hello)world)

      <p> <span>hello</span> world</p>

    • (# ...) emits an explicit raw text node and preserves the text after # exactly, including leading spaces and newlines

      The first whitespace character after # is only a separator and is not part of the text payload.

      (p (span hello) (# world))

      <p><span>hello</span> world</p>

    #Specification

    see SPEC.md.

    html_to_sexp

    fn html_to_sexp(source : String) -> Result[String, String]

    sexp_to_html

    fn sexp_to_html(source : String) -> Result[String, String]