Portfolio Website for Ian Arber
- Static website built with Jekyll
- Gulp used to build and bundle assets
- Site hosted on Netlify
- Contentful used as CMS to add posts and articles
- Auth0 and Webtask.io used to provide authentication to certain pages
Getting Started
Prerequisites
- Build on Linux or Windows Subsystem for Linux
- Git, Node v4.x or above, Ruby v2.4 or above, Bundler v1 or above
Installing
git clone https://github.com/ianarber/ianarber-com.git
bundle install
npm install
Usage
Client Area Authentication
Deployment
The Jekyll site and assets are built by running various Gulp tasks. That main ones are:
Default Task
gulp
- Used for development
- Compiles SASS, scripts, React
- Runs the jekyll-build task to compile the site
- Launches BrowserSync to watch files
Create Posts
gulp create-post
- Calls the Contentful Jekyll plugin to pull data into _data folder
- Need to export both CONTENTFUL_SPACE_ID and CONTENTFUL_ACCESS_TOKEN environment variables in order to pull data from the Contentful Space (see _config.yml)
- Ruby scripts in ./scripts folder are then called to convert returned yaml data to Jekyll posts and the Collections quotes and bioimages
Netlify Deploy
gulp netlify-deploy
- Builds a production version of the site to deploy on Netlify
- Similar to default task but minifies css/scripts
- BrowserSync not called
Clean
gulp clean
- Removes files from the following directories:
- _data/contentful/**
- _quotes/*.md
- _bioimages/*.md
- assets/script/bundle/*
- assets/css/*.css
Attributions
Authors
Anthony Desmier - https://github.com/adesmier