nuxt.js - 如何使用 Nuxt Content 渲染 Markdown 内容中的部分内容?

标签 nuxt.js vuejs3 markdown nuxt3 nuxt-content

在 Nuxt Content 中,我们可以通过在文件名前添加下划线来创建和声明 Markdown 部分,如下所述: https://content.nuxtjs.org/guide/writing/content-directory#partials

但是,文档除了提到可以通过 JS API 查询它们之外,没有包含如何实际使用这些部分的信息。

我期望能够轻松地从其他 Markdown 内容内联渲染这些部分内容,以便这些部分内容可以用于经常重用的内容片段,以避免重复所述内容。

如何从另一个 Markdown 文件中渲染 Markdown 部分?

最佳答案

没有任何方法可以做到这一点,您可以实现一个。

components/content 中创建一个名为 Partial.vue 的 Vue 组件。将其粘贴到您的 Partial.vue 文件中以呈现 Markdown 内容:

<template>
    <div>
        <ContentQuery :path="`/_partials/${content}`" find="one" v-slot="{ data }">
            <ContentRenderer :value="data">
                <template #empty>
                    <p>No content found.</p>
                </template>
            </ContentRenderer>
        </ContentQuery>
    </div>
</template>

<script setup>
defineProps({
    content: {
        default: "default"
    }
});
</script>

content/_partials/resue.md 中创建您希望稍后经常重复使用的部分 Markdown 内容:

Hi, This markdown file contains **reusable** content.

现在,在您的 Markdown 内容文件中,您可以通过调用此 MDC 组件来重用 reuse.md 的内容。例如,在您的 a-blog-post.md 文件中,粘贴以下内容:

::partial{content=reuse}

现在,无论您在何处调用此 MDC 部分,都会显示以下内容:

Hi, This markdown file contains reusable content.

关于nuxt.js - 如何使用 Nuxt Content 渲染 Markdown 内容中的部分内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76812295/

相关文章:

docker - 我在为我的 nuxtjs 应用程序构建 docker 时遇到问题,热重载不起作用

javascript - Nuxt.js:如何使用不同URL的同一个页面,根据URL切换显示的组件

vue.js - 如何从 Nuxt 商店导航到错误页面

javascript - 为什么 Vue Composition API 设置函数中未定义 "this"?

vue.js - 是否可以在 Vue 3 中使用 Vue 2 库,反之亦然?

vim markdown 语法高亮是非常错误的

javascript - 如何在组合 API 的 setup() 中使用 $axios Nuxt 模块?

vue.js - 仅在构建时添加 Vue3 和 TailwindCSS 前缀

javascript - 正则表达式:匹配下划线包裹的单词,除非它们以@/#开头

Markdown 具有多个列表