The Website is deployed to GitHub pages and is served at ggtkx.org.
This project works with Ruby 3.1.2 and Jekyll 4.2.0.
The Website is statically generated with Jekyll. To serve it locally, run:
bundle exec jekyll serveThis 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-commitThen, install the pre-commit hooks via:
pre-commit installOne 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 installData organization:
_data/comedians.jsonstores information about each comedian in this club. It is updated automatically to sync up with a Google Sheet._data/friends.ymlstores links to our friends.pages/contains Markdown documents for each page.
Other technical details:
pull-sheet/hosts the mechanism that updates_data/comedians.jsonfrom the roster.sidenotes.jsis a pure-JavaScript plugin that puts.footnotesinto#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).