盖茨比(Gatsby)备忘了供画廊,视频,信用证等使用的边车文件吗?

时间:2019-05-01 03:48:00

标签: javascript gatsby

作为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 ...

1 个答案:

答案 0 :(得分:1)

从来没有尝试过,但是如果您只需要轻推一下...我想您将希望分割gatsby-transformer-remark的工作(将Markdown文件编译为html并允许您访问它)和{{ 3}}做(创建页面路由)。

因此,您将从Gatbsy Node API开始,然后:

  1. gatsby-config.js中,您将获取所有 降价文件,但是
  2. gatsby-node.js中仅从其中的一些创建页面,然后
  3. 在页面模板中,使用GraphQL获取“部分”的内容。