Personal portfolio for web developer
Fork of Smakosh template, modified for my personal use.
Changes from upstream
- New artwork (also Undraw.co).
- GraphQL query changes
- Pull GitHub site URL if exists and provide demo link
- List languages used and style with GitHub color
- Remove stars and forks
- Add honeypot to form submission to limit spam
- Don't cache service worker
- Add LinkedIn CTA and social
Also personalization of text, meta, favicon, social media, etc.
- Gatsby static site
- Continuous deployment with Netlify
- Amazing illustrations by Undraw.co
- A contact form protected by Google reCaptcha
- Eslint/Prettier configured
- Scores 100% on a11y / Performance / PWA / SEO
- PWA (desktop & mobile)
- Easy to customize
- Nice project structure
- Tablet & mobile friendly
- Can be deployed with one click
- Functional components with Recompose, ready to migrate to React hooks!
- Fetches Github pinned projects
. ├── data │ └── config # SEO related tags ├── src │ ├── components # Components │ │ │── common # Common components │ │ │── landing # Components used on the landing page │ │ └── theme # Header & Footer │ └── pages # Pages └── static # Icons, favicon & SVG illustrations
Installing the dependencies
Start the dev server
Clean the cache
This removes the
For GraphQL to work, you need to add a GitHub personal access token. Login to GitHub and go to Personal Access Tokens. Create a token with
Create two new files
.env.production and put your token there.
(If you're deploying to Netlify, you can add it there to your "Build environment variables" instead of creating
To use the recaptcha this template has built-in, go to Google reCaptcha and create one. Add your site to authorized domains (and you may want to add
localhost for testing).
IMPORTANT Your reCaptcha must be v2 to work with Netlify. A v3 reCaptcha, which Google defaults to, will error.
Add your public key to your site's data on
When deploying on Netlify, add your keys (including private) to their "Build environment variables." Use the following names:
This project is licensed under the MIT License - see the LICENSE.md file for details.