openstax_kitchen 9.0.0 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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