问题描述
我想使用“ docs”插件和自定义(JavaScript)插件将文档填充到Docusaurus项目中,以将其连接到无头CMS。目前,我正在使用loadContent生命周期API事件来调用我的Headless CMS API,然后使用fs.writeFileSync在'/ docs'中创建物理markdown文件并覆盖./sidebars.js文件,因此经典预设作品随附的“ docs”插件。
./ my-plugin / index.js:
module.exports = function (context,options) {
return {
name: 'my-docusaurus-plugin',async loadContent() {
//calls to Headless CMS API for documentation content
let response = await fetchArticles('documentation');
// Adds the markdown files for 'docs' plugin using fs.writeFileSync
await buildArticles(response)
//fetch homepage and navigation sections from CMS API
let homepage = await fetchPages('homepage');
let sidebarSection = await fetchPages('page');
//overwrite ./sidebars.js with API navigation data using fs.writeFileSync
await buildSidebar(homepage,sidebarSection);
}
};
};
之所以可以这样做,是因为我从CMS和文档渲染器中获取内容,但这似乎是一种解决方法,而不是将无头CMS与Docusaurus连接起来的优雅解决方案。我是否错过了一些最佳实践,还是有使用其他生命周期事件的更好方法?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)