我在我的应用程序中使用nuxt / content,它工作正常。在应用程序的另一部分,我想从数据库中获取一些markdown并显示它。
let mytext = "Some *markdown* fetched from a db here."
<nuxt-content :document="mytext" />
这不起作用,因为我错过了一个解析步骤;当你执行$content("a_page_title_here").fetch()
时,它会解析获取的文本,并将其作为结构化JSON呈现给组件。
如何使用$content
解析文本,以便将其传递给组件进行显示?
我敢打赌一定有办法做到这一点,但是文档中没有包含一个参考部分来描述使用$content
可以做的所有事情。
如果有一种简单的方法来使用底层的Remark组件,我可以做到这一点。
2条答案
按热度按时间sbtkgmzw1#
nuxt@3
和@nuxt/content@2
可以使用
@nuxt/content
的Markdown transformer来解析任意字符串:然后使用
@nuxt/content
的ContentRendererMarkdown
组件渲染它,如下所示:demo 1
nuxt@2
和@nuxt/content@1
您可以使用
@nuxt/content
的底层Markdown
类。其异步toJSON()
函数获取包含Markdown的文件名或字符串(通过gray-matter
)进行解析,并解析可以传递给<nuxt-content>.document
的JSON对象。要使用默认的
rehype
插件初始化Markdown
,请使用getDefaults()
和processMarkdownOptions()
:然后像这样在组件中使用它:
demo 2
1tu0hz3e2#
这样不行吗?