作为gatsby的新手,我正在寻找正确的方向来解决一些graphql / filesystem / frontmatter / parsing挑战。
我有很多Markdown文件的嵌套文件夹,用于存放我从一个历史django网站生成的项目帖子。我正在使用flatpak run
查询来查询各种页面类型(博客,项目等)
项目结构看起来像这样,不同年份中大约有300个工作/项目文件夹:
module.exports = {
friendlyName: 'View homepage or redirect',
description: 'Display or redirect to the appropriate homepage, depending on login status.',
exits: {
success: {
statusCode: 200,
description: 'Requesting user is a guest, so show the public landing page.',
viewTemplatePath: 'pages/homepage'
},
redirect: {
responseType: 'redirect',
description: 'Requesting user is logged in, so redirect to the internal welcome page.'
},
},
fn: async function () {
if (this.req.me) {
throw {redirect:'/welcome'};
}
return {title: 'Home page'};
}
};
博客结构类似,但媒体较少,如果需要,它是可变的。
我希望每个项目的collection
文件都是它的对应页面,它的存根/ sidecar文件不被视为页面,但可以用作主页中的内容。子文件夹也是如此。 /content/
work/
2000/
brandname-title/
index.md
credits.md
images.md
videos.md
images/
index.md
gallery1.md
gallery1/
image1.jpg
image2.jpg
gallery2.md
gallery2/
image1.jpg
image2.jpg
videos/
index.md
video1.md
video1/
video1.mp4
video1.ogv
video2.md
video2/
video2.mp4
video2.mov
文件代表主要内容,其他存根/ sidecar markdown文件用于存储数据。
我希望以下路线能够解决:
index.md
给我一个轻拍... linkslap ...
答案 0 :(得分:1)
从来没有尝试过,但是如果您只需要轻推一下...我想您将希望分割gatsby-transformer-remark的工作(将Markdown文件编译为html并允许您访问它)和{{ 3}}做(创建页面路由)。
因此,您将从Gatbsy Node API开始,然后:
gatsby-config.js
中,您将获取所有 降价文件,但是gatsby-node.js
中仅从其中的一些创建页面,然后