Skip to content

Source code for my personal website. Built with Gatsby and Material UI; the website houses my resume and blog.

License

Notifications You must be signed in to change notification settings

daiviknema/daiviknema.github.io

Repository files navigation

Daivik's Personal Website


Daivik Nema

Table of Contents

Introduction

daiviknema GitHub tag (latest by date) GitHub issues GitHub pull requests License

This repository contains the source code for my personal website which hosts my blog and resume. The website is built using the Gatsby frontend framework; and I have also used the Material UI library to design the layouts and for various other components. The website is still WIP, but once I've added a few more functionalities I do plan on publishing it (or atleast a sightly modified version of it) as a starter on the official Gatsby website. For now, anyone who wishes to copy or modify this code for their own use is welcome to do so (please see the LICENSE and copyright notice for complete details)

Setting up a development environment and running the site locally

  1. Make sure you have a relatively recent version of node and npm installed

    Binaries for node (including npm) can be found here. If you're on Ubuntu, I've found that the package manager version of Node/NPM is a little out of date, so I prefer to install via the binary archive. Instructions for the same can be found here

  2. Install gatsby-cli

    On a terminal execute the following:

    npm install -g gatsby-cli
  3. Clone the source code

    On a terminal, execute:

    git clone https://github.com/daiviknema/daiviknema.github.io
  4. Install node modules

    Change directories into the cloned repo (eg cd daiviknema.github.io/) and execute:

    npm install

    This will install all the dependencies (such as Material-UI and other Gatsby plugins into a directory called node_modules/)

  5. Deploy the site

    The development server can be started by running gatsby develop from the command line. Note that this deploys a development bundle on localhost:8000. This is ideal if you are looking to modify the code.

    For a production bundle (with minified CSS and obfuscated JS), you will need to execute:

    gatsby build
    gatsby serve

    This will deploy your site to localhost:9000

CircleCI Setup

The website is hosted on Github Pages - which requires that the static site be deployed from the master branch. Because of this constraint, I've updated the default branch on this repo to be dev instead of master. I've set up CircleCI on this repository to perform a build on every commit push; however, deployment is only performed when commits are pushed/merged to the dev branch. That is, when a commit is pushed/merged to dev branch, CircleCI performs a build and pushes the build output (public/ directory) to master branch - where GH pages can pick it up. Please take a look at .circleci/config.yml for the exact specification of the build and deploy steps.

Found Issues? Got Feedback?

I've tried my best to make the website experience as nice and bug-free as possible for the viewers, but I'm hardly above the universal truth that all code that does anything useful has bugs. In case you've found one, please do let me know by raising an issue. Alternatively, if you have any feedback for me, feel free to raise an issue as well!

License

The code in this repository is licensed under the MIT license