5.13.1 • Published 3 months ago

gatsby-transformer-javascript-frontmatter v5.13.1

Weekly downloads
1,020
License
MIT
Repository
github
Last release
3 months ago

gatsby-transformer-javascript-frontmatter

Parses JavaScript files to extract frontmatter from exports.

Install

npm install gatsby-source-filesystem gatsby-transformer-javascript-frontmatter

How to use

To use this plugin you also need gatsby-source-filesystem installed and configured.

// In your gatsby-config.js
module.exports = {
  plugins: [
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        name: `pages`,
        path: `${__dirname}/src/pages/`,
      },
    },
    "gatsby-transformer-javascript-frontmatter",
  ],
}

Parsing algorithm

This plugin uses @babel/parser and @babel/traverse to statically read the frontmatter exports.

In a .js (or .jsx / .ts / .tsx) file, export a frontmatter object to set your metadata variables, like so:

import React from "react"

exports.frontmatter = {
  title: "Choropleth on d3v4",
  written: "2017-05-04",
  layoutType: "post",
  path: "choropleth-on-d3v4",
  category: "data science",
  description: "Things about the choropleth.",
}

export default MyComponent

You can also use a named export for the frontmatter object:

export const frontmatter = {
  title: "Choropleth on d3v4",
  written: "2017-05-04",
  layoutType: "post",
  path: "choropleth-on-d3v4",
  category: "data science",
  description: "Things about the choropleth.",
}

How to query

You'd be able to query your frontmatter like:

{
  allJavascriptFrontmatter {
    edges {
      node {
        frontmatter {
          error
          path
          title
          written
          category
          description
          updated
        }
      }
    }
  }
}

Which would return something like:

{
  "data": {
    "allJavascriptFrontmatter": {
      "edges": [
        {
          "node": {
            "frontmatter": {
              "error": false,
              "path": "choropleth-on-d3v4",
              "title": "Choropleth on d3v4",
              "written": "2017-05-04",
              "category": "data science",
              "description": "Things about the choropleth.",
              "updated": null
            }
          }
        }
      ]
    }
  }
}

Any attribute on "frontmatter" across your js files will be exported. If a file is missing it, the value will be null.

The error field will contain false or an object with error information just to give a surface level view of what the query is pulling out.

{
  "error": {
    "err": true,
    "message": "we threw an error",
    "stack": "This is a stringified stack trace"
  }
}
5.14.0-next.2

3 months ago

5.13.1

3 months ago

5.14.0-next.1

4 months ago

5.13.0

5 months ago

5.14.0-next.0

5 months ago

5.12.0

8 months ago

5.13.0-next.0

9 months ago

5.11.0-next.0

12 months ago

5.11.0-next.1

11 months ago

5.10.0

12 months ago

5.11.0

11 months ago

5.12.0-next.0

11 months ago

5.10.0-next.2

1 year ago

5.10.0-next.1

1 year ago

5.10.0-next.0

1 year ago

5.9.0

1 year ago

5.8.0-next.0

1 year ago

5.8.0

1 year ago

5.9.0-next.0

1 year ago

5.7.0

1 year ago

5.4.0

1 year ago

5.6.0-next.0

1 year ago

5.5.0

1 year ago

5.7.0-next.0

1 year ago

5.6.0

1 year ago

4.25.0

1 year ago

5.1.0-next.0

1 year ago

5.0.0

1 year ago

5.5.0-next.0

1 year ago

5.1.0

1 year ago

5.2.0

1 year ago

5.3.0-next.0

1 year ago

5.3.0

1 year ago

5.0.0-next.1

2 years ago

5.0.0-next.2

2 years ago

5.0.0-next.0

2 years ago

5.0.0-next.3

1 year ago

5.2.0-next.0

1 year ago

3.15.0

1 year ago

5.4.0-next.0

1 year ago

5.4.0-next.1

1 year ago

4.24.0

2 years ago

4.24.0-next.0

2 years ago

4.23.0-next.0

2 years ago

4.23.0

2 years ago

4.22.0

2 years ago

4.25.0-next.0

2 years ago

4.21.0-next.0

2 years ago

4.18.0-next.1

2 years ago

4.18.0-next.0

2 years ago

4.16.0

2 years ago

4.16.0-next.0

2 years ago

4.22.0-next.0

2 years ago

4.19.0-next.1

2 years ago

4.19.0-next.0

2 years ago

4.15.0

2 years ago

4.18.0

2 years ago

4.21.0

2 years ago

4.17.0-next.0

2 years ago

4.17.0

2 years ago

4.20.0

2 years ago

4.20.0-next.0

2 years ago

4.19.0

2 years ago

4.15.0-next.0

2 years ago

4.14.0

2 years ago

4.13.0

2 years ago

4.14.0-next.1

2 years ago

4.14.0-next.2

2 years ago

4.14.0-next.0

2 years ago

4.12.0-next.0

2 years ago

4.11.0-next.0

2 years ago

4.10.0

2 years ago

4.13.0-next.0

2 years ago

4.12.0

2 years ago

4.12.1

2 years ago

4.11.0

2 years ago

4.9.0

2 years ago

4.10.0-next.0

2 years ago

4.10.0-next.1

2 years ago

4.6.0-next.0

2 years ago

4.8.0

2 years ago

4.7.0

2 years ago

4.7.0-next.0

2 years ago

4.6.0

2 years ago

4.5.0-next.0

2 years ago

4.5.0

2 years ago

4.4.0

2 years ago

4.8.0-next.0

2 years ago

4.3.0

2 years ago

4.9.0-next.0

2 years ago

4.4.0-next.0

2 years ago

4.3.0-next.0

2 years ago

4.2.0

2 years ago

4.2.0-next.0

3 years ago

4.1.0

3 years ago

4.0.0

3 years ago

4.1.0-next.0

3 years ago

4.0.0-zz-next.2

3 years ago

3.14.0

3 years ago

4.0.0-zz-next.1

3 years ago

4.0.0-zz-next.8

3 years ago

4.0.0-next.1

3 years ago

4.0.0-next.0

3 years ago

3.14.0-next.2

3 years ago

3.14.0-next.1

3 years ago

3.13.0

3 years ago

3.14.0-next.0

3 years ago

3.12.0

3 years ago

3.13.0-next.0

3 years ago

3.12.0-next.3

3 years ago

3.12.0-next.2

3 years ago

3.12.0-next.1

3 years ago

3.11.0

3 years ago

3.12.0-next.0

3 years ago

3.10.0

3 years ago

3.11.0-next.0

3 years ago

3.10.0-next.1

3 years ago

3.9.0

3 years ago

3.10.0-next.0

3 years ago

3.8.0

3 years ago

3.9.0-next.0

3 years ago

3.6.0

3 years ago

3.8.0-next.0

3 years ago

3.8.0-next.1

3 years ago

3.7.1

3 years ago

3.7.0

3 years ago

3.7.0-next.2

3 years ago

3.7.0-next.1

3 years ago

3.6.0-next.0

3 years ago

3.5.0

3 years ago

3.4.0

3 years ago

3.5.0-next.0

3 years ago

3.7.0-next.0

3 years ago

3.3.0

3 years ago

3.4.0-next.0

3 years ago

3.3.0-next.1

3 years ago

3.2.0

3 years ago

3.3.0-next.0

3 years ago

3.1.0

3 years ago

3.2.0-next.0

3 years ago

3.1.0-next.2

3 years ago

3.0.0

3 years ago

3.0.0-v3rc.1

3 years ago

3.1.0-next.1

3 years ago

3.0.0-v3rc.0

3 years ago

3.1.0-next.0

3 years ago

3.0.0-next.0

3 years ago

2.10.0

3 years ago

2.11.0-next.0

3 years ago

2.9.0

3 years ago

2.10.0-next.0

3 years ago

2.8.0

3 years ago

2.9.0-next.0

3 years ago

2.7.0

3 years ago

2.8.0-next.0

3 years ago

2.6.0

3 years ago

2.7.0-next.0

3 years ago

2.5.0

3 years ago

2.6.0-next.0

3 years ago

2.4.0

3 years ago

2.4.0-next.1

3 years ago

2.5.0-next.0

3 years ago

2.4.0-next.0

3 years ago

2.3.15

4 years ago

2.3.14

4 years ago

2.3.13

4 years ago

2.3.12

4 years ago

2.3.11

4 years ago

2.3.10

4 years ago

2.3.9

4 years ago

2.3.7

4 years ago

2.3.6

4 years ago

2.3.5

4 years ago

2.3.4

4 years ago

2.3.3

4 years ago

2.3.2

4 years ago

2.3.1

4 years ago

2.3.0

4 years ago

2.2.4

4 years ago

2.2.3

4 years ago

2.2.2

4 years ago

2.2.1

4 years ago

2.2.0

4 years ago

2.1.26

4 years ago

2.1.25

4 years ago

2.1.24

4 years ago

2.1.23

4 years ago

2.1.22

4 years ago

2.1.20

4 years ago

2.1.19

4 years ago

2.1.18

4 years ago

2.1.17

4 years ago

2.1.16

5 years ago

2.1.15

5 years ago

2.1.14

5 years ago

2.1.13

5 years ago

2.1.12

5 years ago

2.1.11

5 years ago

2.1.9

5 years ago

2.1.8

5 years ago

2.1.7

5 years ago

2.1.6

5 years ago

2.1.5

5 years ago

2.1.4

5 years ago

2.1.3

5 years ago

2.1.2

5 years ago

2.1.1

5 years ago

2.1.0

5 years ago

2.0.10

5 years ago

2.0.9

5 years ago

2.0.9-alpha.0

5 years ago

2.0.8

5 years ago

2.0.7

5 years ago

2.0.6

5 years ago

2.0.5

5 years ago

2.0.4

5 years ago

2.0.3

6 years ago

2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

2.0.0-rc.3

6 years ago

2.0.0-rc.2

6 years ago

2.0.0-rc.1

6 years ago

2.0.0-rc.0

6 years ago

2.0.0-beta.3

6 years ago

2.0.0-beta.2

6 years ago

2.0.0-beta.1

6 years ago

2.0.0-beta.0

6 years ago

2.0.0-alpha.2

6 years ago

1.0.6-11

6 years ago

1.0.6-10

6 years ago

1.0.6-9

6 years ago

1.0.6-8

6 years ago

1.0.6-4

6 years ago

1.0.6-3

6 years ago

1.0.6-2

6 years ago

1.0.10

6 years ago

1.0.9

6 years ago

1.0.6-1

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.6-0

6 years ago

1.0.5

6 years ago

1.1.0-alpha.3

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.1.0-alpha.2

6 years ago

1.0.1

6 years ago