mirror of
https://github.com/LBRYFoundation/lbry-tech.git
synced 2025-07-05 17:57:23 +00:00
41 lines
No EOL
1.2 KiB
Text
41 lines
No EOL
1.2 KiB
Text
---
|
|
import Markdown from '../layouts/Markdown.astro';
|
|
import rehypeAutolinkHeadings from 'rehype-autolink-headings';
|
|
import rehypeSlug from 'rehype-slug';
|
|
|
|
import markdown from 'markdown-wasm';
|
|
|
|
// import { markdown } from '@astropub/md'
|
|
|
|
|
|
let content = await (await fetch('https://raw.githubusercontent.com/lbryio/spec/master/index.md')).text();
|
|
// const md = await markdown(content.replace(`---
|
|
// layout: spec
|
|
// ---`, ''), {
|
|
// rehypePlugins: [
|
|
// [rehypeSlug as any],
|
|
// [rehypeAutolinkHeadings as any, { behavior: 'wrap' }]
|
|
// ]
|
|
// });
|
|
content = content.replace(`---
|
|
layout: spec
|
|
---`, '')
|
|
|
|
// Extract the headings from the markdown
|
|
const headings = content.match(/(?<flag>#{1,6})\s+(?<content>.+)/g).map(heading=>{
|
|
const text = heading.replaceAll('#', '').replace(' ', '');
|
|
return {
|
|
depth: heading.replace(/[^#]/g, "").length, // Get number of '#' a heading has
|
|
slug: text.replaceAll(' ', '-').toLowerCase(), // URL friendly path
|
|
text
|
|
}
|
|
});
|
|
|
|
---
|
|
|
|
<Markdown frontmatter={{
|
|
title: "Spec",
|
|
description: "*Alex Grintsvayg (grin@lbry.com), Jeremy Kauffman (jeremy@lbry.com)*"
|
|
}} headings={headings}>
|
|
{<Fragment set:html={markdown.parse(content)}/>}
|
|
</Markdown> |