0.1.3 • Published 5 years ago

gatsby-plugin-output v0.1.3

Weekly downloads
401
License
MIT
Repository
github
Last release
5 years ago

gatsby-plugin-output

npm version dependencies Status CircleCI

Description

Configure the Gatsby's output folder from ./public to your target folder.

How to install

npm install --save gatsby-plugin-output
# or
yarn add gatsby-plugin-output

Available options

No.OptionrequiredDefaultDescription
1publicPathpublicthe output folder of Gatsby, will always be public in Gatsby@v2
2moveFolderfalsemove public folder instead of copy. ・ gatsby develop may not working well after moving public folder. Better keep this flag false. ・ You should clean gatsby cache by gatsby clean before build if this flag is true
3rmPublicFolderfalseremove public folder before build. ・ Better use gatsby clean to remove the folder. if necessary.

When do I use this plugin?

As discussed in ticket #1878, configurable output folder function will not be implemented in Gatsby@v2.

But sometimes changing output dir is necessary like build Gatsby with pathPrefix and deploy it to Netlify's subdirectory. This plugin is trying to move the compiled files from ./public to your target folder.

IMPORTANT: In usual case, you'd better put this plugin in the end of the gatsby-config.js as other plugins like gatsby-plugin-offline is hard-coding public folder.

Examples of usage

  1. Clean the cache and Define the output dir by environment parameter.

    "build": "OUTPUT_DIR=public/blog gatsby build"
    
    # in Windows:
    
    "build": "cross-env OUTPUT_DIR=public/blog gatsby build"
  2. In gatsby-config.js plugins array:

    `gatsby-plugin-prettier-build`;

    And with custom options (See options detail):

    {
      resolve: `gatsby-plugin-output`,
      options: {
        // default values
        publicPath: 'public',
        rmPublicFolder: false
      }
    }

How to run tests

npm run test

How to develop locally

How to contribute

If you have unanswered questions, would like help with enhancing or debugging the plugin, it is nice to include instructions for people who want to contribute to your plugin.

License

This project is licensed under the terms of the MIT license.