Free & Open Source Gatsby Themes by LekoArts
Get high-quality and customizable Gatsby themes to quickly bootstrap your website! Choose from many professionally created and impressive designs with a wide variety of features and customization options. Use Gatsby Themes to take your project to the next level and let you and your customers take advantage of the many benefits Gatsby has to offer.
.circleci: Contains the configuration file for CircleCI
cypress: Contains the Cypress tests for
examples: Contains the corresponding example sites for the
themes. These projects can and should be used as a starter and will be copied over to their own repository. Hence they contain example data and additional Gatsby plugins (e.g.
gatsby-plugin-offline). The folder names are the contents after
scripts: In order to run the tests on CircleCI some utility bash scripts are needed which are located here
themes: Contains the themes themselves. They should only have the bare minimum of plugins installed (as
examplescan expand them) and also use
Theme UIfor styling. The naming of the folders must be
gatsby-theme-[name-with-dashes]and the package name under the scope of
www: Contains the source code for themes.lekoarts.de
🤝 How to Contribute
Make sure that you have
yarn installed on your machine (as it's mandatory for
yarn workspaces). Fork this repository, clone it and run
yarn in the root directory.
To launch the development server of an example site, use:
yarn workspace [examples/name] develop
In the case of
examples/emma this command would be
yarn workspace emma develop. Now you can make changes to the respective theme and see them via Hot-Reloading.
Commit your changes to a feature branch of your fork and open up a PR against this repository. The PR will have checks in place (unit and end-to-end tests) which you can also run on your machine in preparation for the PR.
The Cypress tests are written in TypeScript, too, and hence need to be compiled before usage. Run the following script for development:
bash ./scripts/e2e-dev.sh "example-name"
In the case of
examples/emma the "example-name" would be "emma".
The script starts
tsc in watch mode (for the files in
cypress/e2e) and outputs them to
cypress/e2e/build + starts
start-server-and-test with Gatsby's development server and Cypress. Once the Cypress GUI opens select the fitting test (the others won't work, only the respective test +
CircleCI will run the
e2e-build.sh script — you can use it to run the tests headless.
You can skip the e2e tests if you use
www in your branch name, e.g.
If you want to receive monthly updates on my themes and all things related to Gatsby themes (relevant blog posts from me and other people) you can subscribe to my newsletter.
🎓 Learning Gatsby Themes
Articles from lekoarts.de
- How I used Theme UI to build my Gatsby Themes library
- Setting up a Gatsby Themes workspace with TypeScript, ESLint & Cypress