diff options
Diffstat (limited to 'packages/astro/src')
-rw-r--r-- | packages/astro/src/@types/astro.ts | 8 | ||||
-rw-r--r-- | packages/astro/src/compiler/codegen/index.ts | 1 | ||||
-rw-r--r-- | packages/astro/src/compiler/index.ts | 8 |
3 files changed, 6 insertions, 11 deletions
diff --git a/packages/astro/src/@types/astro.ts b/packages/astro/src/@types/astro.ts index 1fbdd6282..bfb338cdc 100644 --- a/packages/astro/src/@types/astro.ts +++ b/packages/astro/src/@types/astro.ts @@ -1,4 +1,5 @@ import type { ImportSpecifier, ImportDefaultSpecifier, ImportNamespaceSpecifier } from '@babel/types'; +import type { AstroMarkdownOptions } from '@astrojs/markdown-support' export interface AstroConfigRaw { dist: string; @@ -9,12 +10,7 @@ export interface AstroConfigRaw { jsx?: string; } -export interface AstroMarkdownOptions { - /** Enable or disable footnotes syntax extension */ - footnotes: boolean; - /** Enable or disable GitHub-flavored Markdown syntax extension */ - gfm: boolean; -} +export { AstroMarkdownOptions } export interface AstroConfig { dist: string; projectRoot: URL; diff --git a/packages/astro/src/compiler/codegen/index.ts b/packages/astro/src/compiler/codegen/index.ts index 0b9780e16..b34077269 100644 --- a/packages/astro/src/compiler/codegen/index.ts +++ b/packages/astro/src/compiler/codegen/index.ts @@ -543,7 +543,6 @@ async function compileHtml(enterNode: TemplateNode, state: CodegenState, compile const { $scope: scopedClassName } = state.markers.insideMarkdown as Record<'$scope', any>; let { content: rendered } = await renderMarkdown(dedent(md), { ...(markdownOptions as AstroMarkdownOptions), - mode: 'astro-md', $: { scopedClassName: scopedClassName && scopedClassName.slice(1, -1) }, }); diff --git a/packages/astro/src/compiler/index.ts b/packages/astro/src/compiler/index.ts index 0f12cc7f0..f612e6165 100644 --- a/packages/astro/src/compiler/index.ts +++ b/packages/astro/src/compiler/index.ts @@ -3,7 +3,7 @@ import type { CompileResult, TransformResult } from '../@types/astro'; import type { CompileOptions } from '../@types/compiler.js'; import path from 'path'; -import { renderMarkdownWithFrontmatter } from '@astrojs/markdown-support'; +import { MarkdownRenderingOptions, renderMarkdownWithFrontmatter } from '@astrojs/markdown-support'; import { parse } from '@astrojs/parser'; import { transform } from './transform/index.js'; @@ -42,12 +42,12 @@ export async function convertAstroToJsx(template: string, opts: ConvertAstroOpti /** * .md -> .astro source */ -export async function convertMdToAstroSource(contents: string, { filename }: { filename: string }): Promise<string> { +export async function convertMdToAstroSource(contents: string, { filename }: { filename: string }, opts?: MarkdownRenderingOptions): Promise<string> { let { content, frontmatter: { layout, ...frontmatter }, ...data - } = await renderMarkdownWithFrontmatter(contents); + } = await renderMarkdownWithFrontmatter(contents, opts); if (frontmatter['astro'] !== undefined) { throw new Error(`"astro" is a reserved word but was used as a frontmatter value!\n\tat ${filename}`); @@ -75,7 +75,7 @@ async function convertMdToJsx( contents: string, { compileOptions, filename, fileID }: { compileOptions: CompileOptions; filename: string; fileID: string } ): Promise<TransformResult> { - const raw = await convertMdToAstroSource(contents, { filename }); + const raw = await convertMdToAstroSource(contents, { filename }, compileOptions.astroConfig.markdownOptions); const convertOptions = { compileOptions, filename, fileID }; return await convertAstroToJsx(raw, convertOptions); } |