This is the Magma open source project website.
It's based on Gatsby and Netlify CMS.
It follows the JAMstack architecture by using Git as a single source of truth, and Netlify for continuous deployment, and CDN distribution.
- Node (v8.2.0 or higher)
- Gatsby CLI
- Netlify CLI
Install yarn on your system: https://yarnpkg.com/en/docs/install
Use the button below to build and deploy your own copy of the repository:
After clicking that button, you’ll authenticate with GitHub and choose a repository name. Netlify will then automatically create a repository in your GitHub account with a copy of the files from this repository. Next, it will build and deploy the new site on Netlify, bringing you to the site dashboard when the build is complete. Next, you’ll need to set up Netlify’s Identity service to authorize users to log in to the CMS.
Pulldown a local copy of the Github repository Netlify created for you, with the name you specified in the previous step
$ git clone https://github.com/[GITHUB_USERNAME]/[REPO_NAME].git
$ cd [REPO_NAME]
$ yarn
$ netlify dev # or ntl dev
This uses Netlify Dev CLI feature to serve any functions you have in the lambda
folder.
To test the CMS locally, you'll need run a production build of the site:
$ npm run build
$ netlify dev # or ntl dev
$ git clone https://github.com/OpenStackweb/osf-website-template
$ yarn
Build the static files into the public
folder, turns lambda functions into a deployable form.
$ yarn build
Runs gatsby clean
command.
yarn clean
Starts the netlify dev environment, including the gatsby dev environment. For more info check the Netlify Dev Docs
netlify dev
Runs the clean
script and starts the gatsby develop server using the command gatsby develop
. We recomend using this command when you don't need Netlify specific features
yarn develop
Formats code and docs according to our style guidelines using prettier
yarn format
To request changes, submit an issue or submit a pull request.
Blogs can be added to the site by following the format on an existing blog page.
This can be with whatever value you want (e.g. 'News & Features'). To see available values, please look at /content/blog-config.json. Note when adding a new value, you must also update the categories.text value on blog-config.json.
This can be with whatever value you want (e.g. 'news-features'). To see available values, please look at /content/blog-config.json. Note when adding a new value, you must also update the categories.id value on blog-config.json.