website/_includes/layouts/post.tsx

33 lines
763 B
TypeScript
Raw Normal View History

2023-08-05 17:32:29 -04:00
export const layout = "./base.tsx";
export default function({ children, toc }) {
2023-08-05 17:32:29 -04:00
return (
<>
{ toc.length > 0 &&
<nav class="toc">
<h2>Table of Contents</h2>
<ol>
{toc.map(item => (
<li>
<a href={`#${item.slug}`}>{item.text}</a>
{item.children.length > 0 &&
<ul>
{item.children.map(child => (
<li>
<a href={`#${child.slug}`}>{child.text}</a>
</li>
))}
</ul>
}
</li>
))}
</ol>
</nav>
}
<article>
{ children }
</article>
</>
2023-08-05 17:32:29 -04:00
);
}