openstax_kitchen 3.2.0 → 6.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 (144) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/changelog.yml +27 -0
  3. data/.github/workflows/rubocop.yml +28 -0
  4. data/.gitignore +1 -1
  5. data/CHANGELOG.md +94 -1
  6. data/Gemfile.lock +26 -18
  7. data/README.md +16 -0
  8. data/codecov.yaml +1 -0
  9. data/docker/ci +0 -1
  10. data/docker/rubocop +22 -0
  11. data/lib/kitchen/book_document.rb +1 -1
  12. data/lib/kitchen/book_element.rb +16 -2
  13. data/lib/kitchen/chapter_element.rb +10 -13
  14. data/lib/kitchen/chapter_element_enumerator.rb +1 -1
  15. data/lib/kitchen/composite_chapter_element.rb +7 -11
  16. data/lib/kitchen/composite_chapter_element_enumerator.rb +21 -0
  17. data/lib/kitchen/composite_page_element.rb +15 -10
  18. data/lib/kitchen/composite_page_element_enumerator.rb +1 -1
  19. data/lib/kitchen/config.rb +14 -0
  20. data/lib/kitchen/directions/bake_appendix.rb +3 -1
  21. data/lib/kitchen/directions/bake_chapter_glossary/main.rb +18 -0
  22. data/lib/kitchen/directions/bake_chapter_glossary/v1.rb +30 -0
  23. data/lib/kitchen/directions/bake_chapter_introductions.rb +23 -16
  24. data/lib/kitchen/directions/bake_chapter_introductions/chapter_introduction.xhtml.erb +0 -0
  25. data/lib/kitchen/directions/bake_chapter_key_concepts/main.rb +7 -2
  26. data/lib/kitchen/directions/bake_chapter_key_concepts/v1.rb +12 -7
  27. data/lib/kitchen/directions/bake_chapter_key_equations.rb +26 -21
  28. data/lib/kitchen/directions/bake_chapter_references/main.rb +16 -0
  29. data/lib/kitchen/directions/bake_chapter_references/v1.rb +35 -0
  30. data/lib/kitchen/directions/bake_chapter_section_exercises/main.rb +2 -2
  31. data/lib/kitchen/directions/bake_chapter_section_exercises/v1.rb +2 -1
  32. data/lib/kitchen/directions/bake_chapter_solutions/main.rb +11 -0
  33. data/lib/kitchen/directions/bake_chapter_solutions/v1.rb +37 -0
  34. data/lib/kitchen/directions/bake_chapter_summary.rb +56 -43
  35. data/lib/kitchen/directions/bake_composite_chapters.rb +1 -1
  36. data/lib/kitchen/directions/bake_composite_pages.rb +1 -1
  37. data/lib/kitchen/directions/bake_equations.rb +2 -2
  38. data/lib/kitchen/directions/bake_example.rb +8 -1
  39. data/lib/kitchen/directions/bake_figure.rb +14 -1
  40. data/lib/kitchen/directions/bake_first_elements.rb +22 -0
  41. data/lib/kitchen/directions/bake_footnotes/main.rb +2 -2
  42. data/lib/kitchen/directions/bake_footnotes/v1.rb +13 -9
  43. data/lib/kitchen/directions/bake_free_response/free_response.xhtml.erb +10 -0
  44. data/lib/kitchen/directions/{bake_chapter_review → bake_free_response}/main.rb +3 -3
  45. data/lib/kitchen/directions/bake_free_response/v1.rb +29 -0
  46. data/lib/kitchen/directions/bake_further_research.rb +61 -0
  47. data/lib/kitchen/directions/bake_index/v1.rb +36 -26
  48. data/lib/kitchen/directions/bake_link_placeholders.rb +1 -1
  49. data/lib/kitchen/directions/bake_notes/bake_note_subtitle.rb +4 -0
  50. data/lib/kitchen/directions/bake_notes/bake_numbered_notes/main.rb +43 -0
  51. data/lib/kitchen/directions/bake_notes/bake_numbered_notes/v1.rb +37 -0
  52. data/lib/kitchen/directions/bake_notes/bake_numbered_notes/v2.rb +25 -0
  53. data/lib/kitchen/directions/bake_notes/bake_numbered_notes/v3.rb +32 -0
  54. data/lib/kitchen/directions/bake_numbered_exercise/main.rb +7 -2
  55. data/lib/kitchen/directions/bake_numbered_exercise/v1.rb +34 -12
  56. data/lib/kitchen/directions/bake_numbered_table/bake_table_body.rb +29 -0
  57. data/lib/kitchen/directions/bake_numbered_table/main.rb +4 -0
  58. data/lib/kitchen/directions/bake_numbered_table/v1.rb +1 -24
  59. data/lib/kitchen/directions/bake_numbered_table/v2.rb +31 -0
  60. data/lib/kitchen/directions/bake_page_abstracts.rb +1 -1
  61. data/lib/kitchen/directions/bake_preface/main.rb +2 -2
  62. data/lib/kitchen/directions/bake_preface/v1.rb +3 -2
  63. data/lib/kitchen/directions/bake_references/main.rb +16 -0
  64. data/lib/kitchen/directions/bake_references/v1.rb +48 -0
  65. data/lib/kitchen/directions/bake_suggested_reading.rb +5 -0
  66. data/lib/kitchen/directions/bake_toc.rb +4 -2
  67. data/lib/kitchen/directions/book_answer_key_container/eob_answer_key_outer_container.xhtml.erb +9 -0
  68. data/lib/kitchen/directions/book_answer_key_container/main.rb +11 -0
  69. data/lib/kitchen/directions/book_answer_key_container/v1.rb +14 -0
  70. data/lib/kitchen/directions/chapter_review_container/chapter_review.xhtml.erb +9 -0
  71. data/lib/kitchen/directions/chapter_review_container/main.rb +11 -0
  72. data/lib/kitchen/directions/chapter_review_container/v1.rb +15 -0
  73. data/lib/kitchen/directions/eoc_section_title_link_snippet.rb +14 -1
  74. data/lib/kitchen/directions/move_exercises_to_eoc/main.rb +37 -0
  75. data/lib/kitchen/directions/{bake_chapter_review_exercises → move_exercises_to_eoc}/v1.rb +8 -10
  76. data/lib/kitchen/directions/{bake_chapter_review_exercises → move_exercises_to_eoc}/v2.rb +8 -9
  77. data/lib/kitchen/directions/move_exercises_to_eoc/v3.rb +49 -0
  78. data/lib/kitchen/directions/{bake_chapter_answer_key → move_solutions_to_answer_key}/main.rb +7 -3
  79. data/lib/kitchen/directions/{bake_chapter_answer_key → move_solutions_to_answer_key}/strategies/calculus.rb +1 -1
  80. data/lib/kitchen/directions/move_solutions_to_answer_key/strategies/default.rb +27 -0
  81. data/lib/kitchen/directions/move_solutions_to_answer_key/strategies/precalculus.rb +84 -0
  82. data/lib/kitchen/directions/{bake_chapter_answer_key → move_solutions_to_answer_key}/strategies/uphysics.rb +7 -5
  83. data/lib/kitchen/directions/{bake_chapter_answer_key → move_solutions_to_answer_key}/v1.rb +12 -6
  84. data/lib/kitchen/document.rb +20 -42
  85. data/lib/kitchen/element.rb +9 -3
  86. data/lib/kitchen/element_base.rb +108 -21
  87. data/lib/kitchen/element_enumerator_base.rb +33 -2
  88. data/lib/kitchen/element_enumerator_factory.rb +28 -12
  89. data/lib/kitchen/element_factory.rb +3 -3
  90. data/lib/kitchen/example_element.rb +8 -11
  91. data/lib/kitchen/example_element_enumerator.rb +1 -1
  92. data/lib/kitchen/exercise_element.rb +7 -10
  93. data/lib/kitchen/exercise_element_enumerator.rb +1 -1
  94. data/lib/kitchen/figure_element.rb +8 -11
  95. data/lib/kitchen/figure_element_enumerator.rb +1 -1
  96. data/lib/kitchen/id_tracker.rb +68 -0
  97. data/lib/kitchen/metadata_element.rb +8 -2
  98. data/lib/kitchen/metadata_element_enumerator.rb +1 -1
  99. data/lib/kitchen/note_element.rb +8 -11
  100. data/lib/kitchen/note_element_enumerator.rb +1 -1
  101. data/lib/kitchen/oven.rb +5 -1
  102. data/lib/kitchen/page_element.rb +27 -12
  103. data/lib/kitchen/page_element_enumerator.rb +1 -1
  104. data/lib/kitchen/patches/i18n.rb +34 -0
  105. data/lib/kitchen/patches/integer.rb +24 -0
  106. data/lib/kitchen/patches/nokogiri.rb +62 -0
  107. data/lib/kitchen/patches/nokogiri_profiling.rb +60 -0
  108. data/lib/kitchen/reference_element.rb +27 -0
  109. data/lib/kitchen/references_element_enumerator.rb +20 -0
  110. data/lib/kitchen/search_query.rb +31 -3
  111. data/lib/kitchen/selector.rb +25 -0
  112. data/lib/kitchen/selectors/base.rb +39 -0
  113. data/lib/kitchen/selectors/standard_1.rb +13 -0
  114. data/lib/kitchen/table_element.rb +8 -11
  115. data/lib/kitchen/table_element_enumerator.rb +1 -1
  116. data/lib/kitchen/templates/eob_section_title_template.xhtml.erb +10 -0
  117. data/lib/kitchen/templates/eoc_section_title_template.xhtml.erb +10 -0
  118. data/lib/kitchen/term_element.rb +5 -8
  119. data/lib/kitchen/term_element_enumerator.rb +1 -1
  120. data/lib/kitchen/unit_element.rb +13 -7
  121. data/lib/kitchen/unit_element_enumerator.rb +1 -1
  122. data/lib/kitchen/version.rb +1 -1
  123. data/lib/locales/en.yml +5 -1
  124. data/lib/locales/es.yml +33 -0
  125. data/lib/locales/pl.yml +3 -2
  126. data/lib/openstax_kitchen.rb +2 -5
  127. data/openstax_kitchen.gemspec +1 -0
  128. metadata +66 -25
  129. data/.github/config.yml +0 -14
  130. data/lib/kitchen/directions/bake_book_answer_key/eob_solutions_container.xhtml.erb +0 -9
  131. data/lib/kitchen/directions/bake_book_answer_key/main.rb +0 -11
  132. data/lib/kitchen/directions/bake_book_answer_key/v1.rb +0 -13
  133. data/lib/kitchen/directions/bake_chapter_glossary.rb +0 -39
  134. data/lib/kitchen/directions/bake_chapter_key_concepts/key_concepts.xhtml.erb +0 -16
  135. data/lib/kitchen/directions/bake_chapter_review/chapter_review.xhtml.erb +0 -9
  136. data/lib/kitchen/directions/bake_chapter_review/v1.rb +0 -13
  137. data/lib/kitchen/directions/bake_chapter_review_exercises/main.rb +0 -15
  138. data/lib/kitchen/directions/bake_chapter_review_exercises/review_exercises.xhtml.erb +0 -10
  139. data/lib/kitchen/directions/bake_exercises/main.rb +0 -12
  140. data/lib/kitchen/directions/bake_exercises/v1.rb +0 -169
  141. data/lib/kitchen/directions/bake_notes/bake_notes.rb +0 -48
  142. data/lib/kitchen/directions/bake_notes/bake_numbered_notes.rb +0 -63
  143. data/lib/kitchen/directions/bake_problem_first_elements.rb +0 -16
  144. data/lib/kitchen/transliterations.rb +0 -21
@@ -13,6 +13,19 @@ module Kitchen
13
13
  self.title_in_page = "./*[@data-type = 'document-title']"
14
14
  self.title_in_introduction_page = "./*[@data-type = 'document-title']"
15
15
  self.page_summary = 'section.summary'
16
+ self.reference = '.reference'
17
+ self.chapter = "div[data-type='chapter']"
18
+ self.page = "div[data-type='page']"
19
+ self.note = "div[data-type='note']"
20
+ self.term = "span[data-type='term']"
21
+ self.table = 'table'
22
+ self.figure = 'figure'
23
+ self.metadata = "div[data-type='metadata']"
24
+ self.composite_page = "div[data-type='composite-page']"
25
+ self.composite_chapter = "div[data-type='composite-chapter']"
26
+ self.example = "div[data-type='example']"
27
+ self.exercise = "div[data-type='exercise']"
28
+ self.unit = "div[data-type='unit']"
16
29
  end
17
30
 
18
31
  end
@@ -13,8 +13,14 @@ module Kitchen
13
13
  def initialize(node:, document: nil)
14
14
  super(node: node,
15
15
  document: document,
16
- enumerator_class: TableElementEnumerator,
17
- short_type: :table)
16
+ enumerator_class: TableElementEnumerator)
17
+ end
18
+
19
+ # Returns the short type
20
+ # @return [Symbol]
21
+ #
22
+ def self.short_type
23
+ :table
18
24
  end
19
25
 
20
26
  # Returns an element for the title row, if present
@@ -74,14 +80,5 @@ module Kitchen
74
80
  first('caption')
75
81
  end
76
82
 
77
- # Returns true if this class represents the element for the given node
78
- #
79
- # @param node [Nokogiri::XML::Node] the underlying node
80
- # @return [Boolean]
81
- #
82
- def self.is_the_element_class_for?(node)
83
- node.name == 'table'
84
- end
85
-
86
83
  end
87
84
  end
@@ -11,7 +11,7 @@ module Kitchen
11
11
  #
12
12
  def self.factory
13
13
  ElementEnumeratorFactory.new(
14
- default_css_or_xpath: 'table', # TODO: get from config?
14
+ default_css_or_xpath: Selector.named(:table),
15
15
  sub_element_class: TableElement,
16
16
  enumerator_class: self
17
17
  )
@@ -0,0 +1,10 @@
1
+ <div class="os-eob os-<%=@klass%>-container" data-type="composite-page" data-uuid-key="<%=@uuid_prefix%><%=@klass%>">
2
+ <h1 data-type="document-title">
3
+ <span class="os-text"><%= @title %></span>
4
+ </h1>
5
+ <div data-type="metadata" style="display: none;">
6
+ <h1 data-type="document-title" itemprop="name"><%= @title %></h1>
7
+ <%= @metadata.paste %>
8
+ </div>
9
+ <%= @content %>
10
+ </div>
@@ -0,0 +1,10 @@
1
+ <div class="os-eoc os-<%=@klass%>-container" data-type="composite-page" data-uuid-key="<%=@uuid_prefix%><%=@klass%>">
2
+ <<%= @in_composite_chapter ? 'h3' : 'h2' %> data-type="<%= @in_composite_chapter ? 'title' : 'document-title' %>">
3
+ <span class="os-text"><%= @title %></span>
4
+ </<%= @in_composite_chapter ? 'h3' : 'h2' %>>
5
+ <div data-type="metadata" style="display: none;">
6
+ <h1 data-type="document-title" itemprop="name"><%= @in_composite_chapter ? I18n.t(:eoc_composite_metadata_title) : @title %></h1>
7
+ <%= @metadata.paste %>
8
+ </div>
9
+ <%= @content %>
10
+ </div>
@@ -13,17 +13,14 @@ module Kitchen
13
13
  def initialize(node:, document: nil)
14
14
  super(node: node,
15
15
  document: document,
16
- enumerator_class: TermElementEnumerator,
17
- short_type: :term)
16
+ enumerator_class: TermElementEnumerator)
18
17
  end
19
18
 
20
- # Returns true if this class represents the element for the given node
19
+ # Returns the short type
20
+ # @return [Symbol]
21
21
  #
22
- # @param node [Nokogiri::XML::Node] the underlying node
23
- # @return [Boolean]
24
- #
25
- def self.is_the_element_class_for?(node)
26
- node['data-type'] == 'term'
22
+ def self.short_type
23
+ :term
27
24
  end
28
25
 
29
26
  end
@@ -11,7 +11,7 @@ module Kitchen
11
11
  #
12
12
  def self.factory
13
13
  ElementEnumeratorFactory.new(
14
- default_css_or_xpath: "span[data-type='term']", # TODO: get from config?
14
+ default_css_or_xpath: Selector.named(:term),
15
15
  sub_element_class: TermElement,
16
16
  enumerator_class: self
17
17
  )
@@ -13,8 +13,14 @@ module Kitchen
13
13
  def initialize(node:, document: nil)
14
14
  super(node: node,
15
15
  document: document,
16
- enumerator_class: UnitElementEnumerator,
17
- short_type: :unit)
16
+ enumerator_class: UnitElementEnumerator)
17
+ end
18
+
19
+ # Returns the short type
20
+ # @return [Symbol]
21
+ #
22
+ def self.short_type
23
+ :unit
18
24
  end
19
25
 
20
26
  # Get the title in the immediate children, not the one in the metadata. Could use
@@ -27,13 +33,13 @@ module Kitchen
27
33
  first!("./*[@data-type = 'document-title']")
28
34
  end
29
35
 
30
- # Returns true if this class represents the element for the given node
36
+ # Returns the title's text regardless of whether the title has been baked
31
37
  #
32
- # @param node [Nokogiri::XML::Node] the underlying node
33
- # @return [Boolean]
38
+ # @return [String]
34
39
  #
35
- def self.is_the_element_class_for?(node)
36
- node['data-type'] == 'unit'
40
+ def title_text
41
+ title.children.one? ? title.text : title.first('.os-text').text
37
42
  end
43
+
38
44
  end
39
45
  end
@@ -11,7 +11,7 @@ module Kitchen
11
11
  #
12
12
  def self.factory
13
13
  ElementEnumeratorFactory.new(
14
- default_css_or_xpath: "div[data-type='unit']",
14
+ default_css_or_xpath: Selector.named(:unit),
15
15
  sub_element_class: UnitElement,
16
16
  enumerator_class: self
17
17
  )
@@ -3,5 +3,5 @@
3
3
  # A library for modifying the structure of OpenStax book XML.
4
4
  #
5
5
  module Kitchen
6
- VERSION = '3.2.0'
6
+ VERSION = '6.0.0'
7
7
  end
data/lib/locales/en.yml CHANGED
@@ -15,14 +15,18 @@ en:
15
15
  chapter_review: Chapter Review
16
16
  learning_objectives: Learning Objectives
17
17
  stepwise_step_label: Step
18
+ references: References
19
+ answer_key_title: Answer Key
18
20
  eoc_chapter_review: Chapter Review
19
21
  eoc_key_terms_title: Key Terms
20
22
  eoc_summary_title: Summary
21
23
  eoc_exercises_title: Exercises
22
- eoc_answer_key_title: Answer Key
24
+ eoc_composite_metadata_title: Chapter Review
25
+ eoc_solutions_title: Solutions
23
26
  eoc_key_concepts: Key Concepts
24
27
  eoc_key_equations: Key Equations
25
28
  eoc_suggested_reading: Suggestions for Further Study
29
+ eoc_further_research_title: Further Research
26
30
  eob_index_title: Index
27
31
  eob_index_symbols_group: Symbols
28
32
  review_exercises: Review Exercises
@@ -0,0 +1,33 @@
1
+ es:
2
+ figure: Figura
3
+ table_label: Tabla
4
+ appendix: Apéndice
5
+ theorem: Teorema
6
+ solution: Solución
7
+ chapter_outline: Esquema Del Capitulo
8
+ toc_title: Contenido
9
+ example_label: Ejemplo
10
+ exercise_label: Ejercicio
11
+ equation: Ecuación
12
+ chapter: Capítulo
13
+ unit: Unidad
14
+ checkpoint: Punto De Control
15
+ chapter_review: Revisión Del Capítulo
16
+ learning_objectives: Objetivos De Aprendizaje
17
+ stepwise_step_label: Paso
18
+ references: Referencias
19
+ answer_key_title: Respuestas Clave
20
+ eoc_chapter_review: Revisión Del Capítulo
21
+ eoc_key_terms_title: Términos Clave
22
+ eoc_summary_title: Resumen
23
+ eoc_exercises_title: Ejercicios
24
+ eoc_composite_metadata_title: Revisión Del Capítulo
25
+ eoc_solutions_title: Soluciones
26
+ eoc_key_concepts: Conceptos Clave
27
+ eoc_key_equations: Ecuaciones Clave
28
+ eoc_suggested_reading: Sugerencias Para Estudios Adicionales
29
+ eoc_further_research_title: Investigación Adicional
30
+ eob_index_title: Índice
31
+ eob_index_symbols_group: Símbolos
32
+ review_exercises: Ejercicios De Repaso
33
+ section_exercises: ! 'Sección %{number} Ejercicios'
data/lib/locales/pl.yml CHANGED
@@ -14,10 +14,11 @@ pl:
14
14
  chapter_review: Podsumowanie rozdziału
15
15
  learning_objectives: Cel dydaktyczny
16
16
  stepwise_step_label: Krok
17
+ answer_key_title: Rozwiązania zadań
17
18
  eoc_chapter_review: Podsumowanie rozdziału
18
- eoc_key_terms_title: Kluczowe pojęcia
19
+ key_terms_title: Kluczowe pojęcia
20
+ eoc_solutions_title: Rozwiązania
19
21
  eoc_summary_title: Podsumowanie
20
- eoc_answer_key_title: Rozwiązania zadań
21
22
  eoc_key_equations: Najważniejsze wzory
22
23
  eob_index_title: Skorowidz rzeczowy
23
24
  eob_index_symbols_group: Symbole
@@ -25,7 +25,6 @@ require 'kitchen/selectors/base'
25
25
  require_all('kitchen/selectors')
26
26
 
27
27
  require 'kitchen/utils'
28
- require 'kitchen/transliterations'
29
28
  require 'kitchen/errors'
30
29
  require 'kitchen/ancestor'
31
30
  require 'kitchen/search_query'
@@ -40,6 +39,8 @@ require 'kitchen/oven'
40
39
  require 'kitchen/clipboard'
41
40
  require 'kitchen/pantry'
42
41
  require 'kitchen/counter'
42
+ require 'kitchen/selector'
43
+ require 'kitchen/id_tracker'
43
44
 
44
45
  require 'kitchen/element_enumerator_base'
45
46
  require 'kitchen/element_enumerator_factory'
@@ -52,7 +53,3 @@ require 'kitchen/element_factory'
52
53
  require_all('kitchen/directions')
53
54
 
54
55
  I18n.backend.load_translations(file_glob('/locales/*.yml'))
55
-
56
- I18n.available_locales.each do |available_locale|
57
- I18n.backend.store_translations(available_locale, Kitchen::TRANSLITERATIONS)
58
- end
@@ -33,6 +33,7 @@ Gem::Specification.new do |spec|
33
33
  spec.add_dependency 'i18n'
34
34
  spec.add_dependency 'nokogiri'
35
35
  spec.add_dependency 'rainbow'
36
+ spec.add_dependency 'twitter_cldr'
36
37
 
37
38
  spec.add_development_dependency 'byebug'
38
39
  spec.add_development_dependency 'inch'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openstax_kitchen
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - JP Slavinsky
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-04-20 00:00:00.000000000 Z
11
+ date: 2021-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: twitter_cldr
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: byebug
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -186,7 +200,8 @@ extensions: []
186
200
  extra_rdoc_files: []
187
201
  files:
188
202
  - ".devcontainer/devcontainer.json"
189
- - ".github/config.yml"
203
+ - ".github/workflows/changelog.yml"
204
+ - ".github/workflows/rubocop.yml"
190
205
  - ".github/workflows/tests.yml"
191
206
  - ".gitignore"
192
207
  - ".inch.yml"
@@ -208,6 +223,7 @@ files:
208
223
  - docker/bash
209
224
  - docker/build
210
225
  - docker/ci
226
+ - docker/rubocop
211
227
  - docker/run
212
228
  - docker/tag_and_push_latest
213
229
  - lefthook.yml
@@ -220,6 +236,7 @@ files:
220
236
  - lib/kitchen/chapter_element_enumerator.rb
221
237
  - lib/kitchen/clipboard.rb
222
238
  - lib/kitchen/composite_chapter_element.rb
239
+ - lib/kitchen/composite_chapter_element_enumerator.rb
223
240
  - lib/kitchen/composite_page_element.rb
224
241
  - lib/kitchen/composite_page_element_enumerator.rb
225
242
  - lib/kitchen/config.rb
@@ -227,28 +244,19 @@ files:
227
244
  - lib/kitchen/debug/print_recipe_error.rb
228
245
  - lib/kitchen/directions/.rubocop.yml
229
246
  - lib/kitchen/directions/bake_appendix.rb
230
- - lib/kitchen/directions/bake_book_answer_key/eob_solutions_container.xhtml.erb
231
- - lib/kitchen/directions/bake_book_answer_key/main.rb
232
- - lib/kitchen/directions/bake_book_answer_key/v1.rb
233
- - lib/kitchen/directions/bake_chapter_answer_key/main.rb
234
- - lib/kitchen/directions/bake_chapter_answer_key/strategies/calculus.rb
235
- - lib/kitchen/directions/bake_chapter_answer_key/strategies/uphysics.rb
236
- - lib/kitchen/directions/bake_chapter_answer_key/v1.rb
237
- - lib/kitchen/directions/bake_chapter_glossary.rb
247
+ - lib/kitchen/directions/bake_chapter_glossary/main.rb
248
+ - lib/kitchen/directions/bake_chapter_glossary/v1.rb
238
249
  - lib/kitchen/directions/bake_chapter_introductions.rb
239
- - lib/kitchen/directions/bake_chapter_key_concepts/key_concepts.xhtml.erb
250
+ - lib/kitchen/directions/bake_chapter_introductions/chapter_introduction.xhtml.erb
240
251
  - lib/kitchen/directions/bake_chapter_key_concepts/main.rb
241
252
  - lib/kitchen/directions/bake_chapter_key_concepts/v1.rb
242
253
  - lib/kitchen/directions/bake_chapter_key_equations.rb
243
- - lib/kitchen/directions/bake_chapter_review/chapter_review.xhtml.erb
244
- - lib/kitchen/directions/bake_chapter_review/main.rb
245
- - lib/kitchen/directions/bake_chapter_review/v1.rb
246
- - lib/kitchen/directions/bake_chapter_review_exercises/main.rb
247
- - lib/kitchen/directions/bake_chapter_review_exercises/review_exercises.xhtml.erb
248
- - lib/kitchen/directions/bake_chapter_review_exercises/v1.rb
249
- - lib/kitchen/directions/bake_chapter_review_exercises/v2.rb
254
+ - lib/kitchen/directions/bake_chapter_references/main.rb
255
+ - lib/kitchen/directions/bake_chapter_references/v1.rb
250
256
  - lib/kitchen/directions/bake_chapter_section_exercises/main.rb
251
257
  - lib/kitchen/directions/bake_chapter_section_exercises/v1.rb
258
+ - lib/kitchen/directions/bake_chapter_solutions/main.rb
259
+ - lib/kitchen/directions/bake_chapter_solutions/v1.rb
252
260
  - lib/kitchen/directions/bake_chapter_summary.rb
253
261
  - lib/kitchen/directions/bake_chapter_title/main.rb
254
262
  - lib/kitchen/directions/bake_chapter_title/v1.rb
@@ -257,11 +265,14 @@ files:
257
265
  - lib/kitchen/directions/bake_composite_pages.rb
258
266
  - lib/kitchen/directions/bake_equations.rb
259
267
  - lib/kitchen/directions/bake_example.rb
260
- - lib/kitchen/directions/bake_exercises/main.rb
261
- - lib/kitchen/directions/bake_exercises/v1.rb
262
268
  - lib/kitchen/directions/bake_figure.rb
269
+ - lib/kitchen/directions/bake_first_elements.rb
263
270
  - lib/kitchen/directions/bake_footnotes/main.rb
264
271
  - lib/kitchen/directions/bake_footnotes/v1.rb
272
+ - lib/kitchen/directions/bake_free_response/free_response.xhtml.erb
273
+ - lib/kitchen/directions/bake_free_response/main.rb
274
+ - lib/kitchen/directions/bake_free_response/v1.rb
275
+ - lib/kitchen/directions/bake_further_research.rb
265
276
  - lib/kitchen/directions/bake_index/main.rb
266
277
  - lib/kitchen/directions/bake_index/v1.rb
267
278
  - lib/kitchen/directions/bake_index/v1.xhtml.erb
@@ -270,17 +281,22 @@ files:
270
281
  - lib/kitchen/directions/bake_non_introduction_pages.rb
271
282
  - lib/kitchen/directions/bake_notes/bake_autotitled_notes.rb
272
283
  - lib/kitchen/directions/bake_notes/bake_note_subtitle.rb
273
- - lib/kitchen/directions/bake_notes/bake_notes.rb
274
- - lib/kitchen/directions/bake_notes/bake_numbered_notes.rb
284
+ - lib/kitchen/directions/bake_notes/bake_numbered_notes/main.rb
285
+ - lib/kitchen/directions/bake_notes/bake_numbered_notes/v1.rb
286
+ - lib/kitchen/directions/bake_notes/bake_numbered_notes/v2.rb
287
+ - lib/kitchen/directions/bake_notes/bake_numbered_notes/v3.rb
275
288
  - lib/kitchen/directions/bake_notes/bake_unclassified_notes.rb
276
289
  - lib/kitchen/directions/bake_numbered_exercise/main.rb
277
290
  - lib/kitchen/directions/bake_numbered_exercise/v1.rb
291
+ - lib/kitchen/directions/bake_numbered_table/bake_table_body.rb
278
292
  - lib/kitchen/directions/bake_numbered_table/main.rb
279
293
  - lib/kitchen/directions/bake_numbered_table/v1.rb
294
+ - lib/kitchen/directions/bake_numbered_table/v2.rb
280
295
  - lib/kitchen/directions/bake_page_abstracts.rb
281
296
  - lib/kitchen/directions/bake_preface/main.rb
282
297
  - lib/kitchen/directions/bake_preface/v1.rb
283
- - lib/kitchen/directions/bake_problem_first_elements.rb
298
+ - lib/kitchen/directions/bake_references/main.rb
299
+ - lib/kitchen/directions/bake_references/v1.rb
284
300
  - lib/kitchen/directions/bake_stepwise.rb
285
301
  - lib/kitchen/directions/bake_suggested_reading.rb
286
302
  - lib/kitchen/directions/bake_theorem/main.rb
@@ -289,7 +305,23 @@ files:
289
305
  - lib/kitchen/directions/bake_unit_title/main.rb
290
306
  - lib/kitchen/directions/bake_unit_title/v1.rb
291
307
  - lib/kitchen/directions/bake_unnumbered_tables.rb
308
+ - lib/kitchen/directions/book_answer_key_container/eob_answer_key_outer_container.xhtml.erb
309
+ - lib/kitchen/directions/book_answer_key_container/main.rb
310
+ - lib/kitchen/directions/book_answer_key_container/v1.rb
311
+ - lib/kitchen/directions/chapter_review_container/chapter_review.xhtml.erb
312
+ - lib/kitchen/directions/chapter_review_container/main.rb
313
+ - lib/kitchen/directions/chapter_review_container/v1.rb
292
314
  - lib/kitchen/directions/eoc_section_title_link_snippet.rb
315
+ - lib/kitchen/directions/move_exercises_to_eoc/main.rb
316
+ - lib/kitchen/directions/move_exercises_to_eoc/v1.rb
317
+ - lib/kitchen/directions/move_exercises_to_eoc/v2.rb
318
+ - lib/kitchen/directions/move_exercises_to_eoc/v3.rb
319
+ - lib/kitchen/directions/move_solutions_to_answer_key/main.rb
320
+ - lib/kitchen/directions/move_solutions_to_answer_key/strategies/calculus.rb
321
+ - lib/kitchen/directions/move_solutions_to_answer_key/strategies/default.rb
322
+ - lib/kitchen/directions/move_solutions_to_answer_key/strategies/precalculus.rb
323
+ - lib/kitchen/directions/move_solutions_to_answer_key/strategies/uphysics.rb
324
+ - lib/kitchen/directions/move_solutions_to_answer_key/v1.rb
293
325
  - lib/kitchen/directions/move_title_text_into_span.rb
294
326
  - lib/kitchen/document.rb
295
327
  - lib/kitchen/element.rb
@@ -305,6 +337,7 @@ files:
305
337
  - lib/kitchen/exercise_element_enumerator.rb
306
338
  - lib/kitchen/figure_element.rb
307
339
  - lib/kitchen/figure_element_enumerator.rb
340
+ - lib/kitchen/id_tracker.rb
308
341
  - lib/kitchen/metadata_element.rb
309
342
  - lib/kitchen/metadata_element_enumerator.rb
310
343
  - lib/kitchen/mixins/block_error_if.rb
@@ -314,25 +347,33 @@ files:
314
347
  - lib/kitchen/page_element.rb
315
348
  - lib/kitchen/page_element_enumerator.rb
316
349
  - lib/kitchen/pantry.rb
350
+ - lib/kitchen/patches/i18n.rb
351
+ - lib/kitchen/patches/integer.rb
317
352
  - lib/kitchen/patches/nokogiri.rb
353
+ - lib/kitchen/patches/nokogiri_profiling.rb
318
354
  - lib/kitchen/patches/renderable.rb
319
355
  - lib/kitchen/patches/string.rb
320
356
  - lib/kitchen/recipe.rb
357
+ - lib/kitchen/reference_element.rb
358
+ - lib/kitchen/references_element_enumerator.rb
321
359
  - lib/kitchen/search_history.rb
322
360
  - lib/kitchen/search_query.rb
361
+ - lib/kitchen/selector.rb
323
362
  - lib/kitchen/selectors/base.rb
324
363
  - lib/kitchen/selectors/standard_1.rb
325
364
  - lib/kitchen/table_element.rb
326
365
  - lib/kitchen/table_element_enumerator.rb
366
+ - lib/kitchen/templates/eob_section_title_template.xhtml.erb
367
+ - lib/kitchen/templates/eoc_section_title_template.xhtml.erb
327
368
  - lib/kitchen/term_element.rb
328
369
  - lib/kitchen/term_element_enumerator.rb
329
- - lib/kitchen/transliterations.rb
330
370
  - lib/kitchen/type_casting_element_enumerator.rb
331
371
  - lib/kitchen/unit_element.rb
332
372
  - lib/kitchen/unit_element_enumerator.rb
333
373
  - lib/kitchen/utils.rb
334
374
  - lib/kitchen/version.rb
335
375
  - lib/locales/en.yml
376
+ - lib/locales/es.yml
336
377
  - lib/locales/pl.yml
337
378
  - lib/notes.md
338
379
  - lib/openstax_kitchen.rb