The gatsby-adapter-gitlab-pages
is a custom Gatsby adapter that facilitates the deployment of Gatsby sites to GitLab Pages. It specifically handles the generation of the _redirects
file required for managing redirects on GitLab Pages.
- Redirect Management: Automatically generates a
_redirects
file based on the redirects defined in your Gatsby project. - Seamless Integration: Integrates smoothly with the Gatsby build process.
The adapters feature was added in gatsby@5.12.0. For that your Gatsby has to work with version 5+.
Install this adapter as a NPM dependency:
npm install @whatwedo/gatsby-adapter-gitlab-pages
Add the adapter to your Gatsby configuration:
module.exports = {
siteMetadata: {
title: 'My Gatsby Site',
description: 'A site built with Gatsby and hosted on GitLab Pages.',
},
plugins: [
// Other plugins...
],
adapter: require('@whatwedo/gatsby-adapter-gitlab-pages')(),
};
Define your redirects in gatsby-node.js using the createRedirect action:
exports.createPages = async ({ actions }) => {
const { createRedirect } = actions;
createRedirect({
fromPath: '/old-url',
toPath: '/new-url',
isPermanent: true,
statusCode: 301,
});
createRedirect({
fromPath: '/another-old-url',
toPath: '/another-new-url',
isPermanent: false,
statusCode: 302,
});
};
Build your site and deploy it to GitLab Pages:
gatsby build
The _redirects
file will be generated in the public directory and used by GitLab Pages to manage redirects.
This adapter was developed by whatwedo.
We initially created this adapter for our own website to handle redirects on GitLab Pages effectively. To give back to the open source community, we decided to share it. We hope it helps others as much as it has helped us.
Contributions are welcome! Please open an issue or submit a pull request with any changes.
This project is licensed under the MIT License.