From 070acfd3ca08265488bc38f6e43e13ae6726e0aa Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Sat, 11 Dec 2021 22:04:14 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20=20(markdown)=20fix=20multiple?= =?UTF-8?q?=20page=20footnotes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/FluxNote.vue | 2 +- src/hooks/useFile.hook.ts | 2 +- src/hooks/useMarkdown.hook.ts | 10 +++++++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/components/FluxNote.vue b/src/components/FluxNote.vue index 23ffbba..6748bf8 100644 --- a/src/components/FluxNote.vue +++ b/src/components/FluxNote.vue @@ -85,7 +85,7 @@ export default defineComponent({ const refProps = toRefs(props) const store = useUserRepoStore() useUserSettings() - const { renderString } = useMarkdown() + const { renderString } = useMarkdown(props.repo) const { listenToClick } = useLinks('note-display') const { stackedNotes, resetStackedNotes } = useQueryStackedNotes() const { scrollToFocusedNote } = useQueryStackedNotes() diff --git a/src/hooks/useFile.hook.ts b/src/hooks/useFile.hook.ts index f346dbc..c0f345d 100644 --- a/src/hooks/useFile.hook.ts +++ b/src/hooks/useFile.hook.ts @@ -5,7 +5,7 @@ import { useUserRepoStore } from '@/modules/repo/store/userRepo.store' import { getFileContent } from '@/modules/repo/services/repo' export const useFile = (sha: string, retrieveContent = true) => { - const { render } = useMarkdown() + const { render } = useMarkdown(sha) const store = useUserRepoStore() const { getCachedNote, saveCacheNote } = useNoteCache(sha) const fromCache = ref(false) diff --git a/src/hooks/useMarkdown.hook.ts b/src/hooks/useMarkdown.hook.ts index a13cba0..dbe7708 100644 --- a/src/hooks/useMarkdown.hook.ts +++ b/src/hooks/useMarkdown.hook.ts @@ -34,10 +34,14 @@ const md = new MarkdownIt({ }) .use(markdownItFootnote) -export const useMarkdown = () => { +export const useMarkdown = (defaultPrefix?: string) => { return { renderString: (content: string) => (content ? md.render(content) : ''), - render: (content: string) => - content ? md.render(decodeURIComponent(escape(atob(content)))) : '' + render: (content: string, prefix?: string) => + content + ? md.render(decodeURIComponent(escape(atob(content))), { + docId: defaultPrefix ?? prefix ?? '' + }) + : '' } }