mirror of
https://github.com/withastro/astro.git
synced 2025-03-10 23:01:26 -05:00
exploration
This commit is contained in:
parent
51847a276f
commit
b5b8000eb8
4 changed files with 28 additions and 12 deletions
5
examples/minimal/src/pages/test.md
Normal file
5
examples/minimal/src/pages/test.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
# Hello world!
|
||||
|
||||
```html
|
||||
<h1>Hello world!</h1>
|
||||
```
|
|
@ -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",
|
||||
|
|
|
@ -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
6
pnpm-lock.yaml
generated
|
@ -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:
|
||||
|
|
Loading…
Add table
Reference in a new issue