A Gatsby theme for bands and music artists πΈπ
- β± Have a landing page up and running in minutes
- π Optimized for SEO and social sharing
- π± Mobile-friendly
- οΈβ‘οΈ Fast and performant, with and without Javascript
- π€ Write as little or as much code as you want
- ππ½ Better with othersβendless combination with other Gatsby themes (blog, ecommerce, photo galleries...)
- π Write your content in plain text, Markdown, HTML elements, and React components thanks to MDX
- π π½ Customizable, versatile design tokens-based styling with Theme UI
Read introductory post on DEV.to
π‘ If you have never used Gatsby before, head to their quick start guide or beginner-friendly tutorials.
# create a new site at the directory "my-band-site"
gatsby new my-band-site https://github.com/ekafyi/starter-musician-theme
# go to the site directory
cd my-band-site
# start your site
gatsby develop
npm install --save gatsby-theme-musician
or
yarn add gatsby-theme-musician
Add the theme to the plugins
array in your gatsby-config.js
:
// gatsby-config.js
module.exports = {
plugins: [
{
resolve: "gatsby-theme-musician",
},
],
}
Start your site. (This step will copy the necessary theme files to your site.)
gatsby develop
Key | Default value | Description |
---|---|---|
basePath |
/ |
Root url for landing page |
contentPath |
content |
Location of data files |
Example:
// gatsby-config.js
module.exports = {
plugins: [
{
resolve: `gatsby-theme-musician`,
options: {
// Your site will run at http://localhost:8000/my-band
basePath: `my-band`,
},
},
],
}
Configuration files are located in src/gatsby-theme-musician/config
. They use the YAML format. These are where you edit theme-specific details such as artist data and site navigation.
config
βββ artist.yml # Artist data
βββ navigation.yml # Site navigation links
βββ text_labels.yml # Site text labels
π‘ See Theme Config documentation for more details.
By default, content files are located in content
unless you specify a different path in the theme options.
content
βββ artist-landing-page.mdx
βββ images
βΒ Β βββ favicon.png
β βββ placeholder.png
βββ releases.yml
βββ sample-page.mdx
βββ shows.yml
Optionally, you may add images in PNG or JPG format with the following file names.
artist-banner.png|jpg
β displayed in top full-width bannerartist-logotype.png|jpg
β displayed in header (in place of artist name)artist-social.png|jpg
β used in SEO and social thumbnail metadata
π‘ See Content documentation for more details.
Have fun! π€π½