Skip to content

leeandher/leander.xyz

Repository files navigation

leander.xyz logo

Netlify Status CircleCI Branch Gitmoji


leander.xyz

Hey there, welcome to my site's repository! Here's a bunch of code that powers the site over at leander.xyz and all the subdomains. Some of the stuff is probably confusing but take a look in the docs/ folder if there's something you need clarification on.

This site is based on the JAMstack: "the modern web development architecture based on client-side JavaScript, reusable APIs and prebuilt Markup" (https://jamstack.org). It stands for JavaScript, APIs and Markup. It's actual tech stack is the following:

  • React on the frontend
  • Gatsby as the static React framework (SSR, Code-splitting, dynamic pages)
  • Markdown/JSON as the content API
  • GraphQL for turning the markdown into pages (via Gatsby)
  • NetlifyCMS as the OAuth protected content management system
  • Netlify as the build process

I try to keep everything as modular as possible, but if you see something wrong, or that you can improve feel free to fork this repo and submit a pull request.

If you just wanna let me know where I messed up, send me an issue and I'll get to it ASAP.

Dev Usage

Due to some issues with sharp, you'll likely run into issues if you're not using node v10

Launch the local site with:

npm install && npm run start

It runs a basic Gatsby setup with a few catches for things like styled-components and deployable subdomains. Check out the docs/ directory for more of the complicated stuff

The continuous deployment is done completely through Netlify, as well as the Form and Identity handling. You can see the Identity configuration in static/admin/config.yml.

This is also the configuration file for the entire content management system (CMS).

It is accessible at localhost:8000/admin/, but with it's current setup it will still be redirected to Netlify. You can test your configuration by changing the backend as follows:

backend:
-  name: git-gateway
+  name: test-repo
-  accept_roles:
-    - admin
-    - editor
-  repo: leeandher/leander.xyz
-  branch: dev
-  commit_messages:
-    create: ✨ Create entry in {{collection}} collection - "{{slug}}"
-    update: ✏️ Edit in {{collection}} collection - "{{slug}}"
-    delete: 🔥 Deletion in {{collection}} collection - "{{slug}}"
-    uploadMedia: 🍱 Upload media - "{{path}}"
-    deleteMedia: 🔥 Delete media - "{{path}}"

For making actual changes to site content, head over to https://www.leander.xyz/admin/