From 8aa032f60cd52e674a401f79b3cb473ac7d22abb Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Mon, 28 Aug 2023 21:39:02 +0530 Subject: [PATCH] fix: resolve snippets from original file path - align with include behavior --- src/node/markdown/plugins/snippet.ts | 7 +++---- src/node/markdownToVue.ts | 3 ++- types/shared.d.ts | 1 + 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/node/markdown/plugins/snippet.ts b/src/node/markdown/plugins/snippet.ts index 3874c3093a59..71dcf05b98c9 100644 --- a/src/node/markdown/plugins/snippet.ts +++ b/src/node/markdown/plugins/snippet.ts @@ -125,10 +125,9 @@ export const snippetPlugin = (md: MarkdownIt, srcDir: string) => { title ? `[${title}]` : '' }` - const resolvedPath = path.resolve( - path.dirname((state.env as MarkdownEnv).path), - filepath - ) + const { realPath, path: _path } = state.env as MarkdownEnv + const resolvedPath = path.resolve(path.dirname(realPath ?? _path), filepath) + // @ts-ignore token.src = [resolvedPath, region.slice(1)] token.markup = '```' diff --git a/src/node/markdownToVue.ts b/src/node/markdownToVue.ts index abf9be476326..e821f74c829b 100644 --- a/src/node/markdownToVue.ts +++ b/src/node/markdownToVue.ts @@ -128,7 +128,8 @@ export async function createMarkdownToVueRenderFn( path: file, relativePath, cleanUrls, - includes + includes, + realPath: fileOrig } const html = md.render(src, env) const { diff --git a/types/shared.d.ts b/types/shared.d.ts index dafa9415b3f0..f17d7c4a8d68 100644 --- a/types/shared.d.ts +++ b/types/shared.d.ts @@ -136,4 +136,5 @@ export interface MarkdownEnv { cleanUrls: boolean links?: string[] includes?: string[] + realPath?: string }