openstax_kitchen 9.0.0 → 11.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +50 -1
  3. data/Gemfile.lock +2 -2
  4. data/lib/kitchen/chapter_element.rb +8 -0
  5. data/lib/kitchen/composite_page_element.rb +2 -4
  6. data/lib/kitchen/directions/bake_annotation_classes/main.rb +12 -0
  7. data/lib/kitchen/directions/bake_annotation_classes/v1.rb +32 -0
  8. data/lib/kitchen/directions/bake_chapter_glossary/main.rb +3 -2
  9. data/lib/kitchen/directions/bake_chapter_glossary/v1.rb +10 -1
  10. data/lib/kitchen/directions/bake_chapter_key_concepts/v1.rb +11 -21
  11. data/lib/kitchen/directions/bake_chapter_references/v1.rb +1 -3
  12. data/lib/kitchen/directions/bake_chapter_solutions/main.rb +7 -2
  13. data/lib/kitchen/directions/bake_chapter_solutions/v1.rb +11 -9
  14. data/lib/kitchen/directions/bake_chapter_summary.rb +1 -2
  15. data/lib/kitchen/directions/bake_eoc_section_content/change_subsection_title_tag.rb +13 -0
  16. data/lib/kitchen/directions/bake_example.rb +6 -8
  17. data/lib/kitchen/directions/bake_first_elements.rb +15 -2
  18. data/lib/kitchen/directions/bake_folio.rb +12 -0
  19. data/lib/kitchen/directions/bake_free_response/v1.rb +1 -1
  20. data/lib/kitchen/directions/bake_further_research.rb +1 -3
  21. data/lib/kitchen/directions/bake_handbook/main.rb +11 -0
  22. data/lib/kitchen/directions/bake_handbook/v1.rb +74 -0
  23. data/lib/kitchen/directions/bake_inline_lists.rb +1 -1
  24. data/lib/kitchen/directions/bake_lists_with_para.rb +17 -0
  25. data/lib/kitchen/directions/bake_notes/bake_autotitled_notes.rb +1 -0
  26. data/lib/kitchen/directions/bake_notes/bake_note_iframes.rb +27 -0
  27. data/lib/kitchen/directions/bake_numbered_exercise/v1.rb +19 -0
  28. data/lib/kitchen/directions/bake_numbered_table/bake_table_body.rb +57 -16
  29. data/lib/kitchen/directions/bake_numbered_table/v1.rb +2 -2
  30. data/lib/kitchen/directions/bake_numbered_table/v2.rb +2 -2
  31. data/lib/kitchen/directions/bake_toc.rb +9 -0
  32. data/lib/kitchen/directions/bake_unit_page_title/main.rb +11 -0
  33. data/lib/kitchen/directions/bake_unit_page_title/v1.rb +23 -0
  34. data/lib/kitchen/directions/eoc_section_title_link_snippet.rb +32 -21
  35. data/lib/kitchen/directions/move_custom_section_to_eoc_container/main.rb +4 -3
  36. data/lib/kitchen/directions/move_custom_section_to_eoc_container/v1.rb +19 -3
  37. data/lib/kitchen/directions/move_exercises_to_eoc/v1.rb +1 -2
  38. data/lib/kitchen/directions/move_exercises_to_eoc/v2.rb +11 -30
  39. data/lib/kitchen/directions/move_exercises_to_eoc/v3.rb +1 -2
  40. data/lib/kitchen/directions/move_solutions_to_answer_key/move_solutions_from_exercise_section.rb +40 -0
  41. data/lib/kitchen/directions/move_solutions_to_answer_key/move_solutions_from_numbered_note.rb +33 -0
  42. data/lib/kitchen/directions/move_solutions_to_answer_key/solution_area_snippet.rb +12 -0
  43. data/lib/kitchen/directions/move_solutions_to_answer_key/strategies/calculus.rb +1 -1
  44. data/lib/kitchen/directions/move_solutions_to_answer_key/strategies/contemporary_math.rb +23 -0
  45. data/lib/kitchen/directions/move_solutions_to_answer_key/strategies/default.rb +1 -1
  46. data/lib/kitchen/directions/move_solutions_to_answer_key/strategies/precalculus.rb +19 -40
  47. data/lib/kitchen/directions/move_solutions_to_answer_key/strategies/uphysics.rb +6 -48
  48. data/lib/kitchen/directions/move_solutions_to_answer_key/v1.rb +10 -3
  49. data/lib/kitchen/element_base.rb +0 -4
  50. data/lib/kitchen/example_element.rb +9 -3
  51. data/lib/kitchen/exercise_element.rb +8 -0
  52. data/lib/kitchen/figure_element.rb +11 -0
  53. data/lib/kitchen/metadata_element.rb +2 -2
  54. data/lib/kitchen/note_element.rb +8 -1
  55. data/lib/kitchen/page_element.rb +19 -8
  56. data/lib/kitchen/table_element.rb +25 -0
  57. data/lib/kitchen/version.rb +1 -1
  58. data/lib/locales/en.yml +6 -0
  59. data/lib/locales/es.yml +3 -0
  60. metadata +16 -4
  61. data/lib/kitchen/directions/bake_theorem/main.rb +0 -11
  62. data/lib/kitchen/directions/bake_theorem/v1.rb +0 -28
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fca2eb47435f5ff74342d7de2afc02e2c55eed224f1ae669b440d52a1c50b1b0
4
- data.tar.gz: f22d42bc7618868d1890e149d9e0bf5134945b8fccce5c7742827e6c53589d81
3
+ metadata.gz: e6964a7fe85234e82e7f54f3b6d4980633f4f4c29c49d3123743c214d9f46653
4
+ data.tar.gz: 2426f1990ae74d35d2ac098bcf7d5c09aa5094eeef598dd9658d8fedf97916c4
5
5
  SHA512:
6
- metadata.gz: a457781d0bcb61533c5b96ca0b2ffcde74a69743a54c09f4b901b7e769056d1d616afa736df40067e7472a479c8526505d72fe5d7e9ecf3eca6789581d92c380
7
- data.tar.gz: 9f517fbc86ae32e0fd2bbc108774a9f4b94a63df01675530c7f26d7f9bf9522654f4ddb5d7e1c9d141b1a67a0ccc6a98ac2f8c0cf94719ccf04b67cfbf69f240
6
+ metadata.gz: faba0041d8c958c3ffa369dbe2d0c5453f8a236bedd0654e362afa65c84093ec22771dadaa9a313e688f6644681267b63f263ba60af9d1b81a211bc3c98a5df1
7
+ data.tar.gz: a1e8ff40b3377508904ab62980302f129527755512f58506c805d7ae1507977ce65f1c993786cdeffc5f3871e4448e5d4df264979539d60f995d7f9c7b3ece48
data/CHANGELOG.md CHANGED
@@ -6,9 +6,58 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [11.0.0] - 2021-08-6
10
+
11
+ * Add `ChangeSubsectionTitleTag` direction for modifying eoc sections (minor)
12
+ * Add `MoveSolutionsFromNumberedNote`, `MoveSolutionsFromExerciseSection`, and `SolutionAreaSnippet` for answer key baking (minor)
13
+ * Refactor the following `Strategies`: contemporary math, precalculus, uphysics (minor)
14
+ * Fix `BakeUnitPageTite` to utilize only pages which are direct children of the unit (patch)
15
+ * Patch `BakeFirstElements` to include first figure elements (patch)
16
+ * Refactor `MoveCustomSectionToEocContainer` to remove `include_intro_page` (major)
17
+ * Update `BakeFirstElement` to optionally add the `has-first-inline-element` class (patch)
18
+ * Patch `BakeExample` crashing if an example has commentary but no title (patch)
19
+ * Refactor `EocSectionTitleLinkSnippet` to only have v1 with optional params (major)
20
+ * Adds `PageElement#count_in_chapter_without_intro_page` (minor)
21
+ * Adds `ChapterElement#has_introduction?` (minor)
22
+ * Adds `BakeFolio` to set spanish translation variables in the html tag for folio-pdf purposes (minor)
23
+ * Create `BakeAnnotationClasses` v1 for English Composition (minor)
24
+
25
+ ## [10.0.0] - 2021-07-30
26
+
27
+ * Add support for baking multipart questions to `BakeNumberedExercise` (minor)
28
+ * Add `has_para` option to `BakeChapterGlossary` for books from Adaptarr (minor)
29
+ * Create `BakeListsWithPara` to remove paragraphs from lists in books created by Adaptarr (minor)
30
+ * Create `Strategy::ContemporaryMath` (minor)
31
+ * Stop `BakeTableBody` from blowing up when table doesn't have an ID (patch)
32
+ * Refactor `MoveExercisesToEOC::V2` & `BakeChapterKeyConcepts` to use `MoveCustomSectionToEocContainer` (minor)
33
+ * Add wrapper support for `MoveCustomSectionToEocContainer` (minor)
34
+ * Create `BakeHandbook` direction (minor)
35
+ * Add `ExampleElement#titles_to_rename` & refactor `BakeExample` (patch)
36
+ * Create `BakeUnitPageTitle` (minor)
37
+ * Fix `BakeExample` to skip baked exercises (patch)
38
+ * Add `FigureElement#figure_to_bake?` (minor)
39
+ * Remove `itemprop` attribute from `BakeChapterSummary` and `BakeFurtherResearch` (major)
40
+ * Fix `NoteElement#title` to exclude nested element titles (patch)
41
+ * Remove `BakeTheorem` (minor)
42
+ * Allow `BakeChapterSolutions` to bake solutions from multiple sections (minor)
43
+ * Add `.os-problem-container` to `BakeFirstElement` selectors (minor)
44
+ * Tweak `BakeExample` to not touch unbaked titles in captions (minor/patch)
45
+ * Tweak `BakeNumberedTables.v1` to cut extra white space (minor)
46
+
47
+ ## [9.2.0] - 2021-07-19
48
+
49
+ * Update `BakeFirstElements` to also add the `.has-first-inline-list` class (minor)
50
+
51
+ ## [9.1.0] - 2021-07-16
52
+
53
+ * Add `BakeNoteIFrames` direction (minor)
54
+ * Selector optimization in precalculus `Strategy` & elsewhere (patch)
55
+ * Tweaks inline list seperators to only target labeled items (major?)
56
+ * Add definition of handbook page selector needed for BakeToc, create a link class for this page (minor)
57
+
9
58
  ## [9.0.0] - 2021-07-12
10
59
 
11
- * Refactor `BakeChapterKeyConcepts`, `BakeChapterReferences`, `BakeChapterSolutions`, and `MoveExercisesToEoc` versions 1-3 to use new general eoc directions (major?)
60
+ * Refactor `BakeChapterKeyConcepts`, `BakeChapterReferences`, `BakeChapterSolutions`, and `MoveExercisesToEoc` versions 1-3 to use new general eoc directions (major)
12
61
  * Fixed `BakeExample.v1` to also search inside `.body` for titles (minor)
13
62
  * Add documentation to `MoveCustomSectionToEocContainer` & `EocCompositePageContainer` (minor)
14
63
  * Add a `MoveCustomSectionToEocContainer` to allow for custom sections (minor)
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- openstax_kitchen (9.0.0)
4
+ openstax_kitchen (11.0.0)
5
5
  activesupport
6
6
  i18n
7
7
  nokogiri
@@ -99,7 +99,7 @@ GEM
99
99
  tins (~> 1.0)
100
100
  tins (1.26.0)
101
101
  sync
102
- twitter_cldr (6.6.0)
102
+ twitter_cldr (6.7.0)
103
103
  camertron-eprun
104
104
  cldr-plurals-runtime-rb (~> 1.1)
105
105
  tzinfo
@@ -44,6 +44,14 @@ module Kitchen
44
44
  pages('$.introduction').first
45
45
  end
46
46
 
47
+ # Returns true if the chapter has an introduction
48
+ #
49
+ # @return [Boolean]
50
+ #
51
+ def has_introduction?
52
+ @has_introduction ||= introduction_page.present?
53
+ end
54
+
47
55
  # Returns an enumerator for the glossaries
48
56
  #
49
57
  # @return [ElementEnumerator]
@@ -29,10 +29,8 @@ module Kitchen
29
29
  # @return [Element]
30
30
  #
31
31
  def title
32
- # Get the title in the immediate children, not the one in the metadata. Could use
33
- # CSS of ":not([data-type='metadata']) > [data-type='document-title'], [data-type='document-title']"
34
- # but xpath is shorter
35
- first!("./*[@data-type = 'document-title' or @data-type = 'title']")
32
+ first!('h3[data-type="title"], h2[data-type="document-title"],' \
33
+ 'h1[data-type="document-title"]')
36
34
  end
37
35
 
38
36
  # Returns true if this page is a book index
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Kitchen
4
+ module Directions
5
+ module BakeAnnotationClasses
6
+ def self.v1(chapter:)
7
+ V1.new.bake(
8
+ chapter: chapter)
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Kitchen::Directions::BakeAnnotationClasses
4
+ class V1
5
+ def bake(chapter:)
6
+ chapter.search('p.annotation').each do |annotation|
7
+ annotation.wrap_children('span', class: 'os-text')
8
+ annotation.prepend(child:
9
+ <<~HTML
10
+ <div class="os-icons"></div>
11
+ HTML
12
+ )
13
+ end
14
+ annotation_icon_classes = %w[linguistic-icon
15
+ culture-icon
16
+ dreaming-icon
17
+ visual-icon
18
+ speech-icon
19
+ auditory-icon
20
+ kinesthetic-icon]
21
+ annotation_icon_classes.each do |annotation_icon_class|
22
+ chapter.search("p.#{annotation_icon_class}").each do |annotation_with_icon_class|
23
+ annotation_with_icon_class.search('div.os-icons').first.append(child:
24
+ <<~HTML
25
+ <span class = "#{annotation_icon_class}"></span>
26
+ HTML
27
+ )
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -5,12 +5,13 @@ module Kitchen
5
5
  # Bake directons for eoc glossary
6
6
  #
7
7
  module BakeChapterGlossary
8
- def self.v1(chapter:, metadata_source:, append_to: nil, uuid_prefix: nil)
8
+ def self.v1(chapter:, metadata_source:, append_to: nil, uuid_prefix: nil, has_para: false)
9
9
  V1.new.bake(
10
10
  chapter: chapter,
11
11
  metadata_source: metadata_source,
12
12
  append_to: append_to,
13
- uuid_prefix: uuid_prefix
13
+ uuid_prefix: uuid_prefix,
14
+ has_para: has_para
14
15
  )
15
16
  end
16
17
  end
@@ -21,9 +21,18 @@ module Kitchen::Directions::BakeChapterGlossary
21
21
  attr_reader :sortable
22
22
  end
23
23
 
24
- def bake(chapter:, metadata_source:, append_to: nil, uuid_prefix: '')
24
+ def bake(chapter:, metadata_source:, append_to: nil, uuid_prefix: '', has_para: false)
25
25
  @glossary = []
26
26
 
27
+ # Use for books created by Adaptarr, where dd contains paragraphs
28
+ # More info: https://github.com/openstax/kitchen/issues/284
29
+ if has_para
30
+ chapter.glossaries.search('dd').each do |description|
31
+ description_content = description.first('p').text
32
+ description.replace_children with: description_content
33
+ end
34
+ end
35
+
27
36
  chapter.glossaries.search('dl').each do |definition_element|
28
37
  @glossary.push(Definition.new(definition_element.cut))
29
38
  end
@@ -3,29 +3,19 @@
3
3
  module Kitchen::Directions::BakeChapterKeyConcepts
4
4
  class V1
5
5
  def bake(chapter:, metadata_source:, append_to:, uuid_prefix:)
6
- key_concepts_clipboard = Kitchen::Clipboard.new
7
- chapter.non_introduction_pages.each do |page|
8
- key_concepts = page.key_concepts
9
- next if key_concepts.none?
10
-
11
- title = Kitchen::Directions::EocSectionTitleLinkSnippet.v1(page: page)
12
- key_concepts.each do |key_concept|
13
- Kitchen::Directions::RemoveSectionTitle.v1(section: key_concept)
14
- key_concept.prepend(child: title)
15
- key_concept.wrap("<div class='os-section-area'>")
16
- page.search('div.os-section-area').first.cut(to: key_concepts_clipboard)
17
- end
18
- end
19
-
20
- content = "<div class=\"os-key-concepts\"> #{key_concepts_clipboard.paste} </div>"
21
-
22
- Kitchen::Directions::EocCompositePageContainer.v1(
6
+ Kitchen::Directions::MoveCustomSectionToEocContainer.v1(
7
+ chapter: chapter,
8
+ metadata_source: metadata_source,
23
9
  container_key: 'key-concepts',
24
10
  uuid_key: "#{uuid_prefix}key-concepts",
25
- metadata_source: metadata_source,
26
- content: content,
27
- append_to: append_to || chapter
28
- )
11
+ section_selector: 'section.key-concepts',
12
+ append_to: append_to || chapter,
13
+ wrap_section: true, wrap_content: true
14
+ ) do |section|
15
+ Kitchen::Directions::RemoveSectionTitle.v1(section: section)
16
+ title = Kitchen::Directions::EocSectionTitleLinkSnippet.v1(page: section.ancestor(:page))
17
+ section.prepend(child: title)
18
+ end
29
19
  end
30
20
  end
31
21
  end
@@ -3,9 +3,7 @@
3
3
  module Kitchen::Directions::BakeChapterReferences
4
4
  class V1
5
5
  def bake(chapter:, metadata_source:, uuid_prefix: '.', klass: 'references')
6
- bake_page_references(page: chapter.introduction_page)
7
-
8
- chapter.non_introduction_pages.each do |page|
6
+ chapter.pages.each do |page|
9
7
  bake_page_references(page: page)
10
8
  end
11
9
 
@@ -3,8 +3,13 @@
3
3
  module Kitchen
4
4
  module Directions
5
5
  module BakeChapterSolutions
6
- def self.v1(chapter:, metadata_source:, uuid_prefix: '')
7
- V1.new.bake(chapter: chapter, metadata_source: metadata_source, uuid_prefix: uuid_prefix)
6
+ def self.v1(chapter:, metadata_source:, uuid_prefix: '', classes: %w[free-response])
7
+ V1.new.bake(
8
+ chapter: chapter,
9
+ metadata_source: metadata_source,
10
+ uuid_prefix: uuid_prefix,
11
+ classes: classes
12
+ )
8
13
  end
9
14
  end
10
15
  end
@@ -2,20 +2,22 @@
2
2
 
3
3
  module Kitchen::Directions::BakeChapterSolutions
4
4
  class V1
5
- def bake(chapter:, metadata_source:, uuid_prefix: '')
5
+ def bake(chapter:, metadata_source:, uuid_prefix: '', classes: %w[free-response])
6
6
  solutions_clipboard = Kitchen::Clipboard.new
7
7
 
8
- chapter.search('section.free-response').each do |free_response_question|
9
- exercises = free_response_question.exercises
10
- # must run AFTER .free-response notes are baked
8
+ classes.each do |klass|
9
+ chapter.search("section.#{klass}").each do |question|
10
+ exercises = question.exercises
11
+ # must run AFTER the other sections are baked
11
12
 
12
- next if exercises.none?
13
+ next if exercises.none?
13
14
 
14
- exercises.each do |exercise|
15
- solution = exercise.solution
16
- next unless solution.present?
15
+ exercises.each do |exercise|
16
+ solution = exercise.solution
17
+ next unless solution.present?
17
18
 
18
- solution.cut(to: solutions_clipboard)
19
+ solution.cut(to: solutions_clipboard)
20
+ end
19
21
  end
20
22
  end
21
23
 
@@ -18,7 +18,7 @@ module Kitchen
18
18
  def bake(chapter:, metadata_source:, uuid_prefix: '.', klass: 'summary')
19
19
  summaries = Clipboard.new
20
20
 
21
- chapter.non_introduction_pages.each do |page|
21
+ chapter.pages.each do |page|
22
22
  summary = page.summary
23
23
 
24
24
  next if summary.nil?
@@ -26,7 +26,6 @@ module Kitchen
26
26
  summary.first("[data-type='title']")&.trash # get rid of old title if exists
27
27
  title = EocSectionTitleLinkSnippet.v1(page: page)
28
28
  summary.prepend(child: title)
29
- summary.first('h3')[:itemprop] = 'name'
30
29
  summary.cut(to: summaries)
31
30
  end
32
31
 
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Kitchen
4
+ module Directions
5
+ module ChangeSubsectionTitleTag
6
+ def self.v1(section:)
7
+ section.search('section').each do |subsection|
8
+ subsection.first('h4').name = 'h5'
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -20,18 +20,14 @@ module Kitchen
20
20
  .pantry(name: :link_text)
21
21
  .store("#{I18n.t(:example_label)} #{number}", label: example.id)
22
22
 
23
- example.titles.each do |title|
24
- if title.parent.has_class?('os-caption-container') || \
25
- title.parent.has_class?('os-caption')
26
- next
27
- end
28
-
23
+ example.titles_to_rename.each do |title|
29
24
  title.name = 'h4'
30
25
  end
31
26
 
32
27
  example.exercises.each do |exercise|
28
+ next if exercise.baked?
29
+
33
30
  if (problem = exercise.problem)
34
- problem.titles.each { |title| title.name = 'h4' }
35
31
  problem.wrap_children(class: 'os-problem-container')
36
32
  end
37
33
 
@@ -54,10 +50,12 @@ module Kitchen
54
50
 
55
51
  exercise.add_class('unnumbered')
56
52
 
57
- commentary = exercise.first('[data-type="commentary"]')
53
+ commentary = exercise.first('div[data-type="commentary"]')
58
54
  next unless commentary.present?
59
55
 
60
56
  commentary_title = commentary.titles.first
57
+ next unless commentary_title.present?
58
+
61
59
  commentary_title.name = 'h4'
62
60
  commentary_title['data-type'] = 'commentary-title'
63
61
  commentary_title.wrap_children('span', class: 'os-title-label')
@@ -3,12 +3,15 @@
3
3
  module Kitchen
4
4
  module Directions
5
5
  module BakeFirstElements
6
- def self.v1(within:)
6
+ def self.v1(within:, first_inline_list: false)
7
+ # add has-first-element class
7
8
  selectors = [
8
9
  'div.os-problem-container > div.os-table',
9
10
  'div.os-problem-container > span[data-type="media"]',
11
+ 'div.os-problem-container > div.os-figure',
10
12
  'div.os-solution-container > div.os-table',
11
- 'div.os-solution-container > span[data-type="media"]'
13
+ 'div.os-solution-container > span[data-type="media"]',
14
+ 'div.os-solution-container > div.os-figure'
12
15
  ]
13
16
  selectors.each do |selector|
14
17
  within.search("#{selector}:first-child").each do |problem|
@@ -16,6 +19,16 @@ module Kitchen
16
19
  problem.parent.add_class('has-first-element')
17
20
  end
18
21
  end
22
+
23
+ return unless first_inline_list
24
+
25
+ # add first-inline-element class
26
+ inline_selector = 'div.os-solution-container > ol[type="1"]:first-child,' \
27
+ 'div.os-problem-container > ol[type="1"]:first-child'
28
+ within.search(inline_selector).each do |inline_list|
29
+ inline_list.add_class('first-inline-list-element')
30
+ inline_list.parent.add_class('has-first-inline-list-element')
31
+ end
19
32
  end
20
33
  end
21
34
  end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Kitchen
4
+ module Directions
5
+ module BakeFolio
6
+ def self.v1(book:)
7
+ book['data-pdf-folio-preface-message'] = I18n.t(:"folio.preface")
8
+ book['data-pdf-folio-access-message'] = I18n.t(:"folio.access_for_free")
9
+ end
10
+ end
11
+ end
12
+ end
@@ -8,7 +8,7 @@ module Kitchen::Directions::BakeFreeResponse
8
8
  @metadata_elements = metadata_source.children_to_keep.copy
9
9
 
10
10
  @free_response_clipboard = Kitchen::Clipboard.new
11
- chapter.non_introduction_pages.each do |page|
11
+ chapter.pages.each do |page|
12
12
  free_response_questions = page.free_response
13
13
  next if free_response_questions.none?
14
14
 
@@ -20,13 +20,11 @@ module Kitchen
20
20
  container_key: 'further-research',
21
21
  uuid_key: "#{uuid_prefix}further-research",
22
22
  section_selector: 'section.further-research',
23
- append_to: nil,
24
- include_intro_page: false
23
+ append_to: nil
25
24
  ) do |further_research|
26
25
  RemoveSectionTitle.v1(section: further_research)
27
26
  title = EocSectionTitleLinkSnippet.v1(page: further_research.ancestor(:page))
28
27
  further_research.prepend(child: title)
29
- further_research.first('h3')[:itemprop] = 'name'
30
28
  end
31
29
  end
32
30
  end