No matching definitions.

html/transform

src/html/transform.tur

rewrite HTML at the token level as it streams past.

Since: 0.2.0

defn

html-sax-transform-opts

(html-sax-transform-opts [src : cstr opts : HtmlOpts f : (fn [SaxEvent])

transform HTML with explicit caps.

srcthe markup
optscaps (only the byte cap applies to tokenizing)
fone event in (owned), the events to write out

(Result String TransformError) -- the rewritten markup, owned by the caller; InputError only for the byte cap or memory, OutputError when the writer refuses what f returned.

(html-sax-transform-opts src (default-html-opts) sax-keep)

Since: 0.2.0

defn

html-sax-transform

(html-sax-transform [src : cstr f : (fn [SaxEvent])

transform HTML with the default caps.

srcthe markup
fone event in (owned), the events to write out

(Result String TransformError)

;; Drop every <script> start and end tag and the text between.
  (let [^mut in-script false]
    (html-sax-transform src
      (fn [ev : SaxEvent] : (Cons SaxEvent)
        (match ev
          (StartElement n _) (if (string=? n "script")
                               (do (set! in-script true) (sax-event-release ev) (tnil))
                               (sax-keep ev))
          (EndElement n)     (if (string=? n "script")
                               (do (set! in-script false) (sax-event-release ev) (tnil))
                               (sax-keep ev))
          _                  (if in-script
                               (do (sax-event-release ev) (tnil))
                               (sax-keep ev))))))

Since: 0.2.0

Internal definitions
__ht-finish-- internal: the tokenizer's outcome, then the writer's.