JSFiddle - React, Tailwind, and code Playground

HTML

<h1>lorem</h1>
<h3>ipsum</h3>
<h2>dolor</h2>
<h3>sit</h3> 
<h2>amet</h2>
    
<ol class='result'></ol>

CoffeeScript

$list=$('ol.result')
$parent=[]
$parent[1]=$list
last_depth=1
$el=0

$('h1, h2, h3, h4, h5, h6').each ()->
    # get depth from tag name
    depth = +@nodeName[1]
    if depth>last_depth
        $parent[depth]=$('<ol>').appendTo($el)
    $el = $("<li>").text($(this).text())
    $parent[depth].append $el
    last_depth=depth