My personal website
Branch: develop
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
web
.gitignore Ignore .json files Feb 18, 2019
.travis.yml Separate tests requirements Feb 18, 2019
CNAME
LICENSE Decided to use GPL. Jan 29, 2013
README.md Explain how to build Semantic UI Dec 12, 2018
projects.json Revised resume. Oct 9, 2013
publish.sh Use a hyphen instead of an underscore Dec 12, 2018
requirements.txt Separate tests requirements Feb 18, 2019
run.py Remove all files for Heroku hosting Mar 11, 2018
setup.py Add a setup script Dec 18, 2018

README.md

Introduction

This is a personal website for Sumin Byeon.

Build Status

Build Status Coverage Status

Prerequisites

  • A Google Sheet document and its ID. The ID is expected to be stored in GSPREAD_KEY environment variable.
  • A Google API key (refer this page for details).

Build

Install gulp

npm install -g gulp

Build Semantic UI

npm install semantic-ui --save
cd semantics
gulp build

Deployment

Since this is essentially a collection of static web resources (i.e., HTML, CSS, JavaScript) , deployment is quite straightfoward. We could use a traditional web hosting service or AWS S3, but we determined GitHub Pages is more than enough for a low-traffic static web site.

Publish to GitHub Pages

There is a shell script for that.

./publish.sh

Compile a list of geocoordinates from Google Spreadsheet

python web/__main__.py import_gspread $GSPREAD_KEY > web/static/locations.json

NOTE: This is automatically handled by publish.sh script, and thus no need to be run unless for testing.

$GSPREAD_KEY is a Google Docs document ID. The Google service credentials is stored in a .json file, which is automatically generated upon a Google Service Key. For more details, refer this page.