JSPM

gatsby-source-filesystem

1.5.9
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 241901
  • Score
    100M100P100Q181842F
  • License MIT

Gatsby plugin which parses files within a directory for further parsing by other plugins

Package Exports

  • gatsby-source-filesystem
  • gatsby-source-filesystem/create-file-node

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (gatsby-source-filesystem) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

gatsby-source-filesystem

Plugin for creating File nodes from the file system. The various "transformer" plugins transform File nodes into various other types of data e.g. gatsby-transformer-json transforms JSON files into JSON data nodes and gatsby-transformer-remark transforms markdown files into MarkdownRemark nodes from which you can query an HTML representation of the markdown.

Install

npm install --save gatsby-source-filesystem

How to use

// In your gatsby-config.js
plugins: [
  // You can have multiple instances of this plugin
  // to read source nodes from different locations on your
  // filesystem.
  //
  // The following sets up the Jekyll pattern of having a
  // "pages" directory for Markdown files and a "data" directory
  // for `.json`, `.yaml`, `.csv`.
  {
    resolve: `gatsby-source-filesystem`,
    options: {
      name: `pages`,
      path: `${__dirname}/src/pages/`,
    },
  },
  {
    resolve: `gatsby-source-filesystem`,
    options: {
      name: `data`,
      path: `${__dirname}/src/data/`,
    },
  },
]

How to query

You can query file nodes like the following:

{
  allFile {
    edges {
      node {
        extension
        dir
        modifiedTime
      }
    }
  }
}