Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/theyorkshiredev/theyorkshire-dot-dev

My personal website powered by @GatsbyJS
https://github.com/theyorkshiredev/theyorkshire-dot-dev

gatsby personal-website styled-components

Last synced: 6 days ago
JSON representation

My personal website powered by @GatsbyJS

Awesome Lists containing this project

README

        


Logo


TheYorkshire.Dev



The second iteration of theyorkshire.dev built with Gatsby and hosted with Netlify



React Version
Gatsby Version

Azure Pipeline Status


Netlify Status

Logo

## 🛠 Installation & Set Up

1. Install the Gatsby CLI

```sh
npm install -g gatsby-cli
```

2. Install dependencies

```sh
npm install
```

3. Start the development server

```sh
npm run develop
```

## 🚀 Building and Running for Production

1. Generate a full static production build

```sh
npm run build
```

2. Preview the site as it will appear once deployed

```sh
npm run serve
```

**NOTE:** Google Analytics token should be set as an environment variable in your CI as `ga_token`. The token is picked up at build from node `process.env`.

## ⚙️ My CI/CD Setup

I am using Azure DevOps to build and deploy this website. Depending on the branch a change occurs CD is setup to deploy to either a production [Netlify](https://www.netlify.com/) environment or a staging [Azure](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website) environment.

I have several variables setup in Azure DevOps:

*Required for Google Analytics*
* `ga_token`

*Required to deploy to staging*
* `cdn_endpoint`
* `cdn_profile`
* `cdn_resource_group`
* `storage_account_name`

*Required to deploy to production*
* `NETLIFY_AUTH_TOKEN`
* `NETLIFY_SITE_ID`

## 📝 Planned Enhancements
- [ ] Pull blog posts into a second repository
- [ ] Blog post comments
- [ ] Blog Pagination
- [ ] Blog PWA Notifications
- [ ] Ability to subscribe to the blog
- [ ] Switch CI/CD to GitHub Workflows
- [ ] Configure the website to use CSP and other HTTP headers
- [ ] Update staging site to use either Netlify or Azure Static Web Apps