diff --git a/app/commands/user/challenges/featured_exercises_progress_12_in_23.rb b/app/commands/user/challenges/featured_exercises_progress_12_in_23.rb index e359a11729..eff0176ca6 100644 --- a/app/commands/user/challenges/featured_exercises_progress_12_in_23.rb +++ b/app/commands/user/challenges/featured_exercises_progress_12_in_23.rb @@ -34,6 +34,9 @@ class User::Challenges::FeaturedExercisesProgress12In23 NOVEMBER_TRACKS = %w[x86-64-assembly mips wasm].freeze NOVEMBER_EXERCISES = %w[pop-count grains resistor-color rotational-cipher nucleotide-count].freeze + DECEMBER_TRACKS = %w[cfml groovy lua vimscript wren].freeze + DECEMBER_EXERCISES = %w[all-your-base flatten-array queen-attack dnd-character run-length-encoding].freeze + def call exercises = self.class.featured_exercises.filter_map do |exercise_slug, track_slugs| next { slug: exercise_slug, earned_for: nil, track_slugs: } unless solutions.key?(exercise_slug) @@ -66,7 +69,8 @@ def self.featured_exercises AUGUST_EXERCISES.map { |e| [e, AUGUST_TRACKS] } + SEPTEMBER_EXERCISES.map { |e| [e, SEPTEMBER_TRACKS] } + OCTOBER_EXERCISES.map { |e| [e, OCTOBER_TRACKS] } + - NOVEMBER_EXERCISES.map { |e| [e, NOVEMBER_TRACKS] } + NOVEMBER_EXERCISES.map { |e| [e, NOVEMBER_TRACKS] } + + DECEMBER_EXERCISES.map { |e| [e, DECEMBER_TRACKS] } ).to_h end diff --git a/app/views/challenges/12in23.html.haml b/app/views/challenges/12in23.html.haml index 380bcde774..fa97a80655 100644 --- a/app/views/challenges/12in23.html.haml +++ b/app/views/challenges/12in23.html.haml @@ -5,15 +5,15 @@ .mr-auto{ class: 'max-w-[860px]' } .font-semibold.leading-150.flex.items-center.mb-4{ style: 'color: var(--colorPurpleToBrightPurple)' } %span.emoji.mr-6 πŸ“† - Month 11 of #12in23 - %h1.text-h1.mb-8 It's Nibbly November! ✨ + Month 12 of #12in23 + %h1.text-h1.mb-8 It's December Diversions! ✨ %p.text-p-xlarge.mb-20 - This month for #12in23 we're exploring assembly languages. - We're digging into the following languages: x86-64 Assembly, MIPS Assembly and WebAssembly, with interviews and live streaming and lots of fun exercises for you to complete! + This month for #12in23 we're exploring these. + We're digging into the following languages: ColdFusion, Groovy, Lua, VimScript and Wren, with interviews and live streaming and lots of fun exercises for you to complete! .shadow-baseZ1.grid.grid-cols-2.gap-20.py-20.px-20.rounded-8.bg-backgroundColorB .flex-shrink - %h2.text-h4.mb-2 Start by watching our Nibbly November overview video πŸ‘‰ + %h2.text-h4.mb-2 Start by watching our December Diversions overview video πŸ‘‰ %p.text-p-base.mb-8 Our introductory video gives a quick overview to the month, explores how these languages are different, looks at where they're useful, and finally gives a quick comparison between the featured languages this month. %p.text-p-base @@ -24,10 +24,10 @@ .c-youtube-container %iframe{ width: "560", height: "315", src: "https://www.youtube-nocookie.com/embed/Dc_eaC19vVo", title: "YouTube video player", frameborder: "0", allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture", allowfullscreen: true } - - tracks = Track.where(slug: User::Challenges::FeaturedExercisesProgress12In23::NOVEMBER_TRACKS) + - tracks = Track.where(slug: User::Challenges::FeaturedExercisesProgress12In23::DECEMBER_TRACKS) %h2.text-h3.mt-32.mb-2 Learn and Earn (the badge)! %p.text-p-large.mb-20 - Earn the Nibbly November badge for completing and publishing 5 exercises in one of the following languages. + Earn the December Diversions badge for completing and publishing 5 exercises in one of the following languages. - if tracks.any?(&:course?) Consider starting with a language with a syllabus ( = graphical_icon "concepts", css_class: 'w-[14px] h-[14px] filter-purple inline mx-[-4px]' @@ -45,26 +45,27 @@ %p.text-p-large.mb-12 You can solve any exercises in these tracks to get the badge, but we recommend the following as interesting challenges to approach in these languages: %ul.text-p-large.mb-12 + %li.mb-2 - = image_tag "#{Exercism.config.website_icons_host}/exercises/pop-count.svg", class: "w-[25px] inline" - %strong.font-semibold Pop Count: - Count the 1 bits in a number. + = image_tag "#{Exercism.config.website_icons_host}/exercises/all-your-base.svg", class: "w-[25px] inline" + %strong.font-semibold All Your Base: + Convert a number, represented as a sequence of digits, to another base. %li.mb-2 - = image_tag "#{Exercism.config.website_icons_host}/exercises/grains.svg", class: "w-[25px] inline" - %strong.font-semibold Grains: - Calculate the number of grains on a chessboard with doubling squares. + = image_tag "#{Exercism.config.website_icons_host}/exercises/flatten-array.svg", class: "w-[25px] inline" + %strong.font-semibold Flatten Array: + Take a nested collection and return a single, non-nested collection. %li.mb-2 - = image_tag "#{Exercism.config.website_icons_host}/exercises/resistor-color.svg", class: "w-[25px] inline" - %strong.font-semibold Resistor Color: - Convert a resistor band's color to its numeric representation. + = image_tag "#{Exercism.config.website_icons_host}/exercises/queen-attack.svg", class: "w-[25px] inline" + %strong.font-semibold Queen Attack: + Determine whether two queens on a chess board can attack each other. %li.mb-2 - = image_tag "#{Exercism.config.website_icons_host}/exercises/rotational-cipher.svg", class: "w-[25px] inline" - %strong.font-semibold Rotational Cipher: - Implement the rotational cipher (aka the Caesar cipher). + = image_tag "#{Exercism.config.website_icons_host}/exercises/dnd-character.svg", class: "w-[25px] inline" + %strong.font-semibold DND Character: + Randomly generate Dungeons & Dragons characters. %li.mb-2 - = image_tag "#{Exercism.config.website_icons_host}/exercises/nucleotide-count.svg", class: "w-[25px] inline" - %strong.font-semibold Nucleotide Count: - Compute how many times each nucleotide occurs in a DNA string. + = image_tag "#{Exercism.config.website_icons_host}/exercises/run-length-encoding.svg", class: "w-[25px] inline" + %strong.font-semibold Run-Length Encoding: + Implement run-length encoding and decoding. %h2.text-h3.mt-32.mb-4 Learn from others… πŸŽ₯ %p.text-p-large.mb-12.c-highlight-links diff --git a/app/views/challenges/external.html.haml b/app/views/challenges/external.html.haml index f13c1527d3..447d3061fe 100644 --- a/app/views/challenges/external.html.haml +++ b/app/views/challenges/external.html.haml @@ -18,7 +18,7 @@ in 2023. %p Go old-school with COBOL, cutting edge with Unison or esoteric with Prolog. Explore low-level code with Assembly, expressions with a Lisp or functional with Haskell! - %strong.block.font-semibold This month is Nibbly November. Join the Challenge to learn more! + %strong.block.font-semibold This month is December Diversions. Join the Challenge to learn more! %p.unsure Expand your knowledge. Have fun. Join the community. 100% free. diff --git a/app/views/dashboard/show.html.haml b/app/views/dashboard/show.html.haml index 428572c496..065fa79c4d 100644 --- a/app/views/dashboard/show.html.haml +++ b/app/views/dashboard/show.html.haml @@ -89,10 +89,10 @@ .flex.flex-col.items-start.mb-28 .text-adaptivePurple.font-semibold.leading-150.flex.items-center.mb-4 %span.emoji.mr-6 πŸ“† - Month 11 of #12in23 - %h2.text-h3 It's Nibbly November + Month 12 of #12in23 + %h2.text-h3 It's December Diversions %p.text-p-base.mb-6 - This month we're exploring assembly languages: x86-64 Assembly, MIPS Assembly and WebAssembly! + This month we're exploring these languages: ColdFusion, Groovy, Lua, VimScript and Wren. Have fun! = link_to challenge_path('12in23'), class: "btn btn-primary btn-base" do %span Explore #12in23 diff --git a/app/views/layouts/nav/challenge_12in23.html.haml b/app/views/layouts/nav/challenge_12in23.html.haml index 7333d28a2e..91271cad76 100644 --- a/app/views/layouts/nav/challenge_12in23.html.haml +++ b/app/views/layouts/nav/challenge_12in23.html.haml @@ -4,7 +4,7 @@ %p.text-p-base.font-semibold.mb-8 Try out 12 different programming languages in 2023, curated and guided by us! %p.text-p-base.mb-16 - This month is Nibbly November, exploring assembly languages: x86-64 Assembly, MIPS Assembly and WebAssembly. + This month is December Diversions, exploring these languages: ColdFusion, Groovy, Lua, VimScript and Wren. = link_to "Explore #12in23", challenge_path("12in23"), class: 'btn-primary btn-s mb-12'