openstax_kitchen 3.2.0 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
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