5.14.0 • Published 7 months ago

gatsby-transformer-javascript-frontmatter v5.14.0

Weekly downloads
1,020
License
MIT
Repository
github
Last release
7 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

7 months ago

5.15.0-next.0

7 months ago

5.14.0-next.2

1 year ago

5.13.1

1 year ago

5.14.0-next.1

1 year ago

5.13.0

2 years ago

5.14.0-next.0

2 years ago

5.12.0

2 years ago

5.13.0-next.0

2 years ago

5.11.0-next.0

2 years ago

5.11.0-next.1

2 years ago

5.10.0

2 years ago

5.11.0

2 years ago

5.12.0-next.0

2 years ago

5.10.0-next.2

2 years ago

5.10.0-next.1

2 years ago

5.10.0-next.0

2 years ago

5.9.0

2 years ago

5.8.0-next.0

2 years ago

5.8.0

2 years ago

5.9.0-next.0

2 years ago

5.7.0

2 years ago

5.4.0

2 years ago

5.6.0-next.0

2 years ago

5.5.0

2 years ago

5.7.0-next.0

2 years ago

5.6.0

2 years ago

4.25.0

3 years ago

5.1.0-next.0

3 years ago

5.0.0

3 years ago

5.5.0-next.0

2 years ago

5.1.0

3 years ago

5.2.0

3 years ago

5.3.0-next.0

3 years ago

5.3.0

3 years ago

5.0.0-next.1

3 years ago

5.0.0-next.2

3 years ago

5.0.0-next.0

3 years ago

5.0.0-next.3

3 years ago

5.2.0-next.0

3 years ago

3.15.0

3 years ago

5.4.0-next.0

3 years ago

5.4.0-next.1

2 years ago

4.24.0

3 years ago

4.24.0-next.0

3 years ago

4.23.0-next.0

3 years ago

4.23.0

3 years ago

4.22.0

3 years ago

4.25.0-next.0

3 years ago

4.21.0-next.0

3 years ago

4.18.0-next.1

3 years ago

4.18.0-next.0

3 years ago

4.16.0

3 years ago

4.16.0-next.0

3 years ago

4.22.0-next.0

3 years ago

4.19.0-next.1

3 years ago

4.19.0-next.0

3 years ago

4.15.0

3 years ago

4.18.0

3 years ago

4.21.0

3 years ago

4.17.0-next.0

3 years ago

4.17.0

3 years ago

4.20.0

3 years ago

4.20.0-next.0

3 years ago

4.19.0

3 years ago

4.15.0-next.0

3 years ago

4.14.0

3 years ago

4.13.0

3 years ago

4.14.0-next.1

3 years ago

4.14.0-next.2

3 years ago

4.14.0-next.0

3 years ago

4.12.0-next.0

3 years ago

4.11.0-next.0

3 years ago

4.10.0

3 years ago

4.13.0-next.0

3 years ago

4.12.0

3 years ago

4.12.1

3 years ago

4.11.0

3 years ago

4.9.0

3 years ago

4.10.0-next.0

3 years ago

4.10.0-next.1

3 years ago

4.6.0-next.0

3 years ago

4.8.0

3 years ago

4.7.0

3 years ago

4.7.0-next.0

3 years ago

4.6.0

3 years ago

4.5.0-next.0

4 years ago

4.5.0

3 years ago

4.4.0

4 years ago

4.8.0-next.0

3 years ago

4.3.0

4 years ago

4.9.0-next.0

3 years ago

4.4.0-next.0

4 years ago

4.3.0-next.0

4 years ago

4.2.0

4 years ago

4.2.0-next.0

4 years ago

4.1.0

4 years ago

4.0.0

4 years ago

4.1.0-next.0

4 years ago

4.0.0-zz-next.2

4 years ago

3.14.0

4 years ago

4.0.0-zz-next.1

4 years ago

4.0.0-zz-next.8

4 years ago

4.0.0-next.1

4 years ago

4.0.0-next.0

4 years ago

3.14.0-next.2

4 years ago

3.14.0-next.1

4 years ago

3.13.0

4 years ago

3.14.0-next.0

4 years ago

3.12.0

4 years ago

3.13.0-next.0

4 years ago

3.12.0-next.3

4 years ago

3.12.0-next.2

4 years ago

3.12.0-next.1

4 years ago

3.11.0

4 years ago

3.12.0-next.0

4 years ago

3.10.0

4 years ago

3.11.0-next.0

4 years ago

3.10.0-next.1

4 years ago

3.9.0

4 years ago

3.10.0-next.0

4 years ago

3.8.0

4 years ago

3.9.0-next.0

4 years ago

3.6.0

4 years ago

3.8.0-next.0

4 years ago

3.8.0-next.1

4 years ago

3.7.1

4 years ago

3.7.0

4 years ago

3.7.0-next.2

4 years ago

3.7.0-next.1

4 years ago

3.6.0-next.0

4 years ago

3.5.0

4 years ago

3.4.0

4 years ago

3.5.0-next.0

4 years ago

3.7.0-next.0

4 years ago

3.3.0

4 years ago

3.4.0-next.0

4 years ago

3.3.0-next.1

4 years ago

3.2.0

4 years ago

3.3.0-next.0

4 years ago

3.1.0

4 years ago

3.2.0-next.0

4 years ago

3.1.0-next.2

4 years ago

3.0.0

4 years ago

3.0.0-v3rc.1

4 years ago

3.1.0-next.1

4 years ago

3.0.0-v3rc.0

4 years ago

3.1.0-next.0

4 years ago

3.0.0-next.0

4 years ago

2.10.0

4 years ago

2.11.0-next.0

4 years ago

2.9.0

4 years ago

2.10.0-next.0

4 years ago

2.8.0

4 years ago

2.9.0-next.0

4 years ago

2.7.0

5 years ago

2.8.0-next.0

5 years ago

2.6.0

5 years ago

2.7.0-next.0

5 years ago

2.5.0

5 years ago

2.6.0-next.0

5 years ago

2.4.0

5 years ago

2.4.0-next.1

5 years ago

2.5.0-next.0

5 years ago

2.4.0-next.0

5 years ago

2.3.15

5 years ago

2.3.14

5 years ago

2.3.13

5 years ago

2.3.12

5 years ago

2.3.11

5 years ago

2.3.10

5 years ago

2.3.9

5 years ago

2.3.7

5 years ago

2.3.6

5 years ago

2.3.5

5 years ago

2.3.4

5 years ago

2.3.3

5 years ago

2.3.2

5 years ago

2.3.1

5 years ago

2.3.0

5 years ago

2.2.4

5 years ago

2.2.3

5 years ago

2.2.2

5 years ago

2.2.1

5 years ago

2.2.0

5 years ago

2.1.26

5 years ago

2.1.25

5 years ago

2.1.24

5 years ago

2.1.23

5 years ago

2.1.22

6 years ago

2.1.20

6 years ago

2.1.19

6 years ago

2.1.18

6 years ago

2.1.17

6 years ago

2.1.16

6 years ago

2.1.15

6 years ago

2.1.14

6 years ago

2.1.13

6 years ago

2.1.12

6 years ago

2.1.11

6 years ago

2.1.9

6 years ago

2.1.8

6 years ago

2.1.7

6 years ago

2.1.6

6 years ago

2.1.5

6 years ago

2.1.4

6 years ago

2.1.3

6 years ago

2.1.2

6 years ago

2.1.1

6 years ago

2.1.0

6 years ago

2.0.10

6 years ago

2.0.9

6 years ago

2.0.9-alpha.0

6 years ago

2.0.8

6 years ago

2.0.7

6 years ago

2.0.6

6 years ago

2.0.5

7 years ago

2.0.4

7 years ago

2.0.3

7 years ago

2.0.2

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago

2.0.0-rc.3

7 years ago

2.0.0-rc.2

7 years ago

2.0.0-rc.1

7 years ago

2.0.0-rc.0

7 years ago

2.0.0-beta.3

7 years ago

2.0.0-beta.2

7 years ago

2.0.0-beta.1

7 years ago

2.0.0-beta.0

7 years ago

2.0.0-alpha.2

7 years ago

1.0.6-11

7 years ago

1.0.6-10

7 years ago

1.0.6-9

7 years ago

1.0.6-8

7 years ago

1.0.6-4

7 years ago

1.0.6-3

7 years ago

1.0.6-2

7 years ago

1.0.10

7 years ago

1.0.9

7 years ago

1.0.6-1

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.6-0

7 years ago

1.0.5

7 years ago

1.1.0-alpha.3

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.1.0-alpha.2

7 years ago

1.0.1

7 years ago