Gridsome is an open-source project built by core maintainers and contributors. We want to make it easy for anyone to contribute to Gridsome. Contribute to core, build plugins, improve documentation or write a blog post. It all helps Gridsome on its mission to simplify JAMstack development.
Read the code of conduct.
Gridsome uses a monorepo pattern to manage its dependencies and core plugins. To contribute to core you need to install Gridsome core locally. This also enables you to run personal Gridsome projects on latest Gridsome development version.
Install Node.js 8.3 or higher and Yarn. It's also recommended to install Lerna globally.
https://github.com/gridsome/gridsome.git
repository.~/projects
folder.yarn
(or lerna bootstrap
if installed).gridsome develop
.To use @gridsome/cli
in the repo as a global command. Enter the ~/packages/cli
folder and run npm link
.
Yarn will add dependencies from your test projects to the root yarn.lock
file. So you should not commit changes in that file unless you have added dependencies to any of the core packages. If you need to commit it, remove your projects from the ~/projects
folder temporary and run yarn
or lerna bootstrap
in the root folder. Yarn will then clean up the lock file with only core dependencies. Commit the file and move your projects back and run yarn
or lerna bootstrap
again to start developing.
We are a strong believer that documentation is very important for any open-source projects. Gridsome uses, of course, Gridsome for its website and documentation.
You can also clone the Gridsome.org repo and work locally on documentation. Install it like any other Gridsome project.
Creating guest blog posts for Gridsome.org users is a great way to contribute to Gridsome community. A typical blog post could be: How our company is using Gridsome to do XX, or How to integrate XX with Gridsome.
To add a new blog post to the gridsome.org blog:
Prepare repository:
yarn
to install all of the website's dependencies.gridsome develop
to preview the blog at http://localhost:8000/blog
./blog
folder.Create contributor profile:
/contributors/images
./contributors/contributors.yaml
.Setup blog post:
/blog/yyyy-mm-dd-title
(for example, 2018-09-14-say-hello-to-gridsome). Within this newly created folder add an index.md
file.title
, date
, author
, and tags
to the frontmatter of your index.md
. If you are cross posting your post you can add canonicalLink
for SEO benefits.index.md
./docs/how-to-contribute
instead of https://gridsome.org/docs/how-to-contribute
docs
, like docs/your-change
.Contributing a new starter project is a great way to help other Gridsome users get off the ground quickly. While Starters are owned/maintained under your personal Github account, if you want one listed as an "official" Starter, you must commit the appropriate entry inside the Gridsome.org repo.
yarn
to install all of the website's dependencies.Create contributor profile:
/contributors/images
./contributors/contributors.yaml
.Add starter:
/starters/screenshots
(840x840px / 1680x1680 for retina)./starters/starters.yaml
.Gridsome Starters use the Github project README file for content.
gridsome develop
to preview starter at http://localhost:8000/starters
.starter
, like starter/your-starter-id
.Coming soon...