1
0
mirror of https://github.com/kremalicious/blog.git synced 2024-12-22 17:23:50 +01:00
🍭 My blog kremalicious.com built with Astro. Neat. https://kremalicious.com
Go to file
2018-09-29 04:03:50 +02:00
_aws fixes 2018-09-27 22:25:00 +02:00
content more content fixes 2018-09-29 04:03:50 +02:00
scripts switch to gatsby-plugin-svgr 2018-09-24 22:28:07 +02:00
src more content fixes 2018-09-29 04:03:50 +02:00
static basic setup for blog posts & media 2018-07-21 13:33:06 +02:00
.codeclimate.yml footer refactor 2018-08-29 01:40:43 +02:00
.editorconfig start refactor 2018-07-21 13:33:05 +02:00
.eslintrc start refactor 2018-07-21 13:33:05 +02:00
.gitignore package updates, add gatsby-redirect-from 2018-08-30 01:54:01 +02:00
.markdownlint.json post fixes 2018-09-29 03:02:05 +02:00
.prettierignore post metadata cleanup 2018-07-21 13:33:06 +02:00
.prettierrc cleanup 2018-09-12 23:48:59 +02:00
.stylelintrc lint fixes 2018-07-21 22:44:50 +02:00
.travis.yml post fixes 2018-09-29 03:02:05 +02:00
assets sheet.psd cleanup apple-touch-icon, add Safari 9 pinned tab icon 2015-08-09 00:52:46 +02:00
gatsby-browser.js add markdownlint 2018-09-24 01:09:50 +02:00
gatsby-config.js fixes 2018-09-27 22:25:00 +02:00
gatsby-node.js setup manual redirects 2018-09-24 23:50:48 +02:00
LICENSE cleanup 2018-08-29 00:17:24 +02:00
LICENSE-content cleanup 2018-08-29 00:17:24 +02:00
LICENSE-photos cleanup 2018-08-29 00:17:24 +02:00
package.json post fixes 2018-09-29 03:02:05 +02:00
README.md post fixes 2018-09-29 03:02:05 +02:00

🍭 My blog built with Gatsby. Neat.

kremalicious.com

Table of Contents


🎉 Features

The whole blog is a React-based Single Page App built with Gatsby v2.

EXIF extraction

...

🏆 SEO component

Includes a SEO component which automatically switches all required meta tags for search engines, Twitter Cards, and Facebook OpenGraph tags based on the browsed route/page.

If you want to know how, have a look at the respective component under src/components/atoms/SEO.jsx

📈 Matomo (formerly Piwik) analytics tracking

Site sends usage statistics to my own Matomo installation. To make this work in Gatsby, I created and open sourced a plugin, gatsby-plugin-matomo, which is in use on this site.

gatsby-redirect-from

https://github.com/kremalicious/gatsby-redirect-from

💎 Importing SVG assets

All SVG assets under src/images/ will be converted to React components with the help of gatsby-plugin-svgr. Makes use of SVGR so SVG assets can be imported like so:

import { ReactComponent as Logo } from './components/svg/Logo'

<Logo />

🍬 Typekit component

Includes a component for adding the Typekit snippet.

If you want to know how, have a look at the respective component under src/components/atoms/Typekit.jsx

Development

You need to have the following tools installed on your development machine before moving on:

Then install dependencies and start everything up:

npm i
npm start

🔮 Linting

ESlint, Prettier, and Stylelint are setup for all linting purposes:

npm run lint

To automatically format all code files:

npm run format
npm run format:css

🎈 Add a new project

npm run new -- "Hello"

...

🚚 Deployment

Automatic deployments are triggered upon successful tests & builds on Travis:

  • push to master initiates a live deployment
  • any Pull Request, and subsequent pushes to it, initiates a beta deployment

The deploy command simply calls the scripts/deploy.sh script, syncing the contents of the public/ folder to S3:

npm run deploy

The deploymeng script can be used locally too, the branch checks are only happening for Travis builds, allowing to deploy any branch from local machine.

🏛 Licenses

The MIT License (MIT)

except for:

Posts

Creative Commons License

All post content under ./content/posts is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Photos & images

All photos & image assets under ./content/media, ./src/images, and assets sheet.psd are plain ol' copyright.

Copyright (c) 20082018 Matthias Kretschmann

Don't care if you fork & play with it, but you're not allowed to publish anything from it as a whole without my written permission.