diff options
| -rw-r--r-- | app/assets/images/wittle/wittle_expert.png | bin | 0 -> 155050 bytes | |||
| -rw-r--r-- | app/assets/images/wittle/wittle_hard.png | bin | 0 -> 92194 bytes | |||
| -rw-r--r-- | app/assets/images/wittle/wittle_normal.png | bin | 0 -> 81341 bytes | |||
| -rw-r--r-- | app/assets/stylesheets/wittle/general.css.scss | 86 | ||||
| -rw-r--r-- | app/controllers/wittle/puzzles_controller.rb | 8 | ||||
| -rw-r--r-- | app/views/wittle/puzzles/about.html.haml | 27 | ||||
| -rw-r--r-- | app/views/wittle/puzzles/index.html.haml | 1 | ||||
| -rw-r--r-- | app/views/wittle/puzzles/show.html.haml | 1 |
8 files changed, 117 insertions, 6 deletions
| diff --git a/app/assets/images/wittle/wittle_expert.png b/app/assets/images/wittle/wittle_expert.png new file mode 100644 index 0000000..b806b57 --- /dev/null +++ b/app/assets/images/wittle/wittle_expert.png | |||
| Binary files differ | |||
| diff --git a/app/assets/images/wittle/wittle_hard.png b/app/assets/images/wittle/wittle_hard.png new file mode 100644 index 0000000..e993e9b --- /dev/null +++ b/app/assets/images/wittle/wittle_hard.png | |||
| Binary files differ | |||
| diff --git a/app/assets/images/wittle/wittle_normal.png b/app/assets/images/wittle/wittle_normal.png new file mode 100644 index 0000000..adc0943 --- /dev/null +++ b/app/assets/images/wittle/wittle_normal.png | |||
| Binary files differ | |||
| diff --git a/app/assets/stylesheets/wittle/general.css.scss b/app/assets/stylesheets/wittle/general.css.scss index a0eb980..f7bb56f 100644 --- a/app/assets/stylesheets/wittle/general.css.scss +++ b/app/assets/stylesheets/wittle/general.css.scss | |||
| @@ -10,8 +10,8 @@ | |||
| 10 | 10 | ||
| 11 | a { | 11 | a { |
| 12 | display: block; | 12 | display: block; |
| 13 | width: 1110px; | 13 | width: 600px; |
| 14 | height: 454px; | 14 | height: 245px; |
| 15 | text-indent: -5000px; | 15 | text-indent: -5000px; |
| 16 | text-decoration: none; | 16 | text-decoration: none; |
| 17 | margin: 0; | 17 | margin: 0; |
| @@ -169,3 +169,85 @@ input[type="range"]::-ms-thumb { | |||
| 169 | padding: 0; | 169 | padding: 0; |
| 170 | } | 170 | } |
| 171 | } | 171 | } |
| 172 | |||
| 173 | #current-date { | ||
| 174 | margin-top: 1em; | ||
| 175 | text-align: center; | ||
| 176 | } | ||
| 177 | |||
| 178 | #choose-difficulty { | ||
| 179 | margin: 1em auto 2em; | ||
| 180 | width: max-content; | ||
| 181 | display: flex; | ||
| 182 | } | ||
| 183 | |||
| 184 | #normal-link { | ||
| 185 | width: 215px; | ||
| 186 | margin-right: 1em; | ||
| 187 | |||
| 188 | a { | ||
| 189 | background-image: image-url("wittle/wittle_normal.png"); | ||
| 190 | background-size: cover; | ||
| 191 | display: block; | ||
| 192 | width: 215px; | ||
| 193 | height: 215px; | ||
| 194 | text-indent: -5000px; | ||
| 195 | text-decoration: none; | ||
| 196 | margin: 0; | ||
| 197 | } | ||
| 198 | } | ||
| 199 | |||
| 200 | #hard-link { | ||
| 201 | width: 215px; | ||
| 202 | margin-right: 1em; | ||
| 203 | |||
| 204 | a { | ||
| 205 | background-image: image-url("wittle/wittle_hard.png"); | ||
| 206 | background-size: cover; | ||
| 207 | display: block; | ||
| 208 | width: 215px; | ||
| 209 | height: 215px; | ||
| 210 | text-indent: -5000px; | ||
| 211 | text-decoration: none; | ||
| 212 | margin: 0; | ||
| 213 | } | ||
| 214 | } | ||
| 215 | |||
| 216 | #expert-link { | ||
| 217 | width: 215px; | ||
| 218 | |||
| 219 | a { | ||
| 220 | background-image: image-url("wittle/wittle_expert.png"); | ||
| 221 | background-size: cover; | ||
| 222 | display: block; | ||
| 223 | width: 215px; | ||
| 224 | height: 215px; | ||
| 225 | text-indent: -5000px; | ||
| 226 | text-decoration: none; | ||
| 227 | margin: 0; | ||
| 228 | } | ||
| 229 | } | ||
| 230 | |||
| 231 | .summary { | ||
| 232 | width: 50%; | ||
| 233 | min-width: 600px; | ||
| 234 | margin: 0 auto 1em; | ||
| 235 | } | ||
| 236 | |||
| 237 | .puzzle-status { | ||
| 238 | text-align: center; | ||
| 239 | margin-bottom: 0; | ||
| 240 | } | ||
| 241 | |||
| 242 | .breadcrumb { | ||
| 243 | text-align: center; | ||
| 244 | |||
| 245 | a, a:visited { | ||
| 246 | color: #555d66; | ||
| 247 | text-decoration: none; | ||
| 248 | } | ||
| 249 | |||
| 250 | a:hover { | ||
| 251 | text-decoration: underline; | ||
| 252 | } | ||
| 253 | } | ||
| diff --git a/app/controllers/wittle/puzzles_controller.rb b/app/controllers/wittle/puzzles_controller.rb index 3c3c8a6..b481460 100644 --- a/app/controllers/wittle/puzzles_controller.rb +++ b/app/controllers/wittle/puzzles_controller.rb | |||
| @@ -2,8 +2,16 @@ module Wittle | |||
| 2 | class PuzzlesController < ApplicationController | 2 | class PuzzlesController < ApplicationController |
| 3 | def about | 3 | def about |
| 4 | @normal_puzzle = Puzzle.normal.order(created_at: :desc).first | 4 | @normal_puzzle = Puzzle.normal.order(created_at: :desc).first |
| 5 | @normal_started = ((session[:started_puzzles] || []).include? @normal_puzzle.id) | ||
| 6 | @normal_solved = ((session[:played_puzzles] || []).include? @normal_puzzle.id) | ||
| 7 | |||
| 5 | @hard_puzzle = Puzzle.hard.order(created_at: :desc).first | 8 | @hard_puzzle = Puzzle.hard.order(created_at: :desc).first |
| 9 | @hard_started = ((session[:started_puzzles] || []).include? @hard_puzzle.id) | ||
| 10 | @hard_solved = ((session[:played_puzzles] || []).include? @hard_puzzle.id) | ||
| 11 | |||
| 6 | @expert_puzzle = Puzzle.expert.order(created_at: :desc).first | 12 | @expert_puzzle = Puzzle.expert.order(created_at: :desc).first |
| 13 | @expert_started = ((session[:started_puzzles] || []).include? @expert_puzzle.id) | ||
| 14 | @expert_solved = ((session[:played_puzzles] || []).include? @expert_puzzle.id) | ||
| 7 | end | 15 | end |
| 8 | 16 | ||
| 9 | def index | 17 | def index |
| diff --git a/app/views/wittle/puzzles/about.html.haml b/app/views/wittle/puzzles/about.html.haml index 6a47972..a96fcf9 100644 --- a/app/views/wittle/puzzles/about.html.haml +++ b/app/views/wittle/puzzles/about.html.haml | |||
| @@ -1,4 +1,23 @@ | |||
| 1 | %p by Hatkirby, with help from Sigma144 and jbzdarkid | 1 | %p.summary <strong>Wittle</strong> gives you daily randomly-generated puzzles in the style of those from the 2016 indie game, <a href="http://the-witness.net">The Witness</a>. There are three difficulties of puzzles to choose from: |
| 2 | %p= link_to "Normal", @normal_puzzle | 2 | %h2#current-date= @normal_puzzle.created_at.strftime("%B %-d, %Y") |
| 3 | %p= link_to "Hard", @hard_puzzle | 3 | %nav#choose-difficulty |
| 4 | %p= link_to "Expert", @expert_puzzle | 4 | #normal-link |
| 5 | = link_to "Normal", @normal_puzzle | ||
| 6 | - if @normal_solved | ||
| 7 | %p.puzzle-status Solved! | ||
| 8 | - elsif @normal_started | ||
| 9 | %p.puzzle-status Started | ||
| 10 | #hard-link | ||
| 11 | = link_to "Hard", @hard_puzzle | ||
| 12 | - if @hard_solved | ||
| 13 | %p.puzzle-status Solved! | ||
| 14 | - elsif @hard_started | ||
| 15 | %p.puzzle-status Started | ||
| 16 | #expert-link | ||
| 17 | = link_to "Expert", @expert_puzzle | ||
| 18 | - if @expert_solved | ||
| 19 | %p.puzzle-status Solved! | ||
| 20 | - elsif @expert_started | ||
| 21 | %p.puzzle-status Started | ||
| 22 | %p.summary Wittle was created by <a href="https://www.fourisland.com/">Hatkirby</a>, with major help from <a href="https://github.com/sigma144/">Sigma144</a> (who wrote the puzzle generation code) and <a href="https://github.com/jbzdarkid">jbzdarkid</a> (who wrote the puzzle solving web interface). If you encounter any bugs, or have feedback regarding puzzle difficulty level, feel free to contact me! I am <code>hatkirby</code> on Discord, and you can also find me in the <a href="https://discord.gg/0nJwyUyYIfTEgSz0">Witness Speedrunning server</a>. | ||
| 23 | %p.summary There is an <a href="#{ archive_path }">archive of past puzzles</a> for those interested. | ||
| diff --git a/app/views/wittle/puzzles/index.html.haml b/app/views/wittle/puzzles/index.html.haml index 097eb87..fe497e4 100644 --- a/app/views/wittle/puzzles/index.html.haml +++ b/app/views/wittle/puzzles/index.html.haml | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | .breadcrumb= link_to "← Back to home page", root_path | ||
| 1 | %h1 Archive | 2 | %h1 Archive |
| 2 | %table#archive | 3 | %table#archive |
| 3 | %tr | 4 | %tr |
| diff --git a/app/views/wittle/puzzles/show.html.haml b/app/views/wittle/puzzles/show.html.haml index 8628298..7307152 100644 --- a/app/views/wittle/puzzles/show.html.haml +++ b/app/views/wittle/puzzles/show.html.haml | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | .breadcrumb= link_to "← Back to home page", root_path | ||
| 1 | %h1 Wittle ##{@puzzle.id} | 2 | %h1 Wittle ##{@puzzle.id} |
| 2 | .puzzle-description #{@puzzle.category.capitalize} - #{@puzzle.created_at.strftime("%B %-d, %Y")} | 3 | .puzzle-description #{@puzzle.category.capitalize} - #{@puzzle.created_at.strftime("%B %-d, %Y")} |
| 3 | #puzzle-container{ style: "display: flex; justify-content: center; align-items: center" } | 4 | #puzzle-container{ style: "display: flex; justify-content: center; align-items: center" } |
