::
::::  /hoon/snip/mar
  ::
/?    310
=,  html
|%
  ++  words  1
  ++  hedtal
    =|  met=marl
    |=  a=marl  ^-  [hed=marl tal=marl]
    ?~  a  [~ ~]
    ?.  ?=(%h1 n.g.i.a)
      ?:  ?=(%meta n.g.i.a)
        $(a t.a, met [i.a met])
      =+  had=$(a c.i.a)
      ?^  -.had  had
      $(a t.a)
    [c.i.a (weld (flop met) (limit words t.a))]
  ::
  ++  limit
    |=  [lim=@u mal=marl]
    =<  res
    |-  ^-  [rem=@u res=marl]
    ?~  mal  [lim ~]
    ?~  lim  [0 ~]
    =/  [lam=@u hed=manx]
      ?:  ?=(_;/(**) i.mal)
        [lim ;/(tay)]:(deword lim v.i.a.g.i.mal)
      [rem ele(c res)]:[ele=i.mal $(mal c.i.mal)]
    [rem - res]:[hed $(lim lam, mal t.mal)]
  ::
  ++  deword
    |=  [lim=@u tay=tape]  ^-  [lim=@u tay=tape]
    ?~  tay  [lim tay]
    ?~  lim  [0 ~]
    =+  wer=(dot 1^1 tay)
    ?~  q.wer
      [lim - tay]:[i.tay $(tay t.tay)]
    =+  nex=$(lim (dec lim), tay q.q.u.q.wer)
    [-.nex [(wonk wer) +.nex]]
--
::
::
=,  mimes:html
|_  [hed=marl tal=marl]
++  grad  %noun
::
++  grow                                                ::  convert to
  |%
  ++  mime
    =<  mime
    |%
    ++  elem  ;div:(h1:"*{hed}" div:"*{tal}")           ::  convert to %elem
    ++  hymn  ;html:(head:title:"snip" body:"+{elem}")  ::  convert to %hymn
    ++  html  (crip (en-xml hymn))                      ::  convert to %html
    ++  mime  [/text/html (as-octs html)]               ::  convert to %mime
    --
  ++  noun  [hed tal]
  --
++  grab  |%                                            ::  convert from
          ++  noun  ,[marl marl]                        ::  clam from %noun
          ++  elem  |=(a=manx (hedtal +.a))
--        --