The Website is deployed to GitHub pages and is served at ggtkx.org.
The Website is statically generated with Jekyll. To serve it locally, run:
bundle exec jekyll serve
This repo uses pre-commit hooks to automate many checks upon making a git commit. (See .pre-commit-config.yaml
for a list of all hooks enabled.) Assuming you have Homebrew installed, you can install the pre-commit
program via:
brew install pre-commit
Then, install the pre-commit hooks via:
pre-commit install
One of the hooks use the ESLint tool to check JavaScript files, including enforcing the Google JavaScript Code Style. (See .eslintrc.json
for the exact config.) As a npm package, ESLint is installed via npm and specified in the package.json
. Install them by:
npm install
Data organization:
_data/comedians.json
stores information about each comedian in this club. It is updated automatically to sync up with a Google Sheet._data/friends.yml
stores links to our friends.pages/
contains Markdown documents for each page.
Other technical details:
pull-sheet/
hosts the mechanism that updates_data/comedians.json
from the roster.sidenotes.js
is a pure-JavaScript plugin that puts.footnotes
into#sidebar
, aligning each piece of note at their corresponding superscript.
Ming has written several articles detailing the engineering aspects of this club:
- How Engineers Build A Comedy Club - Part I: The Website
- How Engineers Build A Comedy Club - Part II: Comedian Data
- How Engineers Build A Comedy Club - Part III: Videos and Subtitles
The first 2 articles are most relevant to this repo.
This website uses:
-
these icons from freeicons.io:
- YouTube icon by Raj Dev on freeicons.io.
- Bilibili icon by Anu Rocks
- LinkedIn icon by Muhammad Haq
-
the Serif theme by Robert Austin.
-
illustrations from the artwork collection, unDraw, by Katerina Limpitsouni.
The MIT License (MIT).