code
<html><body><input type=file><ol /><script>(($)=>{var c,d,f,g,i=(j)=>{return $.querySelector(j)},k=(l,m,n)=>{return l.addEventListener(m,n)},a=i('input'),b=i('ol');k(a,'input',()=>{c=new FileReader();k(c,'load',(e)=>{JSON.parse(e.target.result).orderedItems.map((d)=>{g=d.object;"string"!==typeof g&&(f=$.createElement("li"),f.innerHTML='<a href="'+g.id+'">'+(g.content||g.published).replace(/<[^>]+>/g,'')+'</a>',b.appendChild(f))})});c.readAsText(a.files[0])})})(document);</script></body>
code
<!doctype html><html><body><input type=file><ol /><script>(($)=>{var a='input',b=new FileReader(),c,d,e=(x)=>$.querySelector(x),f=(x,y,z)=>x.addEventListener(y,z),g=e(a),h=e('ol');f(g,a,()=>{f(b,'load',()=>JSON.parse(b.result).orderedItems.map((x)=>{d=x.object;"string"===typeof d||(c=$.createElement("li"),c.innerHTML='<a href="'+d.id+'">'+(d.content||d.published).replace(/<[^>]+>/g,'')+'</a>',h.append(c))}));b.readAsText(g.files[0])})})(document)</script></body></html>
yeah! it's an in-browser Mastodon archive reader that fits in a toot!