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