0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2025-03-10 23:01:26 -05:00

exploration

This commit is contained in:
Nate Moore 2022-08-11 06:15:32 -05:00
parent 51847a276f
commit b5b8000eb8
4 changed files with 28 additions and 12 deletions

View file

@ -0,0 +1,5 @@
# Hello world!
```html
<h1>Hello world!</h1>
```

View file

@ -97,6 +97,7 @@
"@babel/plugin-transform-react-jsx": "^7.17.12",
"@babel/traverse": "^7.18.2",
"@babel/types": "^7.18.4",
"@natemoore/markdown-wasm": "^1.2.1",
"@proload/core": "^0.3.2",
"@proload/plugin-tsm": "^0.2.1",
"ast-types": "^0.14.2",

View file

@ -1,4 +1,6 @@
import { renderMarkdown } from '@astrojs/markdown-remark';
// import { renderMarkdown } from '@astrojs/markdown-remark';
// @ts-ignore
import * as md from '@natemoore/markdown-wasm/dist/markdown.node.js';
import fs from 'fs';
import matter from 'gray-matter';
import type { Plugin } from 'vite';
@ -22,7 +24,7 @@ function safeMatter(source: string, id: string) {
throw collectErrorMetadata(e);
}
}
await md.ready;
export default function markdown({ config, logging }: AstroPluginOptions): Plugin {
return {
enforce: 'pre',
@ -36,17 +38,19 @@ export default function markdown({ config, logging }: AstroPluginOptions): Plugi
const { fileId, fileUrl } = getFileInfo(id, config);
const rawFile = await fs.promises.readFile(fileId, 'utf-8');
const raw = safeMatter(rawFile, id);
const renderResult = await renderMarkdown(raw.content, {
...config.markdown,
fileURL: new URL(`file://${fileId}`),
isAstroFlavoredMd: false,
} as any);
const html = await md.parse(raw.content);
// console.log({ result });
// const renderResult = await renderMarkdown(raw.content, {
// ...config.markdown,
// fileURL: new URL(`file://${fileId}`),
// isAstroFlavoredMd: false,
// } as any);
const html = renderResult.code;
const { headings } = renderResult.metadata;
const { frontmatter: injectedFrontmatter } = safelyGetAstroData(renderResult.vfile.data);
// const html = renderResult.code;
// const { headings } = renderResult.metadata;
// const { frontmatter: injectedFrontmatter } = safelyGetAstroData(renderResult.vfile.data);
const frontmatter = {
...injectedFrontmatter,
...{},
...raw.data,
url: fileUrl,
file: fileId,
@ -78,7 +82,7 @@ export default function markdown({ config, logging }: AstroPluginOptions): Plugi
return html;
}
export function getHeadings() {
return ${JSON.stringify(headings)};
return ${JSON.stringify([])};
}
export function getHeaders() {
console.warn('getHeaders() have been deprecated. Use getHeadings() function instead.');

6
pnpm-lock.yaml generated
View file

@ -392,6 +392,7 @@ importers:
'@babel/plugin-transform-react-jsx': ^7.17.12
'@babel/traverse': ^7.18.2
'@babel/types': ^7.18.4
'@natemoore/markdown-wasm': ^1.2.1
'@playwright/test': ^1.22.2
'@proload/core': ^0.3.2
'@proload/plugin-tsm': ^0.2.1
@ -475,6 +476,7 @@ importers:
'@babel/plugin-transform-react-jsx': 7.18.10_@babel+core@7.18.10
'@babel/traverse': 7.18.11
'@babel/types': 7.18.10
'@natemoore/markdown-wasm': 1.2.1
'@proload/core': 0.3.2
'@proload/plugin-tsm': 0.2.1_@proload+core@0.3.2
ast-types: 0.14.2
@ -5351,6 +5353,10 @@ packages:
preact: 10.10.2
dev: false
/@natemoore/markdown-wasm/1.2.1:
resolution: {integrity: sha512-LZcx7pKZi2pp1iTiWneCa8zDeSm57VKXlVJ/VLnYWKMSqsof48LhuMN5vt2uM6YLn0EHLiljlfT6Nbt6+3cgtQ==}
dev: false
/@netlify/edge-handler-types/0.34.1:
resolution: {integrity: sha512-YTwn8cw89M4lRTmoUhl9s8ljSGMDt7FOIsxsrx7YrRz/RZlbh4Yuh4RU13DDafDRBEVuRbjGo93cnN621ZfBjA==}
dependencies: