您可以使用gatsby-transformer-yaml-full
它将从 YAML 输入创建可查询的 GraphQL 节点。
一旦安装它(通过npm install gatsby-transformer-yaml-full
或其等效纱线):
// gatsby-config.js
module.exports = {
plugins: [
'gatsby-transformer-yaml-full',
{
resolve: 'gatsby-source-filesystem',
options: {
path: './content', // Path to your .yaml (or .yml) files
},
},
],
}
这将允许插件创建 GraphQL 节点,公开为 allCollectionYaml。例如:
{
allCollectionYaml {
edges {
node {
character
number
}
}
}
}
然后在您的页面/模板中,您只需要访问 GraphQL 数据(存储在data
页面中的对象内props
)并使用dangerouslySetInnerHTML
它来呈现它:
function MyComponent() {
return <div dangerouslySetInnerHTML={{ __html: props.data.allCollectionYaml.edges.node[0].character}} />;
}
或者,您可以使用更安全的选项,例如markdown-to-jsx。