Sha256: 55342b09e832728fa626827bcfb006a6bb4b0a24ff1227528b3ceb1c3ff6e326
Contents?: true
Size: 1.48 KB
Versions: 4
Compression:
Stored size: 1.48 KB
Contents
# frozen_string_literal: true module Kitchen::Directions module BakeNumberedNotes class V3 # for the try it notes, must be called AFTER bake_exercises def bake(book:, classes:, suppress_solution: true) classes.each do |klass| book.chapters.pages.notes("$.#{klass}").each do |note| note.wrap_children(class: 'os-note-body') previous_example = note.previous until previous_example.nil? || previous_example[:'data-type'] == 'example' previous_example = previous_example.previous end os_number = previous_example&.first('.os-number')&.children&.to_s note.prepend(child: <<~HTML <h3 class="os-title"> <span class="os-title-label">#{note.autogenerated_title}</span> <span class="os-number">#{os_number}</span> </h3> HTML ) note.title&.trash note.exercises.each do |exercise| BakeNumberedNotes.bake_note_exercise( note: note, exercise: exercise, divider: '. ', suppress_solution: suppress_solution ) end note.injected_questions.each do |question| BakeNumberedNotes.bake_note_injected_question(note: note, question: question) end note.search("div[data-type='solution']").each&.trash if suppress_solution end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems