/portfolio

Portfolio and blog using Jekyll with the Feeling Responsive theme created by @Phlow

Primary LanguageJavaScriptMIT LicenseMIT

ARCHIVED: My personal website and portfolio have been migrated to a new repository, using EleventyJS. This repository has now been archived and will no longer be updated.

Portfolio

Personal portfolio and blog of Chris Henrick using the Feeling Resposive Jekyll theme with some added style tweaks (dark theme) and personal touches. Forked from Phlow.

This site is live at clhenrick.io.

Develop

Make sure you have Ruby and Jekyll installed.

To run this site in a Jekyll dev environment, from the root of this repo do:

bundle exec jekyll serve --config _config.yml,_config_dev.yml

Deploy

Deployments on Netlify happen when a pull request is merged into the master branch.

Creating the Portfolio

To migrate work from an existing portfolio, I created JSON data containing information for each project. This data lives in _data/work.json. A Node.JS script generates a markdown file for each project and creates the portfolio overview page in ./work/.

Updating the portfolio works like this:

  1. Edit _data/work.json as needed.
  2. cd scripts/ && npm install
  3. from the scripts/ dir do node make-portfolio-posts.js

Adding a New Project

To add a new project add a new object entry to the work array in _data/work.json containing the following attributes:

  • "title" : required: title of the project
  • "tags" : an array of relevant tags
  • "description" : a short description shown in /work/
  • "description_long" : a long description shown in the corresponding project page
  • "thumb" : required: thumb nail image
  • "tech" : an array containing the names of whatever tech was used
  • "video" : an object containing the following if the project has a video
  • "imgs" : required: an array of any images associated with the project
  • "size" : size to give to the project that corresponds to a CSS class (depreciated / unnecessary)
  • "date" : date the project was created in the format of Year-Month-Day, eg: "2014-11-02"

Then cd to the scripts dir and do node make-portfolio-pages.js

TO DO List:

  • Make thumbnails & resize images

  • Make portfolio mobile friendly

  • add presentations as a git sub-module

  • add CV / Resume

  • add Talks

  • Node JS script to generate posts in _posts/portfolio/ from assets/data/work.json

  • liquid logic to only render blog posts in _posts/blog/

  • liquid logic to create masonry layout from _posts/portfolio/

  • move blog posts from chenrickmfadt.wordpress:

  • move site to clhenrick.io(?)

  • forward chrishenrick.com to clhenrick.io(?)

  • add portfolio images for print work

    • resize existing images to be smaller file size
    • create thumbnails for them? Probably depends on masonry.js
  • add portfolio projects for web work (AIRS, Bushwick, Toxicity Map, etc)

  • create a logo!

  • generate favicons & touch icons from logo using real favicon generator

  • index with Google’s SEO & custom search using sitemap.xml

Helpful Architecture Info:

Some resources that helped me with developing this portfolio & blog site:

Deploying Jekyll With Git On A Remote VPS

jekyll

Feeling Responsive Jekyll Theme

Foundation

Liquid

Helpful UI Stuff

Favicons & Touch Icons

Flexible / Staggered Multiple Column Layouts: