├── .github └── dependabot.yml ├── .gitignore ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── README.md ├── _config.yml ├── docker-compose.yml ├── inde.html ├── script ├── server └── test ├── stats.js └── texture.jpg /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "bundler" 4 | directory: "/" 5 | schedule: 6 | interval: "monthly" 7 | reviewers: ["githubtraining/implementation-engineers"] 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | vendor/ 2 | _site/ 3 | .sass-cache/ 4 | .jekyll-cache/ 5 | .jekyll-metadata 6 | .bundle/ 7 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem 'github-pages', group: :jekyll_plugins 4 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | activesupport (7.1.3.2) 5 | base64 6 | bigdecimal 7 | concurrent-ruby (~> 1.0, >= 1.0.2) 8 | connection_pool (>= 2.2.5) 9 | drb 10 | i18n (>= 1.6, < 2) 11 | minitest (>= 5.1) 12 | mutex_m 13 | tzinfo (~> 2.0) 14 | addressable (2.8.6) 15 | public_suffix (>= 2.0.2, < 6.0) 16 | base64 (0.2.0) 17 | bigdecimal (3.1.6) 18 | coffee-script (2.4.1) 19 | coffee-script-source 20 | execjs 21 | coffee-script-source (1.12.2) 22 | colorator (1.1.0) 23 | commonmarker (0.23.10) 24 | concurrent-ruby (1.2.3) 25 | connection_pool (2.4.1) 26 | dnsruby (1.70.0) 27 | simpleidn (~> 0.2.1) 28 | drb (2.2.1) 29 | em-websocket (0.5.3) 30 | eventmachine (>= 0.12.9) 31 | http_parser.rb (~> 0) 32 | ethon (0.16.0) 33 | ffi (>= 1.15.0) 34 | eventmachine (1.2.7) 35 | execjs (2.9.1) 36 | faraday (2.9.0) 37 | faraday-net_http (>= 2.0, < 3.2) 38 | faraday-net_http (3.1.0) 39 | net-http 40 | ffi (1.16.3) 41 | forwardable-extended (2.6.0) 42 | gemoji (4.1.0) 43 | github-pages (231) 44 | github-pages-health-check (= 1.18.2) 45 | jekyll (= 3.9.5) 46 | jekyll-avatar (= 0.8.0) 47 | jekyll-coffeescript (= 1.2.2) 48 | jekyll-commonmark-ghpages (= 0.4.0) 49 | jekyll-default-layout (= 0.1.5) 50 | jekyll-feed (= 0.17.0) 51 | jekyll-gist (= 1.5.0) 52 | jekyll-github-metadata (= 2.16.1) 53 | jekyll-include-cache (= 0.2.1) 54 | jekyll-mentions (= 1.6.0) 55 | jekyll-optional-front-matter (= 0.3.2) 56 | jekyll-paginate (= 1.1.0) 57 | jekyll-readme-index (= 0.3.0) 58 | jekyll-redirect-from (= 0.16.0) 59 | jekyll-relative-links (= 0.6.1) 60 | jekyll-remote-theme (= 0.4.3) 61 | jekyll-sass-converter (= 1.5.2) 62 | jekyll-seo-tag (= 2.8.0) 63 | jekyll-sitemap (= 1.4.0) 64 | jekyll-swiss (= 1.0.0) 65 | jekyll-theme-architect (= 0.2.0) 66 | jekyll-theme-cayman (= 0.2.0) 67 | jekyll-theme-dinky (= 0.2.0) 68 | jekyll-theme-hacker (= 0.2.0) 69 | jekyll-theme-leap-day (= 0.2.0) 70 | jekyll-theme-merlot (= 0.2.0) 71 | jekyll-theme-midnight (= 0.2.0) 72 | jekyll-theme-minimal (= 0.2.0) 73 | jekyll-theme-modernist (= 0.2.0) 74 | jekyll-theme-primer (= 0.6.0) 75 | jekyll-theme-slate (= 0.2.0) 76 | jekyll-theme-tactile (= 0.2.0) 77 | jekyll-theme-time-machine (= 0.2.0) 78 | jekyll-titles-from-headings (= 0.5.3) 79 | jemoji (= 0.13.0) 80 | kramdown (= 2.4.0) 81 | kramdown-parser-gfm (= 1.1.0) 82 | liquid (= 4.0.4) 83 | mercenary (~> 0.3) 84 | minima (= 2.5.1) 85 | nokogiri (>= 1.13.6, < 2.0) 86 | rouge (= 3.30.0) 87 | terminal-table (~> 1.4) 88 | github-pages-health-check (1.18.2) 89 | addressable (~> 2.3) 90 | dnsruby (~> 1.60) 91 | octokit (>= 4, < 8) 92 | public_suffix (>= 3.0, < 6.0) 93 | typhoeus (~> 1.3) 94 | html-pipeline (2.14.3) 95 | activesupport (>= 2) 96 | nokogiri (>= 1.4) 97 | http_parser.rb (0.8.0) 98 | i18n (1.14.1) 99 | concurrent-ruby (~> 1.0) 100 | jekyll (3.9.5) 101 | addressable (~> 2.4) 102 | colorator (~> 1.0) 103 | em-websocket (~> 0.5) 104 | i18n (>= 0.7, < 2) 105 | jekyll-sass-converter (~> 1.0) 106 | jekyll-watch (~> 2.0) 107 | kramdown (>= 1.17, < 3) 108 | liquid (~> 4.0) 109 | mercenary (~> 0.3.3) 110 | pathutil (~> 0.9) 111 | rouge (>= 1.7, < 4) 112 | safe_yaml (~> 1.0) 113 | jekyll-avatar (0.8.0) 114 | jekyll (>= 3.0, < 5.0) 115 | jekyll-coffeescript (1.2.2) 116 | coffee-script (~> 2.2) 117 | coffee-script-source (~> 1.12) 118 | jekyll-commonmark (1.4.0) 119 | commonmarker (~> 0.22) 120 | jekyll-commonmark-ghpages (0.4.0) 121 | commonmarker (~> 0.23.7) 122 | jekyll (~> 3.9.0) 123 | jekyll-commonmark (~> 1.4.0) 124 | rouge (>= 2.0, < 5.0) 125 | jekyll-default-layout (0.1.5) 126 | jekyll (>= 3.0, < 5.0) 127 | jekyll-feed (0.17.0) 128 | jekyll (>= 3.7, < 5.0) 129 | jekyll-gist (1.5.0) 130 | octokit (~> 4.2) 131 | jekyll-github-metadata (2.16.1) 132 | jekyll (>= 3.4, < 5.0) 133 | octokit (>= 4, < 7, != 4.4.0) 134 | jekyll-include-cache (0.2.1) 135 | jekyll (>= 3.7, < 5.0) 136 | jekyll-mentions (1.6.0) 137 | html-pipeline (~> 2.3) 138 | jekyll (>= 3.7, < 5.0) 139 | jekyll-optional-front-matter (0.3.2) 140 | jekyll (>= 3.0, < 5.0) 141 | jekyll-paginate (1.1.0) 142 | jekyll-readme-index (0.3.0) 143 | jekyll (>= 3.0, < 5.0) 144 | jekyll-redirect-from (0.16.0) 145 | jekyll (>= 3.3, < 5.0) 146 | jekyll-relative-links (0.6.1) 147 | jekyll (>= 3.3, < 5.0) 148 | jekyll-remote-theme (0.4.3) 149 | addressable (~> 2.0) 150 | jekyll (>= 3.5, < 5.0) 151 | jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) 152 | rubyzip (>= 1.3.0, < 3.0) 153 | jekyll-sass-converter (1.5.2) 154 | sass (~> 3.4) 155 | jekyll-seo-tag (2.8.0) 156 | jekyll (>= 3.8, < 5.0) 157 | jekyll-sitemap (1.4.0) 158 | jekyll (>= 3.7, < 5.0) 159 | jekyll-swiss (1.0.0) 160 | jekyll-theme-architect (0.2.0) 161 | jekyll (> 3.5, < 5.0) 162 | jekyll-seo-tag (~> 2.0) 163 | jekyll-theme-cayman (0.2.0) 164 | jekyll (> 3.5, < 5.0) 165 | jekyll-seo-tag (~> 2.0) 166 | jekyll-theme-dinky (0.2.0) 167 | jekyll (> 3.5, < 5.0) 168 | jekyll-seo-tag (~> 2.0) 169 | jekyll-theme-hacker (0.2.0) 170 | jekyll (> 3.5, < 5.0) 171 | jekyll-seo-tag (~> 2.0) 172 | jekyll-theme-leap-day (0.2.0) 173 | jekyll (> 3.5, < 5.0) 174 | jekyll-seo-tag (~> 2.0) 175 | jekyll-theme-merlot (0.2.0) 176 | jekyll (> 3.5, < 5.0) 177 | jekyll-seo-tag (~> 2.0) 178 | jekyll-theme-midnight (0.2.0) 179 | jekyll (> 3.5, < 5.0) 180 | jekyll-seo-tag (~> 2.0) 181 | jekyll-theme-minimal (0.2.0) 182 | jekyll (> 3.5, < 5.0) 183 | jekyll-seo-tag (~> 2.0) 184 | jekyll-theme-modernist (0.2.0) 185 | jekyll (> 3.5, < 5.0) 186 | jekyll-seo-tag (~> 2.0) 187 | jekyll-theme-primer (0.6.0) 188 | jekyll (> 3.5, < 5.0) 189 | jekyll-github-metadata (~> 2.9) 190 | jekyll-seo-tag (~> 2.0) 191 | jekyll-theme-slate (0.2.0) 192 | jekyll (> 3.5, < 5.0) 193 | jekyll-seo-tag (~> 2.0) 194 | jekyll-theme-tactile (0.2.0) 195 | jekyll (> 3.5, < 5.0) 196 | jekyll-seo-tag (~> 2.0) 197 | jekyll-theme-time-machine (0.2.0) 198 | jekyll (> 3.5, < 5.0) 199 | jekyll-seo-tag (~> 2.0) 200 | jekyll-titles-from-headings (0.5.3) 201 | jekyll (>= 3.3, < 5.0) 202 | jekyll-watch (2.2.1) 203 | listen (~> 3.0) 204 | jemoji (0.13.0) 205 | gemoji (>= 3, < 5) 206 | html-pipeline (~> 2.2) 207 | jekyll (>= 3.0, < 5.0) 208 | kramdown (2.4.0) 209 | rexml 210 | kramdown-parser-gfm (1.1.0) 211 | kramdown (~> 2.0) 212 | liquid (4.0.4) 213 | listen (3.9.0) 214 | rb-fsevent (~> 0.10, >= 0.10.3) 215 | rb-inotify (~> 0.9, >= 0.9.10) 216 | mercenary (0.3.6) 217 | mini_portile2 (2.8.6) 218 | minima (2.5.1) 219 | jekyll (>= 3.5, < 5.0) 220 | jekyll-feed (~> 0.9) 221 | jekyll-seo-tag (~> 2.1) 222 | minitest (5.22.2) 223 | mutex_m (0.2.0) 224 | net-http (0.4.1) 225 | uri 226 | nokogiri (1.16.5) 227 | mini_portile2 (~> 2.8.2) 228 | racc (~> 1.4) 229 | octokit (4.25.1) 230 | faraday (>= 1, < 3) 231 | sawyer (~> 0.9) 232 | pathutil (0.16.2) 233 | forwardable-extended (~> 2.6) 234 | public_suffix (5.0.4) 235 | racc (1.7.3) 236 | rb-fsevent (0.11.2) 237 | rb-inotify (0.10.1) 238 | ffi (~> 1.0) 239 | rexml (3.3.6) 240 | strscan 241 | rouge (3.30.0) 242 | rubyzip (2.3.2) 243 | safe_yaml (1.0.5) 244 | sass (3.7.4) 245 | sass-listen (~> 4.0.0) 246 | sass-listen (4.0.0) 247 | rb-fsevent (~> 0.9, >= 0.9.4) 248 | rb-inotify (~> 0.9, >= 0.9.7) 249 | sawyer (0.9.2) 250 | addressable (>= 2.3.5) 251 | faraday (>= 0.17.3, < 3) 252 | simpleidn (0.2.1) 253 | unf (~> 0.1.4) 254 | strscan (3.1.0) 255 | terminal-table (1.8.0) 256 | unicode-display_width (~> 1.1, >= 1.1.1) 257 | typhoeus (1.4.1) 258 | ethon (>= 0.9.0) 259 | tzinfo (2.0.6) 260 | concurrent-ruby (~> 1.0) 261 | unf (0.1.4) 262 | unf_ext 263 | unf_ext (0.0.9.1) 264 | unicode-display_width (1.8.0) 265 | uri (0.13.0) 266 | 267 | PLATFORMS 268 | ruby 269 | 270 | DEPENDENCIES 271 | github-pages 272 | 273 | BUNDLED WITH 274 | 2.0.2 275 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011, 2012, 2013 Jake Gordon and contributors 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Welcome to GitHub Games 2 | 3 | A project based learning activity for people who are getting started with Git and GitHub. 4 | 5 | You can play the game at: https://githubschool.github.io/github-games/ 6 | 7 | >> _*SUPPORTED BROWSERS*: Chrome, Firefox, Safari, Opera and IE9+_ 8 | 9 | This fun open source game was cloned from: https://github.com/jakesgordon/javascript-tetris 10 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | # Set name to prevent title from displaying at the top of the page 2 | # https://github.com/pages-themes/primer/issues/21#issuecomment-440722302 3 | name: GitHub Games 4 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | jekyll: 4 | image: 'jekyll/jekyll:3.8' 5 | volumes: 6 | - "$PWD:/srv/jekyll" 7 | ports: 8 | - '4000:4000' 9 | command: jekyll serve --incremental 10 | tty: true 11 | -------------------------------------------------------------------------------- /inde.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |