Skip to content
This repository has been archived by the owner on Sep 20, 2022. It is now read-only.

magma/magma-website

Repository files navigation

Magma website

This is the Magma open source project website.

Overview

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.

Prerequisites

Setup

Install yarn on your system: https://yarnpkg.com/en/docs/install

Deploy to Netlify (option A)

Use the button below to build and deploy your own copy of the repository:

Deploy to Netlify

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.

Access Locally

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

Install locally (option B)

$ git clone https://github.com/OpenStackweb/osf-website-template
$ yarn 

Available scripts

build

Build the static files into the public folder, turns lambda functions into a deployable form.

Usage

$ yarn build

clean

Runs gatsby clean command.

Usage

yarn clean

netlify dev

Starts the netlify dev environment, including the gatsby dev environment. For more info check the Netlify Dev Docs

netlify dev

develop or start

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

Usage

yarn develop

format

Formats code and docs according to our style guidelines using prettier

Usage

yarn format

Pull Requests

To request changes, submit an issue or submit a pull request.

Blog Contributions

Blogs can be added to the site by following the format on an existing blog page.

'category.label'

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.

'category.id'

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.