brakeman 5.2.2 → 7.1.1

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 (952) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +153 -0
  3. data/README.md +9 -6
  4. data/bundle/load.rb +16 -15
  5. data/bundle/ruby/3.1.0/gems/csv-3.3.5/LICENSE.txt +33 -0
  6. data/bundle/ruby/3.1.0/gems/csv-3.3.5/NEWS.md +1009 -0
  7. data/bundle/ruby/3.1.0/gems/csv-3.3.5/README.md +55 -0
  8. data/bundle/ruby/3.1.0/gems/csv-3.3.5/lib/csv/core_ext/array.rb +9 -0
  9. data/bundle/ruby/3.1.0/gems/csv-3.3.5/lib/csv/core_ext/string.rb +9 -0
  10. data/bundle/ruby/3.1.0/gems/csv-3.3.5/lib/csv/fields_converter.rb +96 -0
  11. data/bundle/ruby/3.1.0/gems/csv-3.3.5/lib/csv/input_record_separator.rb +18 -0
  12. data/bundle/ruby/3.1.0/gems/csv-3.3.5/lib/csv/parser.rb +1302 -0
  13. data/bundle/ruby/3.1.0/gems/csv-3.3.5/lib/csv/row.rb +757 -0
  14. data/bundle/ruby/3.1.0/gems/csv-3.3.5/lib/csv/table.rb +1055 -0
  15. data/bundle/ruby/3.1.0/gems/csv-3.3.5/lib/csv/version.rb +6 -0
  16. data/bundle/ruby/3.1.0/gems/csv-3.3.5/lib/csv/writer.rb +209 -0
  17. data/bundle/ruby/3.1.0/gems/csv-3.3.5/lib/csv.rb +3017 -0
  18. data/bundle/ruby/3.1.0/gems/haml-6.4.0/CHANGELOG.md +1681 -0
  19. data/bundle/ruby/3.1.0/gems/haml-6.4.0/FAQ.md +147 -0
  20. data/bundle/ruby/3.1.0/gems/haml-6.4.0/Gemfile +34 -0
  21. data/bundle/ruby/3.1.0/gems/haml-6.4.0/MIT-LICENSE +20 -0
  22. data/bundle/ruby/3.1.0/gems/haml-6.4.0/README.md +205 -0
  23. data/bundle/ruby/3.1.0/gems/haml-6.4.0/REFERENCE.md +1309 -0
  24. data/bundle/ruby/3.1.0/gems/haml-6.4.0/exe/haml +6 -0
  25. data/bundle/ruby/3.1.0/gems/haml-6.4.0/haml.gemspec +45 -0
  26. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/ambles.rb +20 -0
  27. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/attribute_builder.rb +162 -0
  28. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/attribute_compiler.rb +133 -0
  29. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/attribute_parser.rb +116 -0
  30. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/cli.rb +154 -0
  31. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/compiler/children_compiler.rb +155 -0
  32. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/compiler/comment_compiler.rb +51 -0
  33. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/compiler/doctype_compiler.rb +52 -0
  34. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/compiler/script_compiler.rb +114 -0
  35. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/compiler/silent_script_compiler.rb +24 -0
  36. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/compiler/tag_compiler.rb +76 -0
  37. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/compiler.rb +97 -0
  38. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/dynamic_merger.rb +67 -0
  39. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/engine.rb +59 -0
  40. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/error.rb +66 -0
  41. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/escape.rb +13 -0
  42. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/escape_any.rb +21 -0
  43. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/base.rb +12 -0
  44. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/cdata.rb +20 -0
  45. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/coffee.rb +17 -0
  46. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/css.rb +33 -0
  47. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/erb.rb +10 -0
  48. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/escaped.rb +22 -0
  49. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/javascript.rb +33 -0
  50. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/less.rb +20 -0
  51. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/markdown.rb +11 -0
  52. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/plain.rb +29 -0
  53. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/preserve.rb +22 -0
  54. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/ruby.rb +10 -0
  55. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/sass.rb +15 -0
  56. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/scss.rb +15 -0
  57. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/text_base.rb +25 -0
  58. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters/tilt_base.rb +59 -0
  59. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/filters.rb +75 -0
  60. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/force_escape.rb +29 -0
  61. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/helpers.rb +15 -0
  62. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/html.rb +22 -0
  63. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/identity.rb +13 -0
  64. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/object_ref.rb +35 -0
  65. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/parser.rb +991 -0
  66. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/rails_helpers.rb +53 -0
  67. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/rails_template.rb +62 -0
  68. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/railtie.rb +10 -0
  69. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/ruby_expression.rb +32 -0
  70. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/string_splitter.rb +140 -0
  71. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/template.rb +20 -0
  72. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/temple_line_counter.rb +31 -0
  73. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/util.rb +262 -0
  74. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/version.rb +4 -0
  75. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml/whitespace.rb +8 -0
  76. data/bundle/ruby/3.1.0/gems/haml-6.4.0/lib/haml.rb +13 -0
  77. data/bundle/ruby/3.1.0/gems/highline-3.1.2/Changelog.md +658 -0
  78. data/bundle/ruby/3.1.0/gems/highline-3.1.2/Gemfile +21 -0
  79. data/bundle/ruby/3.1.0/gems/highline-3.1.2/README.md +240 -0
  80. data/bundle/ruby/3.1.0/gems/highline-3.1.2/highline.gemspec +40 -0
  81. data/bundle/ruby/3.1.0/gems/highline-3.1.2/lib/highline/io_console_compatible.rb +37 -0
  82. data/bundle/ruby/3.1.0/gems/highline-3.1.2/lib/highline/list_renderer.rb +261 -0
  83. data/bundle/ruby/3.1.0/gems/highline-3.1.2/lib/highline/menu.rb +578 -0
  84. data/bundle/ruby/3.1.0/gems/highline-3.1.2/lib/highline/question/answer_converter.rb +100 -0
  85. data/bundle/ruby/3.1.0/gems/highline-3.1.2/lib/highline/question.rb +640 -0
  86. data/bundle/ruby/3.1.0/gems/highline-3.1.2/lib/highline/question_asker.rb +152 -0
  87. data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/lib/highline/style.rb +0 -0
  88. data/bundle/ruby/3.1.0/gems/highline-3.1.2/lib/highline/terminal/io_console.rb +36 -0
  89. data/bundle/ruby/3.1.0/gems/highline-3.1.2/lib/highline/terminal/unix_stty.rb +53 -0
  90. data/bundle/ruby/3.1.0/gems/highline-3.1.2/lib/highline/terminal.rb +192 -0
  91. data/bundle/ruby/3.1.0/gems/highline-3.1.2/lib/highline/version.rb +6 -0
  92. data/bundle/ruby/3.1.0/gems/highline-3.1.2/lib/highline.rb +676 -0
  93. data/bundle/ruby/3.1.0/gems/parallel-1.27.0/lib/parallel/version.rb +4 -0
  94. data/bundle/ruby/3.1.0/gems/parallel-1.27.0/lib/parallel.rb +708 -0
  95. data/bundle/ruby/3.1.0/gems/reline-0.6.2/COPYING +56 -0
  96. data/bundle/ruby/3.1.0/gems/reline-0.6.2/README.md +94 -0
  97. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/config.rb +378 -0
  98. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/face.rb +199 -0
  99. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/history.rb +76 -0
  100. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/io/ansi.rb +322 -0
  101. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/io/dumb.rb +120 -0
  102. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/io/windows.rb +530 -0
  103. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/io.rb +55 -0
  104. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/key_actor/base.rb +37 -0
  105. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/key_actor/composite.rb +17 -0
  106. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/key_actor/emacs.rb +517 -0
  107. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/key_actor/vi_command.rb +518 -0
  108. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/key_actor/vi_insert.rb +517 -0
  109. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/key_actor.rb +8 -0
  110. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/key_stroke.rb +119 -0
  111. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/kill_ring.rb +125 -0
  112. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/line_editor.rb +2356 -0
  113. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/unicode/east_asian_width.rb +1292 -0
  114. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/unicode.rb +421 -0
  115. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline/version.rb +3 -0
  116. data/bundle/ruby/3.1.0/gems/reline-0.6.2/lib/reline.rb +527 -0
  117. data/bundle/ruby/3.1.0/gems/reline-0.6.2/license_of_rb-readline +25 -0
  118. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/LICENSE.txt +22 -0
  119. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/NEWS.md +843 -0
  120. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/README.md +57 -0
  121. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/attribute.rb +210 -0
  122. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/cdata.rb +68 -0
  123. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/child.rb +96 -0
  124. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/comment.rb +80 -0
  125. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/doctype.rb +306 -0
  126. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/document.rb +471 -0
  127. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/element.rb +2578 -0
  128. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/encoding.rb +48 -0
  129. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/entity.rb +142 -0
  130. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/formatters/pretty.rb +142 -0
  131. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/functions.rb +446 -0
  132. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/instruction.rb +79 -0
  133. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/namespace.rb +63 -0
  134. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/node.rb +80 -0
  135. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/parseexception.rb +53 -0
  136. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/parsers/baseparser.rb +949 -0
  137. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/parsers/pullparser.rb +213 -0
  138. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/parsers/sax2parser.rb +270 -0
  139. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/parsers/streamparser.rb +67 -0
  140. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/parsers/treeparser.rb +89 -0
  141. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/parsers/xpathparser.rb +739 -0
  142. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/quickpath.rb +267 -0
  143. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/rexml.rb +39 -0
  144. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/security.rb +28 -0
  145. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/source.rb +388 -0
  146. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/text.rb +420 -0
  147. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/validation/relaxng.rb +540 -0
  148. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/validation/validation.rb +144 -0
  149. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/xpath.rb +70 -0
  150. data/bundle/ruby/3.1.0/gems/rexml-3.4.4/lib/rexml/xpath_parser.rb +980 -0
  151. data/bundle/ruby/3.1.0/gems/ruby2ruby-2.5.2/History.rdoc +463 -0
  152. data/bundle/ruby/3.1.0/gems/ruby2ruby-2.5.2/lib/ruby2ruby.rb +1448 -0
  153. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/History.rdoc +1345 -0
  154. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/Manifest.txt +48 -0
  155. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/README.rdoc +113 -0
  156. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/compare/normalize.rb +219 -0
  157. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby20_parser.rb +10956 -0
  158. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby20_parser.y +2707 -0
  159. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby21_parser.rb +10981 -0
  160. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby21_parser.y +2724 -0
  161. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby22_parser.rb +11122 -0
  162. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby22_parser.y +2735 -0
  163. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby23_parser.rb +11163 -0
  164. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby23_parser.y +2737 -0
  165. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby24_parser.rb +11212 -0
  166. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby24_parser.y +2745 -0
  167. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby25_parser.rb +11212 -0
  168. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby25_parser.y +2745 -0
  169. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby26_parser.rb +11234 -0
  170. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby26_parser.y +2760 -0
  171. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby27_parser.rb +12963 -0
  172. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby27_parser.y +3360 -0
  173. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby30_parser.rb +13316 -0
  174. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby30_parser.y +3508 -0
  175. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby31_parser.rb +13649 -0
  176. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby31_parser.y +3542 -0
  177. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby32_parser.rb +13601 -0
  178. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby32_parser.y +3543 -0
  179. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby3_parser.yy +3635 -0
  180. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby_lexer.rb +1159 -0
  181. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby_lexer.rex.rb +399 -0
  182. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby_lexer_strings.rb +638 -0
  183. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby_parser.rb +100 -0
  184. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby_parser.yy +3501 -0
  185. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby_parser_extras.rb +1878 -0
  186. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/tools/munge.rb +256 -0
  187. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/tools/ripper.rb +46 -0
  188. data/bundle/ruby/3.1.0/gems/sexp_processor-4.17.4/History.rdoc +493 -0
  189. data/bundle/ruby/3.1.0/gems/sexp_processor-4.17.4/lib/pt_testcase.rb +3137 -0
  190. data/bundle/ruby/3.1.0/gems/sexp_processor-4.17.4/lib/sexp.rb +397 -0
  191. data/bundle/ruby/3.1.0/gems/sexp_processor-4.17.4/lib/sexp_matcher.rb +1100 -0
  192. data/bundle/ruby/3.1.0/gems/sexp_processor-4.17.4/lib/sexp_processor.rb +754 -0
  193. data/bundle/ruby/3.1.0/gems/sexp_processor-4.17.4/lib/strict_sexp.rb +149 -0
  194. data/bundle/ruby/3.1.0/gems/slim-5.2.1/CHANGES +496 -0
  195. data/bundle/ruby/3.1.0/gems/slim-5.2.1/Gemfile +43 -0
  196. data/bundle/ruby/3.1.0/gems/slim-5.2.1/LICENSE +21 -0
  197. data/bundle/ruby/3.1.0/gems/slim-5.2.1/README.jp.md +1276 -0
  198. data/bundle/ruby/3.1.0/gems/slim-5.2.1/README.md +1313 -0
  199. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/code_attributes.rb +68 -0
  200. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/command.rb +122 -0
  201. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/controls.rb +61 -0
  202. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/do_inserter.rb +34 -0
  203. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/embedded.rb +248 -0
  204. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/end_inserter.rb +63 -0
  205. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/engine.rb +42 -0
  206. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/erb_converter.rb +15 -0
  207. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/filter.rb +31 -0
  208. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/grammar.rb +24 -0
  209. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/include.rb +58 -0
  210. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/interpolation.rb +36 -0
  211. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/logic_less/context.rb +126 -0
  212. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/logic_less/filter.rb +81 -0
  213. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/logic_less.rb +6 -0
  214. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/parser.rb +535 -0
  215. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/railtie.rb +19 -0
  216. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/smart/escaper.rb +42 -0
  217. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/smart/filter.rb +97 -0
  218. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/smart/parser.rb +35 -0
  219. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/smart.rb +9 -0
  220. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/splat/builder.rb +115 -0
  221. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/splat/filter.rb +93 -0
  222. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/template.rb +6 -0
  223. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/translator.rb +119 -0
  224. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim/version.rb +6 -0
  225. data/bundle/ruby/3.1.0/gems/slim-5.2.1/lib/slim.rb +16 -0
  226. data/bundle/ruby/3.1.0/gems/slim-5.2.1/slim.gemspec +33 -0
  227. data/bundle/ruby/3.1.0/gems/temple-0.10.4/CHANGES +302 -0
  228. data/bundle/ruby/3.1.0/gems/temple-0.10.4/Gemfile +2 -0
  229. data/bundle/ruby/3.1.0/gems/temple-0.10.4/README.md +267 -0
  230. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/engine.rb +68 -0
  231. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/erb/engine.rb +18 -0
  232. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/erb/parser.rb +41 -0
  233. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/erb/template.rb +12 -0
  234. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/erb/trimming.rb +24 -0
  235. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/exceptions.rb +14 -0
  236. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/filter.rb +10 -0
  237. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/filters/ambles.rb +22 -0
  238. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/filters/code_merger.rb +31 -0
  239. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/filters/control_flow.rb +43 -0
  240. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/filters/dynamic_inliner.rb +72 -0
  241. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/filters/dynamic_merger.rb +69 -0
  242. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/filters/encoding.rb +25 -0
  243. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/filters/eraser.rb +23 -0
  244. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/filters/escapable.rb +41 -0
  245. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/filters/multi_flattener.rb +26 -0
  246. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/filters/remove_bom.rb +14 -0
  247. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/filters/static_analyzer.rb +31 -0
  248. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/filters/static_merger.rb +38 -0
  249. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/filters/string_splitter.rb +142 -0
  250. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/filters/validator.rb +16 -0
  251. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/generator.rb +91 -0
  252. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/generators/array.rb +22 -0
  253. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/generators/array_buffer.rb +30 -0
  254. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/generators/erb.rb +33 -0
  255. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/generators/rails_output_buffer.rb +35 -0
  256. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/generators/string_buffer.rb +26 -0
  257. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/grammar.rb +58 -0
  258. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/html/attribute_merger.rb +43 -0
  259. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/html/attribute_remover.rb +36 -0
  260. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/html/attribute_sorter.rb +22 -0
  261. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/html/dispatcher.rb +32 -0
  262. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/html/fast.rb +131 -0
  263. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/html/filter.rb +22 -0
  264. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/html/pretty.rb +104 -0
  265. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/html/safe.rb +24 -0
  266. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/map.rb +106 -0
  267. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/mixins/dispatcher.rb +162 -0
  268. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/mixins/engine_dsl.rb +146 -0
  269. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/mixins/grammar_dsl.rb +172 -0
  270. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/mixins/options.rb +88 -0
  271. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/mixins/template.rb +29 -0
  272. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/parser.rb +9 -0
  273. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/static_analyzer.rb +78 -0
  274. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/templates/rails.rb +31 -0
  275. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/templates/tilt.rb +39 -0
  276. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/templates.rb +12 -0
  277. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/utils.rb +91 -0
  278. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple/version.rb +4 -0
  279. data/bundle/ruby/3.1.0/gems/temple-0.10.4/lib/temple.rb +70 -0
  280. data/bundle/ruby/3.1.0/gems/temple-0.10.4/temple.gemspec +27 -0
  281. data/bundle/ruby/3.1.0/gems/terminal-table-4.0.0/History.rdoc +149 -0
  282. data/bundle/ruby/3.1.0/gems/terminal-table-4.0.0/README.md +417 -0
  283. data/bundle/ruby/3.1.0/gems/terminal-table-4.0.0/lib/terminal-table/cell.rb +94 -0
  284. data/bundle/ruby/3.1.0/gems/terminal-table-4.0.0/lib/terminal-table/row.rb +66 -0
  285. data/bundle/ruby/3.1.0/gems/terminal-table-4.0.0/lib/terminal-table/separator.rb +66 -0
  286. data/bundle/ruby/3.1.0/gems/terminal-table-4.0.0/lib/terminal-table/style.rb +284 -0
  287. data/bundle/ruby/3.1.0/gems/terminal-table-4.0.0/lib/terminal-table/table.rb +374 -0
  288. data/bundle/ruby/3.1.0/gems/terminal-table-4.0.0/lib/terminal-table/util.rb +13 -0
  289. data/bundle/ruby/3.1.0/gems/terminal-table-4.0.0/lib/terminal-table/version.rb +5 -0
  290. data/bundle/ruby/3.1.0/gems/terminal-table-4.0.0/lib/terminal-table.rb +26 -0
  291. data/bundle/ruby/3.1.0/gems/terminal-table-4.0.0/terminal-table.gemspec +25 -0
  292. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/COPYING +19 -0
  293. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/_emacs_org.rb +2 -0
  294. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/_handlebars.rb +2 -0
  295. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/_jbuilder.rb +2 -0
  296. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/_org.rb +2 -0
  297. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/asciidoc.rb +15 -0
  298. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/babel.rb +8 -0
  299. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/builder.rb +42 -0
  300. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/cli.rb +134 -0
  301. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/coffee.rb +39 -0
  302. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/commonmarker.rb +95 -0
  303. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/creole.rb +16 -0
  304. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/csv.rb +53 -0
  305. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/erb.rb +65 -0
  306. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/erubi.rb +55 -0
  307. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/etanni.rb +28 -0
  308. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/haml.rb +94 -0
  309. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/kramdown.rb +13 -0
  310. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/liquid.rb +37 -0
  311. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/livescript.rb +11 -0
  312. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/mapping.rb +412 -0
  313. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/markaby.rb +43 -0
  314. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/nokogiri.rb +37 -0
  315. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/pandoc.rb +39 -0
  316. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/pipeline.rb +19 -0
  317. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/plain.rb +5 -0
  318. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/prawn.rb +28 -0
  319. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/radius.rb +41 -0
  320. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/rdiscount.rb +23 -0
  321. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/rdoc.rb +11 -0
  322. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/redcarpet.rb +31 -0
  323. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/redcloth.rb +13 -0
  324. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/rst-pandoc.rb +10 -0
  325. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/sass.rb +78 -0
  326. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/slim.rb +5 -0
  327. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/string.rb +27 -0
  328. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/template.rb +611 -0
  329. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/typescript.rb +19 -0
  330. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt/yajl.rb +81 -0
  331. data/bundle/ruby/3.1.0/gems/tilt-2.6.1/lib/tilt.rb +192 -0
  332. data/bundle/ruby/3.1.0/gems/unicode-display_width-3.2.0/CHANGELOG.md +299 -0
  333. data/bundle/ruby/3.1.0/gems/unicode-display_width-3.2.0/MIT-LICENSE.txt +22 -0
  334. data/bundle/ruby/3.1.0/gems/unicode-display_width-3.2.0/README.md +194 -0
  335. data/bundle/ruby/3.1.0/gems/unicode-display_width-3.2.0/data/display_width.marshal.gz +0 -0
  336. data/bundle/ruby/3.1.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/constants.rb +10 -0
  337. data/bundle/ruby/3.1.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/emoji_support.rb +55 -0
  338. data/bundle/ruby/3.1.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/index.rb +34 -0
  339. data/bundle/ruby/3.1.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/no_string_ext.rb +8 -0
  340. data/bundle/ruby/3.1.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/reline_ext.rb +14 -0
  341. data/bundle/ruby/3.1.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/string_ext.rb +9 -0
  342. data/bundle/ruby/3.1.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width.rb +247 -0
  343. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/CHANGELOG.md +196 -0
  344. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/CODE_OF_CONDUCT.md +74 -0
  345. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/Gemfile +7 -0
  346. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/Gemfile.lock +33 -0
  347. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/MIT-LICENSE.txt +20 -0
  348. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/README.md +205 -0
  349. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/data/emoji.marshal.gz +0 -0
  350. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/data/generate_constants.rb +344 -0
  351. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/constants.rb +49 -0
  352. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex.rb +8 -0
  353. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_basic.rb +8 -0
  354. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_emoji_keycap.rb +8 -0
  355. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_include_mqe.rb +8 -0
  356. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +8 -0
  357. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_include_text.rb +8 -0
  358. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_picto.rb +8 -0
  359. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_picto_no_emoji.rb +8 -0
  360. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_possible.rb +8 -0
  361. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_component.rb +8 -0
  362. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_emoji.rb +8 -0
  363. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_modifier.rb +8 -0
  364. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_modifier_base.rb +8 -0
  365. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_presentation.rb +8 -0
  366. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_text.rb +8 -0
  367. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_text_presentation.rb +8 -0
  368. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_valid.rb +8 -0
  369. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_valid_include_text.rb +8 -0
  370. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_well_formed.rb +8 -0
  371. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_well_formed_include_text.rb +8 -0
  372. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex.rb +8 -0
  373. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_basic.rb +8 -0
  374. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_emoji_keycap.rb +8 -0
  375. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_include_mqe.rb +8 -0
  376. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +8 -0
  377. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_include_text.rb +8 -0
  378. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_picto.rb +8 -0
  379. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_picto_no_emoji.rb +8 -0
  380. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_possible.rb +8 -0
  381. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_component.rb +8 -0
  382. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_emoji.rb +8 -0
  383. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_modifier.rb +8 -0
  384. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_modifier_base.rb +8 -0
  385. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_presentation.rb +8 -0
  386. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_text.rb +8 -0
  387. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_text_presentation.rb +8 -0
  388. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_valid.rb +8 -0
  389. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_valid_include_text.rb +8 -0
  390. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_well_formed.rb +8 -0
  391. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_well_formed_include_text.rb +8 -0
  392. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/index.rb +14 -0
  393. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/lazy_constants.rb +56 -0
  394. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/list.rb +13 -0
  395. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji.rb +111 -0
  396. data/bundle/ruby/3.1.0/gems/unicode-emoji-4.1.0/unicode-emoji.gemspec +22 -0
  397. data/lib/brakeman/app_tree.rb +98 -19
  398. data/lib/brakeman/checks/base_check.rb +7 -5
  399. data/lib/brakeman/checks/check_basic_auth.rb +4 -2
  400. data/lib/brakeman/checks/check_basic_auth_timing_attack.rb +2 -1
  401. data/lib/brakeman/checks/check_content_tag.rb +16 -9
  402. data/lib/brakeman/checks/check_cookie_serialization.rb +2 -1
  403. data/lib/brakeman/checks/check_create_with.rb +4 -2
  404. data/lib/brakeman/checks/check_cross_site_scripting.rb +6 -3
  405. data/lib/brakeman/checks/check_csrf_token_forgery_cve.rb +2 -1
  406. data/lib/brakeman/checks/check_default_routes.rb +6 -3
  407. data/lib/brakeman/checks/check_deserialize.rb +6 -2
  408. data/lib/brakeman/checks/check_detailed_exceptions.rb +4 -2
  409. data/lib/brakeman/checks/check_digest_dos.rb +2 -1
  410. data/lib/brakeman/checks/check_divide_by_zero.rb +2 -1
  411. data/lib/brakeman/checks/check_dynamic_finders.rb +2 -1
  412. data/lib/brakeman/checks/check_eol_rails.rb +7 -0
  413. data/lib/brakeman/checks/check_eol_ruby.rb +5 -1
  414. data/lib/brakeman/checks/check_escape_function.rb +2 -1
  415. data/lib/brakeman/checks/check_evaluation.rb +45 -7
  416. data/lib/brakeman/checks/check_execute.rb +34 -3
  417. data/lib/brakeman/checks/check_file_access.rb +2 -1
  418. data/lib/brakeman/checks/check_file_disclosure.rb +2 -1
  419. data/lib/brakeman/checks/check_filter_skipping.rb +2 -1
  420. data/lib/brakeman/checks/check_force_ssl.rb +2 -1
  421. data/lib/brakeman/checks/check_forgery_setting.rb +4 -2
  422. data/lib/brakeman/checks/check_header_dos.rb +2 -1
  423. data/lib/brakeman/checks/check_i18n_xss.rb +2 -1
  424. data/lib/brakeman/checks/check_jruby_xml.rb +2 -1
  425. data/lib/brakeman/checks/check_json_encoding.rb +2 -1
  426. data/lib/brakeman/checks/check_json_entity_escape.rb +4 -2
  427. data/lib/brakeman/checks/check_json_parsing.rb +4 -2
  428. data/lib/brakeman/checks/check_link_to.rb +2 -1
  429. data/lib/brakeman/checks/check_link_to_href.rb +4 -2
  430. data/lib/brakeman/checks/check_mail_to.rb +2 -1
  431. data/lib/brakeman/checks/check_mass_assignment.rb +6 -3
  432. data/lib/brakeman/checks/check_mime_type_dos.rb +2 -1
  433. data/lib/brakeman/checks/check_model_attr_accessible.rb +3 -1
  434. data/lib/brakeman/checks/check_model_attributes.rb +4 -2
  435. data/lib/brakeman/checks/check_model_serialize.rb +2 -1
  436. data/lib/brakeman/checks/check_nested_attributes.rb +2 -1
  437. data/lib/brakeman/checks/check_nested_attributes_bypass.rb +2 -1
  438. data/lib/brakeman/checks/check_number_to_currency.rb +4 -2
  439. data/lib/brakeman/checks/check_page_caching_cve.rb +2 -1
  440. data/lib/brakeman/checks/check_pathname.rb +48 -0
  441. data/lib/brakeman/checks/check_permit_attributes.rb +2 -1
  442. data/lib/brakeman/checks/check_quote_table_name.rb +2 -1
  443. data/lib/brakeman/checks/check_ransack.rb +53 -0
  444. data/lib/brakeman/checks/check_redirect.rb +67 -31
  445. data/lib/brakeman/checks/check_regex_dos.rb +2 -1
  446. data/lib/brakeman/checks/check_render.rb +15 -3
  447. data/lib/brakeman/checks/check_render_dos.rb +2 -1
  448. data/lib/brakeman/checks/check_render_inline.rb +4 -2
  449. data/lib/brakeman/checks/check_response_splitting.rb +2 -1
  450. data/lib/brakeman/checks/check_reverse_tabnabbing.rb +2 -1
  451. data/lib/brakeman/checks/check_route_dos.rb +2 -1
  452. data/lib/brakeman/checks/check_safe_buffer_manipulation.rb +2 -1
  453. data/lib/brakeman/checks/check_sanitize_config_cve.rb +120 -0
  454. data/lib/brakeman/checks/check_sanitize_methods.rb +6 -3
  455. data/lib/brakeman/checks/check_secrets.rb +2 -1
  456. data/lib/brakeman/checks/check_select_tag.rb +2 -1
  457. data/lib/brakeman/checks/check_select_vulnerability.rb +2 -1
  458. data/lib/brakeman/checks/check_send.rb +2 -1
  459. data/lib/brakeman/checks/check_session_manipulation.rb +2 -1
  460. data/lib/brakeman/checks/check_session_settings.rb +8 -6
  461. data/lib/brakeman/checks/check_simple_format.rb +4 -2
  462. data/lib/brakeman/checks/check_single_quotes.rb +2 -1
  463. data/lib/brakeman/checks/check_skip_before_filter.rb +4 -2
  464. data/lib/brakeman/checks/check_sprockets_path_traversal.rb +2 -1
  465. data/lib/brakeman/checks/check_sql.rb +14 -5
  466. data/lib/brakeman/checks/check_sql_cves.rb +4 -2
  467. data/lib/brakeman/checks/check_ssl_verify.rb +2 -1
  468. data/lib/brakeman/checks/check_strip_tags.rb +6 -3
  469. data/lib/brakeman/checks/check_symbol_dos.rb +2 -1
  470. data/lib/brakeman/checks/check_symbol_dos_cve.rb +2 -1
  471. data/lib/brakeman/checks/check_template_injection.rb +2 -1
  472. data/lib/brakeman/checks/check_translate_bug.rb +2 -1
  473. data/lib/brakeman/checks/check_unsafe_reflection.rb +2 -1
  474. data/lib/brakeman/checks/check_unsafe_reflection_methods.rb +2 -1
  475. data/lib/brakeman/checks/check_unscoped_find.rb +10 -1
  476. data/lib/brakeman/checks/check_validation_regex.rb +2 -1
  477. data/lib/brakeman/checks/check_verb_confusion.rb +2 -1
  478. data/lib/brakeman/checks/check_weak_hash.rb +6 -3
  479. data/lib/brakeman/checks/check_weak_rsa_key.rb +112 -0
  480. data/lib/brakeman/checks/check_without_protection.rb +2 -1
  481. data/lib/brakeman/checks/check_xml_dos.rb +2 -1
  482. data/lib/brakeman/checks/check_yaml_parsing.rb +4 -2
  483. data/lib/brakeman/checks/eol_check.rb +4 -2
  484. data/lib/brakeman/commandline.rb +5 -0
  485. data/lib/brakeman/file_parser.rb +35 -2
  486. data/lib/brakeman/file_path.rb +4 -0
  487. data/lib/brakeman/messages.rb +1 -1
  488. data/lib/brakeman/options.rb +50 -5
  489. data/lib/brakeman/parsers/erubis_patch.rb +11 -0
  490. data/lib/brakeman/parsers/haml6_embedded.rb +23 -0
  491. data/lib/brakeman/parsers/rails2_erubis.rb +3 -0
  492. data/lib/brakeman/parsers/rails2_xss_plugin_erubis.rb +4 -0
  493. data/lib/brakeman/parsers/rails3_erubis.rb +5 -1
  494. data/lib/brakeman/parsers/slim_embedded.rb +2 -0
  495. data/lib/brakeman/parsers/template_parser.rb +32 -7
  496. data/lib/brakeman/processor.rb +2 -0
  497. data/lib/brakeman/processors/alias_processor.rb +160 -44
  498. data/lib/brakeman/processors/base_processor.rb +2 -0
  499. data/lib/brakeman/processors/gem_processor.rb +2 -2
  500. data/lib/brakeman/processors/haml6_template_processor.rb +92 -0
  501. data/lib/brakeman/processors/haml_template_processor.rb +8 -2
  502. data/lib/brakeman/processors/lib/file_type_detector.rb +9 -7
  503. data/lib/brakeman/processors/lib/find_all_calls.rb +1 -0
  504. data/lib/brakeman/processors/lib/module_helper.rb +31 -1
  505. data/lib/brakeman/processors/lib/rails3_config_processor.rb +1 -1
  506. data/lib/brakeman/processors/lib/render_helper.rb +38 -1
  507. data/lib/brakeman/processors/library_processor.rb +6 -0
  508. data/lib/brakeman/processors/template_processor.rb +1 -1
  509. data/lib/brakeman/report/ignore/config.rb +0 -1
  510. data/lib/brakeman/report/ignore/interactive.rb +2 -2
  511. data/lib/brakeman/report/pager.rb +2 -2
  512. data/lib/brakeman/report/report_codeclimate.rb +1 -1
  513. data/lib/brakeman/report/report_csv.rb +2 -0
  514. data/lib/brakeman/report/report_github.rb +1 -1
  515. data/lib/brakeman/report/report_html.rb +1 -1
  516. data/lib/brakeman/report/report_junit.rb +6 -59
  517. data/lib/brakeman/report/report_markdown.rb +1 -1
  518. data/lib/brakeman/report/report_sarif.rb +122 -2
  519. data/lib/brakeman/report/report_table.rb +7 -7
  520. data/lib/brakeman/report/report_tabs.rb +0 -1
  521. data/lib/brakeman/report/report_text.rb +10 -1
  522. data/lib/brakeman/report/templates/controller_warnings.html.erb +2 -0
  523. data/lib/brakeman/report/templates/header.html.erb +8 -3
  524. data/lib/brakeman/report/templates/ignored_warnings.html.erb +5 -3
  525. data/lib/brakeman/report/templates/model_warnings.html.erb +2 -0
  526. data/lib/brakeman/report/templates/security_warnings.html.erb +2 -0
  527. data/lib/brakeman/report/templates/view_warnings.html.erb +2 -0
  528. data/lib/brakeman/rescanner.rb +40 -388
  529. data/lib/brakeman/scanner.rb +182 -88
  530. data/lib/brakeman/tracker/config.rb +89 -34
  531. data/lib/brakeman/tracker/controller.rb +14 -10
  532. data/lib/brakeman/tracker/file_cache.rb +83 -0
  533. data/lib/brakeman/tracker.rb +27 -4
  534. data/lib/brakeman/util.rb +21 -7
  535. data/lib/brakeman/version.rb +1 -1
  536. data/lib/brakeman/warning.rb +6 -3
  537. data/lib/brakeman/warning_codes.rb +6 -0
  538. data/lib/brakeman.rb +33 -7
  539. data/lib/ruby_parser/bm_sexp.rb +5 -1
  540. metadata +515 -422
  541. data/bundle/ruby/2.7.0/gems/haml-5.2.2/CHANGELOG.md +0 -1505
  542. data/bundle/ruby/2.7.0/gems/haml-5.2.2/FAQ.md +0 -147
  543. data/bundle/ruby/2.7.0/gems/haml-5.2.2/Gemfile +0 -16
  544. data/bundle/ruby/2.7.0/gems/haml-5.2.2/MIT-LICENSE +0 -20
  545. data/bundle/ruby/2.7.0/gems/haml-5.2.2/README.md +0 -216
  546. data/bundle/ruby/2.7.0/gems/haml-5.2.2/REFERENCE.md +0 -1380
  547. data/bundle/ruby/2.7.0/gems/haml-5.2.2/TODO +0 -24
  548. data/bundle/ruby/2.7.0/gems/haml-5.2.2/haml.gemspec +0 -45
  549. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/attribute_builder.rb +0 -219
  550. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/attribute_compiler.rb +0 -237
  551. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/attribute_parser.rb +0 -150
  552. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/buffer.rb +0 -182
  553. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/compiler.rb +0 -330
  554. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/engine.rb +0 -238
  555. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/error.rb +0 -65
  556. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/escapable.rb +0 -77
  557. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/exec.rb +0 -347
  558. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/filters.rb +0 -399
  559. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/generator.rb +0 -42
  560. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/helpers/action_view_extensions.rb +0 -60
  561. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/helpers/action_view_mods.rb +0 -132
  562. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/helpers/action_view_xss_mods.rb +0 -60
  563. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/helpers/safe_erubi_template.rb +0 -20
  564. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/helpers/safe_erubis_template.rb +0 -33
  565. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/helpers/xss_mods.rb +0 -114
  566. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/helpers.rb +0 -709
  567. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/options.rb +0 -273
  568. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/parser.rb +0 -856
  569. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/plugin.rb +0 -54
  570. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/railtie.rb +0 -53
  571. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/sass_rails_filter.rb +0 -47
  572. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/template/options.rb +0 -27
  573. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/template.rb +0 -39
  574. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/temple_engine.rb +0 -124
  575. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/temple_line_counter.rb +0 -30
  576. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/util.rb +0 -258
  577. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml/version.rb +0 -5
  578. data/bundle/ruby/2.7.0/gems/haml-5.2.2/lib/haml.rb +0 -25
  579. data/bundle/ruby/2.7.0/gems/haml-5.2.2/yard/default/fulldoc/html/css/common.sass +0 -15
  580. data/bundle/ruby/2.7.0/gems/haml-5.2.2/yard/default/layout/html/footer.erb +0 -12
  581. data/bundle/ruby/2.7.0/gems/highline-2.0.3/Changelog.md +0 -620
  582. data/bundle/ruby/2.7.0/gems/highline-2.0.3/Gemfile +0 -22
  583. data/bundle/ruby/2.7.0/gems/highline-2.0.3/README.md +0 -202
  584. data/bundle/ruby/2.7.0/gems/highline-2.0.3/appveyor.yml +0 -37
  585. data/bundle/ruby/2.7.0/gems/highline-2.0.3/highline.gemspec +0 -35
  586. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/io_console_compatible.rb +0 -37
  587. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/list_renderer.rb +0 -261
  588. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/menu.rb +0 -576
  589. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/question/answer_converter.rb +0 -103
  590. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/question.rb +0 -630
  591. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/question_asker.rb +0 -150
  592. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/terminal/io_console.rb +0 -36
  593. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/terminal/unix_stty.rb +0 -51
  594. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/terminal.rb +0 -190
  595. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/version.rb +0 -6
  596. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline.rb +0 -650
  597. data/bundle/ruby/2.7.0/gems/parallel-1.22.1/lib/parallel/processor_count.rb +0 -44
  598. data/bundle/ruby/2.7.0/gems/parallel-1.22.1/lib/parallel/version.rb +0 -4
  599. data/bundle/ruby/2.7.0/gems/parallel-1.22.1/lib/parallel.rb +0 -612
  600. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/NEWS.md +0 -178
  601. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/README.md +0 -48
  602. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/attribute.rb +0 -205
  603. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/cdata.rb +0 -68
  604. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/child.rb +0 -97
  605. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/comment.rb +0 -80
  606. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/doctype.rb +0 -311
  607. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/document.rb +0 -451
  608. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/element.rb +0 -2599
  609. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/encoding.rb +0 -51
  610. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/entity.rb +0 -171
  611. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/formatters/pretty.rb +0 -142
  612. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/functions.rb +0 -447
  613. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/instruction.rb +0 -79
  614. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/namespace.rb +0 -59
  615. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/node.rb +0 -76
  616. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/parseexception.rb +0 -52
  617. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/parsers/baseparser.rb +0 -694
  618. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/parsers/pullparser.rb +0 -197
  619. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/parsers/sax2parser.rb +0 -273
  620. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/parsers/streamparser.rb +0 -61
  621. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/parsers/treeparser.rb +0 -101
  622. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/parsers/xpathparser.rb +0 -689
  623. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/quickpath.rb +0 -266
  624. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/rexml.rb +0 -37
  625. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/security.rb +0 -28
  626. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/source.rb +0 -298
  627. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/text.rb +0 -424
  628. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/validation/relaxng.rb +0 -539
  629. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/validation/validation.rb +0 -144
  630. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/xpath.rb +0 -81
  631. data/bundle/ruby/2.7.0/gems/rexml-3.2.5/lib/rexml/xpath_parser.rb +0 -974
  632. data/bundle/ruby/2.7.0/gems/ruby2ruby-2.4.4/History.rdoc +0 -435
  633. data/bundle/ruby/2.7.0/gems/ruby2ruby-2.4.4/lib/ruby2ruby.rb +0 -1309
  634. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/History.rdoc +0 -1297
  635. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/Manifest.txt +0 -46
  636. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/README.rdoc +0 -112
  637. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/compare/normalize.rb +0 -218
  638. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby20_parser.rb +0 -10973
  639. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby20_parser.y +0 -2683
  640. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby21_parser.rb +0 -10980
  641. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby21_parser.y +0 -2700
  642. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby22_parser.rb +0 -11123
  643. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby22_parser.y +0 -2711
  644. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby23_parser.rb +0 -11132
  645. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby23_parser.y +0 -2713
  646. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby24_parser.rb +0 -11231
  647. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby24_parser.y +0 -2721
  648. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby25_parser.rb +0 -11231
  649. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby25_parser.y +0 -2721
  650. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby26_parser.rb +0 -11253
  651. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby26_parser.y +0 -2736
  652. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby27_parser.rb +0 -12980
  653. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby27_parser.y +0 -3324
  654. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby30_parser.rb +0 -13242
  655. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby30_parser.y +0 -3447
  656. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby31_parser.rb +0 -13622
  657. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby31_parser.y +0 -3481
  658. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby3_parser.yy +0 -3536
  659. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby_lexer.rb +0 -1144
  660. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby_lexer.rex.rb +0 -399
  661. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby_lexer_strings.rb +0 -638
  662. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby_parser.rb +0 -98
  663. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby_parser.yy +0 -3465
  664. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/lib/ruby_parser_extras.rb +0 -1865
  665. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/tools/munge.rb +0 -250
  666. data/bundle/ruby/2.7.0/gems/ruby_parser-3.19.1/tools/ripper.rb +0 -44
  667. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/History.rdoc +0 -6
  668. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/Manifest.txt +0 -19
  669. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/README.rdoc +0 -54
  670. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby18_parser.rb +0 -5794
  671. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby18_parser.y +0 -1909
  672. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby19_parser.rb +0 -6186
  673. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby19_parser.y +0 -2117
  674. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rb +0 -1412
  675. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rex +0 -179
  676. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rex.rb +0 -323
  677. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_parser.rb +0 -30
  678. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_parser_extras.rb +0 -1388
  679. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy.rb +0 -5
  680. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/CHANGES.md +0 -154
  681. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/Gemfile +0 -11
  682. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/LICENSE.txt +0 -22
  683. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/README.md +0 -191
  684. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/bundle_install_all_ruby_versions.sh +0 -11
  685. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/deep.rb +0 -34
  686. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/libyaml_checker.rb +0 -36
  687. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/load.rb +0 -181
  688. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/date.rb +0 -37
  689. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/hexadecimal.rb +0 -12
  690. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/sexagesimal.rb +0 -26
  691. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/psych_handler.rb +0 -99
  692. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/psych_resolver.rb +0 -52
  693. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/resolver.rb +0 -94
  694. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/safe_to_ruby_visitor.rb +0 -29
  695. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/store.rb +0 -39
  696. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/syck_hack.rb +0 -36
  697. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/syck_node_monkeypatch.rb +0 -43
  698. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/syck_resolver.rb +0 -38
  699. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_boolean.rb +0 -21
  700. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_date.rb +0 -13
  701. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_float.rb +0 -33
  702. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_integer.rb +0 -26
  703. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_nil.rb +0 -18
  704. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_symbol.rb +0 -17
  705. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/transformation_map.rb +0 -47
  706. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform.rb +0 -41
  707. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/version.rb +0 -3
  708. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml.rb +0 -94
  709. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/run_specs_all_ruby_versions.sh +0 -38
  710. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/safe_yaml.gemspec +0 -19
  711. data/bundle/ruby/2.7.0/gems/sexp_processor-4.16.0/History.rdoc +0 -448
  712. data/bundle/ruby/2.7.0/gems/sexp_processor-4.16.0/lib/pt_testcase.rb +0 -3133
  713. data/bundle/ruby/2.7.0/gems/sexp_processor-4.16.0/lib/sexp.rb +0 -391
  714. data/bundle/ruby/2.7.0/gems/sexp_processor-4.16.0/lib/sexp_matcher.rb +0 -1100
  715. data/bundle/ruby/2.7.0/gems/sexp_processor-4.16.0/lib/sexp_processor.rb +0 -754
  716. data/bundle/ruby/2.7.0/gems/sexp_processor-4.16.0/lib/strict_sexp.rb +0 -148
  717. data/bundle/ruby/2.7.0/gems/slim-4.1.0/CHANGES +0 -460
  718. data/bundle/ruby/2.7.0/gems/slim-4.1.0/Gemfile +0 -70
  719. data/bundle/ruby/2.7.0/gems/slim-4.1.0/LICENSE +0 -21
  720. data/bundle/ruby/2.7.0/gems/slim-4.1.0/README.jp.md +0 -1289
  721. data/bundle/ruby/2.7.0/gems/slim-4.1.0/README.md +0 -1290
  722. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/code_attributes.rb +0 -67
  723. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/command.rb +0 -128
  724. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/controls.rb +0 -60
  725. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/do_inserter.rb +0 -33
  726. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/embedded.rb +0 -248
  727. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/end_inserter.rb +0 -62
  728. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/engine.rb +0 -39
  729. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/erb_converter.rb +0 -14
  730. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/filter.rb +0 -30
  731. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/grammar.rb +0 -23
  732. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/include.rb +0 -57
  733. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/interpolation.rb +0 -35
  734. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/logic_less/context.rb +0 -127
  735. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/logic_less/filter.rb +0 -80
  736. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/logic_less.rb +0 -5
  737. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/parser.rb +0 -548
  738. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/smart/escaper.rb +0 -42
  739. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/smart/filter.rb +0 -96
  740. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/smart/parser.rb +0 -34
  741. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/smart.rb +0 -8
  742. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/splat/builder.rb +0 -107
  743. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/splat/filter.rb +0 -91
  744. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/template.rb +0 -19
  745. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/translator.rb +0 -118
  746. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/version.rb +0 -5
  747. data/bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim.rb +0 -14
  748. data/bundle/ruby/2.7.0/gems/slim-4.1.0/slim.gemspec +0 -24
  749. data/bundle/ruby/2.7.0/gems/temple-0.8.2/CHANGES +0 -260
  750. data/bundle/ruby/2.7.0/gems/temple-0.8.2/Gemfile +0 -3
  751. data/bundle/ruby/2.7.0/gems/temple-0.8.2/README.md +0 -267
  752. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/engine.rb +0 -67
  753. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/erb/engine.rb +0 -15
  754. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/erb/parser.rb +0 -40
  755. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/erb/template.rb +0 -11
  756. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/erb/trimming.rb +0 -23
  757. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/exceptions.rb +0 -13
  758. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/filter.rb +0 -9
  759. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/filters/code_merger.rb +0 -30
  760. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/filters/control_flow.rb +0 -42
  761. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/filters/dynamic_inliner.rb +0 -71
  762. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/filters/encoding.rb +0 -24
  763. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/filters/eraser.rb +0 -22
  764. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/filters/escapable.rb +0 -40
  765. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/filters/multi_flattener.rb +0 -25
  766. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/filters/remove_bom.rb +0 -13
  767. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/filters/static_analyzer.rb +0 -30
  768. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/filters/static_merger.rb +0 -37
  769. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/filters/string_splitter.rb +0 -130
  770. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/filters/validator.rb +0 -15
  771. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/generator.rb +0 -88
  772. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/generators/array.rb +0 -21
  773. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/generators/array_buffer.rb +0 -29
  774. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/generators/erb.rb +0 -32
  775. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/generators/rails_output_buffer.rb +0 -35
  776. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/generators/string_buffer.rb +0 -25
  777. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/grammar.rb +0 -57
  778. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/html/attribute_merger.rb +0 -42
  779. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/html/attribute_remover.rb +0 -35
  780. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/html/attribute_sorter.rb +0 -21
  781. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/html/dispatcher.rb +0 -31
  782. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/html/fast.rb +0 -130
  783. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/html/filter.rb +0 -21
  784. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/html/pretty.rb +0 -103
  785. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/html/safe.rb +0 -23
  786. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/map.rb +0 -105
  787. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/mixins/dispatcher.rb +0 -161
  788. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/mixins/engine_dsl.rb +0 -145
  789. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/mixins/grammar_dsl.rb +0 -170
  790. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/mixins/options.rb +0 -87
  791. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/mixins/template.rb +0 -28
  792. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/parser.rb +0 -8
  793. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/static_analyzer.rb +0 -77
  794. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/templates/rails.rb +0 -26
  795. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/templates/tilt.rb +0 -46
  796. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/templates.rb +0 -11
  797. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/utils.rb +0 -101
  798. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/version.rb +0 -3
  799. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple.rb +0 -67
  800. data/bundle/ruby/2.7.0/gems/temple-0.8.2/temple.gemspec +0 -29
  801. data/bundle/ruby/2.7.0/gems/terminal-table-1.8.0/History.rdoc +0 -85
  802. data/bundle/ruby/2.7.0/gems/terminal-table-1.8.0/README.rdoc +0 -247
  803. data/bundle/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/cell.rb +0 -94
  804. data/bundle/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/row.rb +0 -52
  805. data/bundle/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/separator.rb +0 -14
  806. data/bundle/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/style.rb +0 -79
  807. data/bundle/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/table.rb +0 -343
  808. data/bundle/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/version.rb +0 -5
  809. data/bundle/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table.rb +0 -26
  810. data/bundle/ruby/2.7.0/gems/terminal-table-1.8.0/terminal-table.gemspec +0 -26
  811. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/COPYING +0 -18
  812. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/asciidoc.rb +0 -27
  813. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/babel.rb +0 -16
  814. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/bluecloth.rb +0 -24
  815. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/builder.rb +0 -37
  816. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/coffee.rb +0 -58
  817. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/commonmarker.rb +0 -78
  818. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/creole.rb +0 -25
  819. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/csv.rb +0 -65
  820. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/dummy.rb +0 -3
  821. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/erb.rb +0 -63
  822. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/erubi.rb +0 -32
  823. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/erubis.rb +0 -43
  824. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/etanni.rb +0 -27
  825. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/haml.rb +0 -86
  826. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/kramdown.rb +0 -25
  827. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/less.rb +0 -30
  828. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/liquid.rb +0 -44
  829. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/livescript.rb +0 -23
  830. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/mapping.rb +0 -293
  831. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/markaby.rb +0 -45
  832. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/maruku.rb +0 -22
  833. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/nokogiri.rb +0 -36
  834. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/pandoc.rb +0 -49
  835. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/plain.rb +0 -16
  836. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/prawn.rb +0 -43
  837. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/radius.rb +0 -48
  838. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/rdiscount.rb +0 -39
  839. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/rdoc.rb +0 -40
  840. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/redcarpet.rb +0 -83
  841. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/redcloth.rb +0 -23
  842. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/rst-pandoc.rb +0 -18
  843. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/sass.rb +0 -52
  844. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/sigil.rb +0 -34
  845. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/string.rb +0 -21
  846. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/template.rb +0 -297
  847. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/typescript.rb +0 -26
  848. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/wikicloth.rb +0 -22
  849. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt/yajl.rb +0 -87
  850. data/bundle/ruby/2.7.0/gems/tilt-2.0.10/lib/tilt.rb +0 -166
  851. data/bundle/ruby/2.7.0/gems/unicode-display_width-1.8.0/CHANGELOG.md +0 -137
  852. data/bundle/ruby/2.7.0/gems/unicode-display_width-1.8.0/MIT-LICENSE.txt +0 -22
  853. data/bundle/ruby/2.7.0/gems/unicode-display_width-1.8.0/README.md +0 -124
  854. data/bundle/ruby/2.7.0/gems/unicode-display_width-1.8.0/data/display_width.marshal.gz +0 -0
  855. data/bundle/ruby/2.7.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/constants.rb +0 -8
  856. data/bundle/ruby/2.7.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/index.rb +0 -12
  857. data/bundle/ruby/2.7.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/no_string_ext.rb +0 -7
  858. data/bundle/ruby/2.7.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width/string_ext.rb +0 -17
  859. data/bundle/ruby/2.7.0/gems/unicode-display_width-1.8.0/lib/unicode/display_width.rb +0 -51
  860. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/CHANGES.txt +0 -0
  861. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/MIT-LICENSE +0 -0
  862. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/README.txt +0 -0
  863. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/contrib/erubis +0 -0
  864. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/contrib/erubis-run.rb +0 -0
  865. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/contrib/inline-require +0 -0
  866. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/context.rb +0 -0
  867. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/converter.rb +0 -0
  868. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/ec.rb +0 -0
  869. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/ecpp.rb +0 -0
  870. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/ejava.rb +0 -0
  871. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/ejavascript.rb +0 -0
  872. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/enhanced.rb +0 -0
  873. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/eperl.rb +0 -0
  874. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/ephp.rb +0 -0
  875. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/eruby.rb +0 -0
  876. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/escheme.rb +0 -0
  877. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine/optimized.rb +0 -0
  878. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/engine.rb +0 -0
  879. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/enhancer.rb +0 -0
  880. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/error.rb +0 -0
  881. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/evaluator.rb +0 -0
  882. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/generator.rb +0 -0
  883. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/helper.rb +0 -0
  884. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_form_helper.rb +0 -0
  885. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_helper.rb +0 -0
  886. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/local-setting.rb +0 -0
  887. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/main.rb +0 -0
  888. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/preprocessing.rb +0 -0
  889. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/tiny.rb +0 -0
  890. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis/util.rb +0 -0
  891. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/lib/erubis.rb +0 -0
  892. /data/bundle/ruby/{2.7.0 → 3.1.0}/gems/erubis-2.7.0/setup.rb +0 -0
  893. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/AUTHORS +0 -0
  894. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/COPYING +0 -0
  895. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/LICENSE +0 -0
  896. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/TODO +0 -0
  897. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/lib/highline/builtin_styles.rb +0 -0
  898. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/lib/highline/color_scheme.rb +0 -0
  899. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/lib/highline/compatibility.rb +0 -0
  900. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/lib/highline/custom_errors.rb +0 -0
  901. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/lib/highline/import.rb +0 -0
  902. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/lib/highline/list.rb +0 -0
  903. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/lib/highline/menu/item.rb +0 -0
  904. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/lib/highline/paginator.rb +0 -0
  905. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/lib/highline/simulate.rb +0 -0
  906. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/lib/highline/statement.rb +0 -0
  907. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/lib/highline/string.rb +0 -0
  908. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/lib/highline/string_extensions.rb +0 -0
  909. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/lib/highline/template_renderer.rb +0 -0
  910. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/lib/highline/terminal/ncurses.rb +0 -0
  911. /data/bundle/ruby/{2.7.0/gems/highline-2.0.3 → 3.1.0/gems/highline-3.1.2}/lib/highline/wrapper.rb +0 -0
  912. /data/bundle/ruby/{2.7.0/gems/parallel-1.22.1 → 3.1.0/gems/parallel-1.27.0}/MIT-LICENSE.txt +0 -0
  913. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5/LICENSE.txt → 3.1.0/gems/reline-0.6.2/BSDL} +0 -0
  914. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/attlistdecl.rb +0 -0
  915. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/dtd/attlistdecl.rb +0 -0
  916. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/dtd/dtd.rb +0 -0
  917. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/dtd/elementdecl.rb +0 -0
  918. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/dtd/entitydecl.rb +0 -0
  919. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/dtd/notationdecl.rb +0 -0
  920. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/formatters/default.rb +0 -0
  921. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/formatters/transitive.rb +0 -0
  922. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/light/node.rb +0 -0
  923. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/output.rb +0 -0
  924. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/parent.rb +0 -0
  925. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/parsers/lightparser.rb +0 -0
  926. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/parsers/ultralightparser.rb +0 -0
  927. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/sax2listener.rb +0 -0
  928. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/streamlistener.rb +0 -0
  929. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/undefinednamespaceexception.rb +0 -0
  930. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/validation/validationexception.rb +0 -0
  931. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/xmldecl.rb +0 -0
  932. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml/xmltokens.rb +0 -0
  933. /data/bundle/ruby/{2.7.0/gems/rexml-3.2.5 → 3.1.0/gems/rexml-3.4.4}/lib/rexml.rb +0 -0
  934. /data/bundle/ruby/{2.7.0/gems/ruby2ruby-2.4.4 → 3.1.0/gems/ruby2ruby-2.5.2}/Manifest.txt +0 -0
  935. /data/bundle/ruby/{2.7.0/gems/ruby2ruby-2.4.4 → 3.1.0/gems/ruby2ruby-2.5.2}/README.rdoc +0 -0
  936. /data/bundle/ruby/{2.7.0/gems/ruby_parser-3.19.1 → 3.1.0/gems/ruby_parser-3.20.3}/debugging.md +0 -0
  937. /data/bundle/ruby/{2.7.0/gems/ruby_parser-3.19.1 → 3.1.0/gems/ruby_parser-3.20.3}/gauntlet.md +0 -0
  938. /data/bundle/ruby/{2.7.0/gems/ruby_parser-3.19.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/rp_extensions.rb +0 -0
  939. /data/bundle/ruby/{2.7.0/gems/ruby_parser-3.19.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/rp_stringscanner.rb +0 -0
  940. /data/bundle/ruby/{2.7.0/gems/ruby_parser-3.19.1 → 3.1.0/gems/ruby_parser-3.20.3}/lib/ruby_lexer.rex +0 -0
  941. /data/bundle/ruby/{2.7.0/gems/sexp_processor-4.16.0 → 3.1.0/gems/sexp_processor-4.17.4}/Manifest.txt +0 -0
  942. /data/bundle/ruby/{2.7.0/gems/sexp_processor-4.16.0 → 3.1.0/gems/sexp_processor-4.17.4}/README.rdoc +0 -0
  943. /data/bundle/ruby/{2.7.0/gems/sexp_processor-4.16.0 → 3.1.0/gems/sexp_processor-4.17.4}/lib/composite_sexp_processor.rb +0 -0
  944. /data/bundle/ruby/{2.7.0/gems/sexp_processor-4.16.0 → 3.1.0/gems/sexp_processor-4.17.4}/lib/unique.rb +0 -0
  945. /data/bundle/ruby/{2.7.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.4}/EXPRESSIONS.md +0 -0
  946. /data/bundle/ruby/{2.7.0/gems/temple-0.8.2 → 3.1.0/gems/temple-0.10.4}/LICENSE +0 -0
  947. /data/bundle/ruby/{2.7.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-4.0.0}/Gemfile +0 -0
  948. /data/bundle/ruby/{2.7.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-4.0.0}/LICENSE.txt +0 -0
  949. /data/bundle/ruby/{2.7.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-4.0.0}/Manifest +0 -0
  950. /data/bundle/ruby/{2.7.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-4.0.0}/Todo.rdoc +0 -0
  951. /data/bundle/ruby/{2.7.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-4.0.0}/lib/terminal-table/import.rb +0 -0
  952. /data/bundle/ruby/{2.7.0/gems/terminal-table-1.8.0 → 3.1.0/gems/terminal-table-4.0.0}/lib/terminal-table/table_helper.rb +0 -0
@@ -0,0 +1,1276 @@
1
+ # Slim
2
+
3
+ [![Gem Version](https://img.shields.io/gem/v/slim.svg)](http://rubygems.org/gems/slim)
4
+ ![Build Status](https://github.com/slim-template/slim/actions/workflows/test.yml/badge.svg)
5
+ [![GitHub Sponsors](https://img.shields.io/github/sponsors/slim-template)](https://github.com/sponsors/slim-template)
6
+
7
+ Slim は 不可解にならない程度に view の構文を本質的な部品まで減らすことを目指したテンプレート言語です。標準的な HTML テンプレートからどれだけのものを減らせるか、検証するところから始まりました。(<, >, 閉じタグなど) 多くの人が Slim に興味を持ったことで, 機能的で柔軟な構文に成長しました。
8
+
9
+ 簡単な特徴
10
+
11
+ * すっきりした構文
12
+ * 閉じタグの無い短い構文 (代わりにインデントを用いる)
13
+ * 閉じタグを用いた HTML 形式の構文
14
+ * 設定可能なショートカットタグ (デフォルトでは `#` は `<div id="...">` に, `.` は `<div class="...">` に)
15
+ * 安全性
16
+ * デフォルトで自動 HTML エスケープ
17
+ * Rails の `html_safe?` に対応
18
+ * 柔軟な設定
19
+ * プラグインを用いた拡張性:
20
+ * Mustache と同様のロジックレスモード
21
+ * インクルード
22
+ * 多言語化/I18n
23
+ * 高性能
24
+ * ERB/Erubis に匹敵するスピード
25
+ * Rails のストリーミングに対応
26
+ * 全てのメジャーフレームワークが対応 (Rails, Sinatra, ...)
27
+ * タグや属性の Unicode に完全対応
28
+ * Markdown や Textile のような埋め込みエンジン
29
+
30
+ ## リンク
31
+
32
+ * ホームページ: <https://slim-template.github.io>
33
+ * ソース: <https://github.com/slim-template/slim>
34
+ * バグ: <https://github.com/slim-template/slim/issues>
35
+ * API ドキュメント:
36
+ * 最新の Gem: <https://rubydoc.info/gems/slim/frames>
37
+ * GitHub main: <https://rubydoc.info/github/slim-template/slim/main/frames>
38
+
39
+ ## イントロダクション
40
+
41
+ ### Slim とは?
42
+
43
+ Slim は __Rails5 以降__ に対応した高速, 軽量なテンプレートエンジンです。主要な Ruby の実装全てでしっかりテストされています。
44
+ 私たちは継続的インテグレーションを採用しています。(github actions)
45
+
46
+ Slim の核となる構文は1つの考えによって導かれています: "この動作を行うために最低限必要なものは何か。"
47
+
48
+ 多くの人々の Slim への貢献によって, 彼らが使う [Haml](https://github.com/haml/haml) や [Jade](https://github.com/visionmedia/jade) の影響を受け構文の追加が行われています。 Slim の開発チームは美は見る人の目の中にあることを分っているので、こういった追加にオープンです。
49
+
50
+ Slim は 構文解析/コンパイルに [Temple](https://github.com/judofyr/temple) を使い [Tilt](https://github.com/jeremyevans/tilt) に組み込まれます。これにより [Sinatra](https://github.com/sinatra/sinatra) やプレーンな [Rack](https://github.com/rack/rack) とも一緒に使えます。
51
+
52
+ Temple のアーキテクチャはとても柔軟で, モンキーパッチなしで構文解析とコンパイルのプロセスの拡張が可能です。これはロジックレスのプラグインや I18n が提供する翻訳プラグインに
53
+ 使用されます。ロジックレスモードでは HTML をビルドするために Slim の構文を使いたいが, テンプレートの中で Ruby を書きたくない場合にも Slim を使うことができます。
54
+
55
+ ### なぜ Slim を使うのか?
56
+
57
+ * Slim によって メンテナンスが容易な限りなく最小限のテンプレートを作成でき, 正しい文法の HTML や XML が書けることを保証します。
58
+ * Slim の構文は美しく, テンプレートを書くのがより楽しくなります。Slim は主要なフレームワークで互換性があるので, 簡単に始めることができます。
59
+ * Slim のアーキテクチャは非常に柔軟なので, 構文の拡張やプラグインを書くことができます。
60
+
61
+ ___そう, Slim は速い!___ Slim は開発当初からパフォーマンスに注意して開発されてきました。
62
+ この数字が信じられませんか? それは仕方ないことです。是非 rake タスクを使って自分でベンチマークを取ってみてください!
63
+
64
+ 私たちの考えでは, あなたは Slim の機能と構文を使うべきです。Slim はあなたのアプリケーションのパフォーマンスに悪影響を与えないことを保証します。
65
+
66
+ ### どうやって使い始めるの?
67
+
68
+ Slim を gem としてインストール:
69
+
70
+ ~~~
71
+ gem install slim
72
+ ~~~
73
+
74
+ あなたの Gemfile に `gem 'slim'` と書いてインクルードするか, ファイルに `require 'slim'` と書く必要があります。これだけです! 後は拡張子に .slim を使うだけで準備完了です。
75
+
76
+ ### 構文例
77
+
78
+ Slim テンプレートがどのようなものか簡単な例を示します:
79
+
80
+ ~~~ slim
81
+ doctype html
82
+ html
83
+ head
84
+ title Slim のファイル例
85
+ meta name="keywords" content="template language"
86
+ meta name="author" content=author
87
+ link rel="icon" type="image/png" href=file_path("favicon.png")
88
+ javascript:
89
+ alert('Slim は javascript の埋め込みに対応しています!')
90
+
91
+ body
92
+ h1 マークアップ例
93
+
94
+ #content
95
+ p このマークアップ例は Slim の典型的なファイルがどのようなものか示します。
96
+
97
+ == yield
98
+
99
+ - if items.any?
100
+ table#items
101
+ - for item in items
102
+ tr
103
+ td.name = item.name
104
+ td.price = item.price
105
+ - else
106
+ p アイテムが見つかりませんでした。いくつか目録を追加してください。
107
+ ありがとう!
108
+
109
+ div id="footer"
110
+ == render 'footer'
111
+ | Copyright &copy; #{@year} #{@author}
112
+ ~~~
113
+
114
+ インデントについて, インデントの深さはあなたの好みで選択できます。もしあなたが最初のインデントをスペース2つ, その次に5スペースを使いたい場合, それも自由です。マークアップを入れ子にするには最低1つのスペースによるインデントが必要なだけです。
115
+
116
+ ## ラインインジケータ
117
+
118
+ ### テキスト `|`
119
+
120
+ パイプを使うと, Slim はパイプよりも深くインデントされた全ての行をコピーします。行中の処理は基本的にどのようなものでもエスケープされます。
121
+
122
+ ~~~ slim
123
+ body
124
+ p
125
+ |
126
+ これはテキストブロックのテストです。
127
+ ~~~
128
+
129
+ 構文解析結果は以下:
130
+
131
+ ~~~ html
132
+ <body><p>これはテキストブロックのテストです。</p></body>
133
+ ~~~
134
+
135
+ ブロックの左端はパイプ +1 スペースのインデントに設定されています。
136
+ 追加のスペースはコピーされます。
137
+
138
+ ~~~ slim
139
+ body
140
+ p
141
+ | この行は左端になります。
142
+ この行はスペース 1 つを持つことになります。
143
+ この行はスペース 2 つを持つことになります。
144
+ 以下同様に...
145
+ ~~~
146
+
147
+ テキスト行に HTML を埋め込むこともできます。
148
+
149
+ ~~~ slim
150
+ - articles.each do |a|
151
+ | <tr><td>#{a.name}</td><td>#{a.description}</td></tr>
152
+ ~~~
153
+
154
+ ### 末尾スペース付きのテキスト `'`
155
+
156
+ シングルクォートは `|` と同様に行をコピーしますが, 末尾にスペースが1つ追加されます。
157
+
158
+ ### インライン html `<` (HTML 形式)
159
+
160
+ HTML タグを直接 Slim の中に書くことができます。Slim では, 閉じタグを使った HTML タグ形式や HTML と Slim を混ぜてテンプレートの中に書くことができます。
161
+ 行頭が '<' の場合, 暗黙的に `|` があるものとして動作します:
162
+
163
+ ~~~ slim
164
+ <html>
165
+ head
166
+ title Example
167
+ <body>
168
+ - if articles.empty?
169
+ - else
170
+ table
171
+ - articles.each do |a|
172
+ <tr><td>#{a.name}</td><td>#{a.description}</td></tr>
173
+ </body>
174
+ </html>
175
+ ~~~
176
+
177
+ ### 制御コード `-`
178
+
179
+ ダッシュは制御コードを意味します。制御コードの例としてループと条件文があります。`end` は `-` の後ろに置くことができません。ブロックはインデントによってのみ定義されます。
180
+ 複数行にわたる Ruby のコードが必要な場合, 行末にバックスラッシュ `\` を追加します。行末がカンマ `,` で終わる場合 (例 関数呼び出し) には, 行末にバックスラッシュを追加する必要はありません。
181
+
182
+ ~~~ slim
183
+ body
184
+ - if articles.empty?
185
+ | 在庫なし
186
+ ~~~
187
+
188
+ ### 出力 `=`
189
+
190
+ イコールはバッファに追加する出力を生成する Ruby コードの呼び出しを Slim に命令します。Ruby のコードが複数行にわたる場合, 例のように行末にバックスラッシュを追加します。
191
+
192
+ ~~~ slim
193
+ = javascript_include_tag \
194
+ "jquery",
195
+ "application"
196
+ ~~~
197
+
198
+ 行末がカンマ `,` で終わる場合 (例 関数呼び出し) には行末にバックスラッシュを追加する必要はありません。行末・行頭にスペースを追加するために修飾子の `>` や `<` がサポートされています。
199
+
200
+ * `=>` は末尾のスペースを伴った出力をします。 末尾のスペースが追加されることを除いて, 単一の等合 (`=`) と同じです。
201
+ * `=<` は先頭のスペースを伴った出力をします。先頭のスペースが追加されることを除いて, 単一の等号 (`=`) と同じです。
202
+
203
+ ### HTML エスケープを伴わない出力 `==`
204
+
205
+ 単一のイコール (`=`) と同じですが, `escape_html` メソッドを経由しません。 末尾や先頭のスペースを追加するための修飾子 `>` と `<` はサポートされています。
206
+
207
+ * `==>` は HTML エスケープを行わずに, 末尾のスペースを伴った出力をします。末尾のスペースが追加されることを除いて, 二重等号 (`==`) と同じです。
208
+ * `==<` は HTML エスケープを行わずに, 先頭のスペースを伴った出力をします。先頭のスペースが追加されることを除いて, 二重等号 (`==`) と同じです。
209
+
210
+ ### コードコメント `/`
211
+
212
+ コードコメントにはスラッシュを使います。スラッシュ以降は最終的なレンダリング結果に表示されません。コードコメントには `/` を, html コメントには `/!` を使います。
213
+
214
+ ~~~ slim
215
+ body
216
+ p
217
+ / この行は表示されません。
218
+ この行も表示されません。
219
+ /! html コメントとして表示されます。
220
+ ~~~
221
+
222
+ 構文解析結果は以下:
223
+
224
+ ~~~ html
225
+ <body><p><!--html コメントとして表示されます。--></p></body>
226
+ ~~~
227
+
228
+ ### HTML コメント `/!`
229
+
230
+ html コメントにはスラッシュの直後にエクスクラメーションマークを使います (`<!-- ... -->`)。
231
+
232
+ ### IE コンディショナルコメント `/[...]`
233
+
234
+ ~~~ slim
235
+ /[if IE]
236
+ p もっといいブラウザを使ってください。
237
+ ~~~
238
+
239
+ レンダリング結果:
240
+
241
+ ~~~ html
242
+ <!--[if IE]><p>もっといいブラウザを使ってください。</p><![endif]-->
243
+ ~~~
244
+
245
+ ## HTML タグ
246
+
247
+ ### <!DOCTYPE> 宣言
248
+
249
+ doctype キーワードでは, とても簡単な方法で複雑な DOCTYPE を生成できます。
250
+
251
+ XML バージョン
252
+
253
+ ~~~ slim
254
+ doctype xml
255
+ <?xml version="1.0" encoding="utf-8" ?>
256
+
257
+ doctype xml ISO-8859-1
258
+ <?xml version="1.0" encoding="iso-8859-1" ?>
259
+ ~~~
260
+
261
+ XHTML DOCTYPES
262
+
263
+ ~~~ slim
264
+ doctype html
265
+ <!DOCTYPE html>
266
+
267
+ doctype 5
268
+ <!DOCTYPE html>
269
+
270
+ doctype 1.1
271
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
272
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
273
+
274
+ doctype strict
275
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
276
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
277
+
278
+ doctype frameset
279
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
280
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
281
+
282
+ doctype mobile
283
+ <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN"
284
+ "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd">
285
+
286
+ doctype basic
287
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN"
288
+ "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
289
+
290
+ doctype transitional
291
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
292
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
293
+ ~~~
294
+
295
+ HTML 4 DOCTYPES
296
+
297
+ ~~~ slim
298
+ doctype strict
299
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
300
+ "http://www.w3.org/TR/html4/strict.dtd">
301
+
302
+ doctype frameset
303
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
304
+ "http://www.w3.org/TR/html4/frameset.dtd">
305
+
306
+ doctype transitional
307
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
308
+ "http://www.w3.org/TR/html4/loose.dtd">
309
+ ~~~
310
+
311
+ ### 閉じタグ (末尾の `/`)
312
+
313
+ 末尾に `/` を付けることで明示的にタグを閉じることができます。
314
+
315
+ ~~~ slim
316
+ img src="image.png"/
317
+ ~~~
318
+
319
+ (注) 標準的な html タグ (img, br, ...) は自動的にタグを閉じるので,
320
+ 通常必要ありません。
321
+
322
+ ### 行頭・行末にスペースを追加する (`<`, `>`)
323
+
324
+ a タグの後に > を追加することで末尾にスペースを追加するよう Slim に強制することができます。
325
+
326
+ ~~~ slim
327
+ a> href='url1' リンク1
328
+ a> href='url2' リンク2
329
+ ~~~
330
+
331
+ < を追加することで先頭にスペースを追加できます。
332
+
333
+ ~~~ slim
334
+ a< href='url1' リンク1
335
+ a< href='url2' リンク2
336
+ ~~~
337
+
338
+ これらを組み合わせて使うこともできます。
339
+
340
+ ~~~ slim
341
+ a<> href='url1' リンク1
342
+ ~~~
343
+
344
+ ### インラインタグ
345
+
346
+ タグをよりコンパクトにインラインにしたくなることがあるかもしれません。
347
+
348
+ ~~~ slim
349
+ ul
350
+ li.first: a href="/a" A リンク
351
+ li: a href="/b" B リンク
352
+ ~~~
353
+
354
+ 可読性のために, 属性を囲むことができるのを忘れないでください。
355
+
356
+ ~~~ slim
357
+ ul
358
+ li.first: a[href="/a"] A リンク
359
+ li: a[href="/b"] B リンク
360
+ ~~~
361
+
362
+ ### テキストコンテンツ
363
+
364
+ タグと同じ行で開始するか
365
+
366
+ ~~~ slim
367
+ body
368
+ h1 id="headline" 私のサイトへようこそ。
369
+ ~~~
370
+
371
+ 入れ子にするかのどちらかです。エスケープ処理を行うためにはパイプかシングルクォートを使わなければなりません。
372
+
373
+
374
+ ~~~ slim
375
+ body
376
+ h1 id="headline"
377
+ | 私のサイトへようこそ。
378
+ ~~~
379
+
380
+ スマートテキストモードを有効化して利用する場合
381
+
382
+ ~~~ slim
383
+ body
384
+ h1 id="headline"
385
+ 私のサイトへようこそ。
386
+ ~~~
387
+
388
+ ### 動的コンテンツ (`=` と `==`)
389
+
390
+ 同じ行で呼び出すか
391
+
392
+ ~~~ slim
393
+ body
394
+ h1 id="headline" = page_headline
395
+ ~~~
396
+
397
+ 入れ子にすることができます。
398
+
399
+ ~~~ slim
400
+ body
401
+ h1 id="headline"
402
+ = page_headline
403
+ ~~~
404
+
405
+ ### 属性
406
+
407
+ タグの後に直接属性を書きます。通常の属性記述にはダブルクォート `"` か シングルクォート `'` を使わなければなりません (引用符で囲まれた属性)。
408
+
409
+ ~~~ slim
410
+ a href="https://slim-template.github.io" title='Slim のホームページ' Slim のホームページへ
411
+ ~~~
412
+
413
+ 引用符で囲まれたテキストを属性として使えます。
414
+
415
+ #### 属性の囲み
416
+
417
+ 区切り文字が構文を読みやすくするのであれば,
418
+ `{...}`, `(...)`, `[...]` で属性を囲むことができます。
419
+ これらの記号は設定で変更できます (`:attr_list_delims` オプション参照)。
420
+
421
+ ~~~ slim
422
+ body
423
+ h1(id="logo") = page_logo
424
+ h2[id="tagline" class="small tagline"] = page_tagline
425
+ ~~~
426
+
427
+ 属性を囲んだ場合, 属性を複数行にわたって書くことができます:
428
+
429
+ ~~~ slim
430
+ h2[id="tagline"
431
+ class="small tagline"] = page_tagline
432
+ ~~~
433
+
434
+ 属性の囲みや変数まわりにスペースを使うことができます:
435
+
436
+ ~~~ slim
437
+ h1 id = "logo" = page_logo
438
+ h2 [ id = "tagline" ] = page_tagline
439
+ ~~~
440
+
441
+ #### 引用符で囲まれた属性
442
+
443
+ 例:
444
+
445
+ ~~~ slim
446
+ a href="https://slim-template.github.io" title='Slim のホームページ' Slim のホームページへ
447
+ ~~~
448
+
449
+ 引用符で囲まれたテキストを属性として使えます:
450
+
451
+ ~~~ slim
452
+ a href="http://#{url}" #{url} へ
453
+ ~~~
454
+
455
+ 属性値はデフォルトでエスケープされます。属性のエスケープを無効にしたい場合 == を使います。
456
+
457
+ ~~~ slim
458
+ a href=="&amp;"
459
+ ~~~
460
+
461
+ 引用符で囲まれた属性をバックスラッシュ `\` で改行できます。
462
+
463
+ ~~~ slim
464
+ a data-title="help" data-content="極めて長い長い長いヘルプテキストで\
465
+ 続けてその後はまたやり直して繰り返し...."
466
+ ~~~
467
+
468
+ #### Ruby コードを用いた属性
469
+
470
+ `=` の後に直接 Ruby コードを書きます。コードにスペースが含まれる場合,
471
+ `(...)` の括弧でコードを囲まなければなりません。ハッシュを `{...}` に, 配列を `[...]` に書くこともできます。
472
+
473
+ ~~~ slim
474
+ body
475
+ table
476
+ - for user in users
477
+ td id="user_#{user.id}" class=user.role
478
+ a href=user_action(user, :edit) Edit #{user.name}
479
+ a href=(path_to_user user) = user.name
480
+ ~~~
481
+
482
+ 属性値はデフォルトでエスケープされます。属性のエスケープを無効にしたい場合 == を使います。
483
+
484
+ ~~~ slim
485
+ a href==action_path(:start)
486
+ ~~~
487
+
488
+ Ruby コードの属性は, コントロールセクションにあるようにバックスラッシュ `\` や `,` を用いて改行できます。
489
+
490
+ #### 真偽値属性
491
+
492
+ 属性値の `true`, `false` や `nil` は真偽値として
493
+ 評価されます。属性を括弧で囲む場合, 属性値の指定を省略することができます。
494
+
495
+ ~~~ slim
496
+ input type="text" disabled="disabled"
497
+ input type="text" disabled=true
498
+ input(type="text" disabled)
499
+
500
+ input type="text"
501
+ input type="text" disabled=false
502
+ input type="text" disabled=nil
503
+ ~~~
504
+
505
+ #### 属性の結合
506
+
507
+ 複数の属性が与えられた場合に属性をまとめるように設定することができます (`:merge_attrs` 参照)。デフォルト設定では
508
+ class 属性はスペース区切りで結合されます。
509
+
510
+ ~~~ slim
511
+ a.menu class="highlight" href="https://slim-template.github.io/" slim-template.github.io
512
+ ~~~
513
+
514
+ レンダリング結果:
515
+
516
+ ~~~ html
517
+ <a class="menu highlight" href="https://slim-template.github.io/">slim-template.github.io</a>
518
+ ~~~
519
+
520
+ また, `Array` を属性値として使うと、配列要素が区切り文字で結合されます。
521
+
522
+ ~~~ slim
523
+ a class=["menu","highlight"]
524
+ a class=:menu,:highlight
525
+ ~~~
526
+
527
+ #### アスタリスク属性 `*`
528
+
529
+ アスタリスクによってハッシュを属性/値のペアとして使うことができます。
530
+
531
+ ~~~ slim
532
+ .card*{'data-url'=>place_path(place), 'data-id'=>place.id} = place.name
533
+ ~~~
534
+
535
+ レンダリング結果:
536
+
537
+ ~~~ html
538
+ <div class="card" data-id="1234" data-url="/place/1234">Slim の家</div>
539
+ ~~~
540
+
541
+ 次のようにハッシュを返すメソッドやインスタンス変数を使うこともできます。
542
+
543
+ ~~~ slim
544
+ .card *method_which_returns_hash = place.name
545
+ .card *@hash_instance_variable = place.name
546
+ ~~~
547
+
548
+ 属性の結合 (Slim オプション `:merge_attrs` 参照) に対応するハッシュ属性には `Array` を与えることもできます。
549
+
550
+ ~~~ slim
551
+ .first *{class: [:second, :third]} テキスト
552
+ ~~~
553
+
554
+ レンダリング結果
555
+
556
+ ~~~ slim
557
+ div class="first second third"
558
+ ~~~
559
+
560
+ アスタリスク(スプラット)属性のプレフィックスは `splat_prefix` オプションで設定できます。デフォルト値は `'*'` です。
561
+
562
+ #### 動的タグ `*`
563
+
564
+ アスタリスク属性を使用することで完全に動的なタグを作ることができます。:tag をキーにもつハッシュを返すメソッドを
565
+ 作るだけです。
566
+
567
+ ~~~ slim
568
+ ruby:
569
+ def a_unless_current
570
+ @page_current ? {tag: 'span'} : {tag: 'a', href: 'https://slim-template.github.io/'}
571
+ end
572
+ - @page_current = true
573
+ *a_unless_current リンク
574
+ - @page_current = false
575
+ *a_unless_current リンク
576
+ ~~~
577
+
578
+ レンダリング結果:
579
+
580
+ ~~~ html
581
+ <span>リンク</span><a href="https://slim-template.github.io/">リンク</a>
582
+ ~~~
583
+
584
+ ### ショートカット
585
+
586
+ #### タグショートカット
587
+
588
+ `:shortcut` オプションを設定することで独自のタグショートカットを定義できます。Rails アプリケーションでは, `config/initializers/slim.rb` のようなイニシャライザに定義します。Sinatra アプリでは, `require 'slim'` を書いた行以降であれば, どこにでも設定を定義することができます。
589
+
590
+ ~~~ ruby
591
+ Slim::Engine.set_options shortcut: {'c' => {tag: 'container'}, '#' => {attr: 'id'}, '.' => {attr: 'class'} }
592
+ ~~~
593
+
594
+ Slim コードの中でこの様に使用できます。
595
+
596
+ ~~~ slim
597
+ c.content テキスト
598
+ ~~~
599
+
600
+ レンダリング結果
601
+
602
+ ~~~ html
603
+ <container class="content">テキスト</container>
604
+ ~~~
605
+
606
+ #### 属性のショートカット
607
+
608
+ カスタムショートカットを定義することができます (id の`#` , class の `.` のように)。
609
+
610
+ 例として, type 属性付きの input 要素のショートカット `&` を追加します。
611
+
612
+ ~~~ ruby
613
+ Slim::Engine.set_options shortcut: {'&' => {tag: 'input', attr: 'type'}, '#' => {attr: 'id'}, '.' => {attr: 'class'}}
614
+ ~~~
615
+
616
+ Slim コードの中でこの様に使用できます。
617
+
618
+ ~~~ slim
619
+ &text name="user"
620
+ &password name="pw"
621
+ &submit
622
+ ~~~
623
+
624
+ レンダリング結果
625
+
626
+ ~~~ html
627
+ <input type="text" name="user" />
628
+ <input type="password" name="pw" />
629
+ <input type="submit" />
630
+ ~~~
631
+
632
+ 別の例として, role 属性のショートカット `@` を追加します。
633
+
634
+ ~~~ ruby
635
+ Slim::Engine.set_options shortcut: {'@' => 'role', '#' => 'id', '.' => 'class'}
636
+ ~~~
637
+
638
+ Slim コードの中でこの様に使用できます。
639
+
640
+ ~~~ slim
641
+ .person@admin = person.name
642
+ ~~~
643
+
644
+ レンダリング結果
645
+
646
+ ~~~ html
647
+ <div class="person" role="admin">Daniel</div>
648
+ ~~~
649
+
650
+ 1つのショートカットを使って複数の属性を設定することもできます。
651
+
652
+ ~~~ ruby
653
+ Slim::Engine.set_options shortcut: {'@' => {attr: %w(data-role role)}}
654
+ ~~~
655
+
656
+ Slim の中で次のように使用すると,
657
+
658
+ ~~~ slim
659
+ .person@admin = person.name
660
+ ~~~
661
+
662
+ このようにレンダリングされます。
663
+
664
+ ~~~ html
665
+ <div class="person" role="admin" data-role="admin">Daniel</div>
666
+ ~~~
667
+
668
+ 次のように追加の属性固定値を設定することもできます。
669
+
670
+ ~~~ ruby
671
+ Slim::Engine.set_options shortcut: {'^' => {tag: 'script', attr: 'data-binding',
672
+ additional_attrs: { type: "text/javascript" }}}
673
+ ~~~
674
+
675
+ このように使用します。
676
+
677
+ ~~~ slim
678
+ ^products
679
+ == @products.to_json
680
+ ~~~
681
+
682
+ レンダリング結果です。
683
+
684
+ ~~~ html
685
+ <script data-binding="products" type="text/javascript">
686
+ [{"name": "product1", "price": "$100"},
687
+ {"name": "prodcut2", "price": "$200"}]
688
+ </script>
689
+ ~~~
690
+
691
+ #### ID ショートカット `#` と class ショートカット `.`
692
+
693
+ `id` と `class` の属性を次のショートカットで指定できます。
694
+
695
+ ~~~ slim
696
+ body
697
+ h1#headline
698
+ = page_headline
699
+ h2#tagline.small.tagline
700
+ = page_tagline
701
+ .content
702
+ = show_content
703
+ ~~~
704
+
705
+ これは次に同じです
706
+
707
+ ~~~ slim
708
+ body
709
+ h1 id="headline"
710
+ = page_headline
711
+ h2 id="tagline" class="small tagline"
712
+ = page_tagline
713
+ div class="content"
714
+ = show_content
715
+ ~~~
716
+
717
+ ## ヘルパ, キャプチャとインクルード
718
+
719
+ いくつかのヘルパを使用してテンプレートを拡張することもできます。次のヘルパが定義されているとして,
720
+
721
+ ~~~ruby
722
+ module Helpers
723
+ def headline(&block)
724
+ if defined?(::Rails)
725
+ # Rails の場合には capture メソッドを使う
726
+ "<h1>#{capture(&block)}</h1>"
727
+ else
728
+ # フレームワークなしで Slim を使う場合(Tilt の場合),
729
+ # そのまま出力する
730
+ "<h1>#{yield}</h1>"
731
+ end
732
+ end
733
+ end
734
+ ~~~
735
+
736
+ 実行する Slim のテンプレートコードのスコープにインクルードされます。このヘルパは, Slim テンプレートの中で次のように使用することができます。
737
+
738
+ ~~~ slim
739
+ p
740
+ = headline do
741
+ ' Hello
742
+ = user.name
743
+ ~~~
744
+
745
+ `do` ブロック内のコンテンツが自動的にキャプチャされ `yield` を通してヘルパに渡されます。糖衣構文として
746
+ `do` キーワードを省略して書くこともできます。
747
+
748
+ ~~~ slim
749
+ p
750
+ = headline
751
+ ' Hello
752
+ = user.name
753
+ ~~~
754
+
755
+ ### ローカル変数のキャプチャ
756
+
757
+ 次のように `Binding` を使ってローカル変数をキャプチャすることができます:
758
+
759
+ ~~~ruby
760
+ module Helpers
761
+ def capture_to_local(var, &block)
762
+ set_var = block.binding.eval("lambda {|x| #{var} = x }")
763
+ # Rails では capture! を使います
764
+ # Slim をフレームワークなしで使う場合 (Tilt のみを使う場合),
765
+ # キャプチャブロックを取得するには yield だけが利用できます
766
+ set_var.call(defined?(::Rails) ? capture(&block) : yield)
767
+ end
768
+ end
769
+ ~~~
770
+
771
+ このヘルパは次のように使用できます
772
+
773
+ ~~~ slim
774
+ / captured_content 変数は Binding 前に定義されていなければいけません。
775
+ = capture_to_local captured_content=:captured_content
776
+ p この段落は captured_content 変数にキャプチャされます
777
+ = captured_content
778
+ ~~~
779
+
780
+ 別の興味深いユースケースは, enumerableを使いそれぞれの要素をキャプチャすることです。ヘルパは, このようになります。
781
+
782
+ ~~~ ruby
783
+ module Capture
784
+ def capture(var, enumerable = nil, &block)
785
+ value = enumerable ? enumerable.map(&block) : yield
786
+ block.binding.eval("lambda {|x| #{var} = x }").call(value)
787
+ nil
788
+ end
789
+ end
790
+ ~~~
791
+
792
+ そして, 次のように使用出来ます。
793
+
794
+ ~~~ slim
795
+ - links = { 'https://slim-template.github.io' => 'The Slim Template Language' }
796
+ = capture link_list=:link_list, links do |url, text|
797
+ a href=url = text
798
+ ~~~
799
+
800
+ その後は, `link_list`はキャプチャしたコンテンツを含みます。
801
+
802
+ ### インクルードヘルパ
803
+
804
+ コンパイル時にインクルード機能を使いたい場合には, [パーシャルのインクルード](doc/jp/include.md) を見てください。
805
+ 実行時にサブテンプレートを実行すること ( Rails の `#render` のように) もできます。インクルードヘルパを自分で用意する必要があります:
806
+
807
+ ~~~ ruby
808
+ module Helpers
809
+ def include_slim(name, options = {}, &block)
810
+ Slim::Template.new("#{name}.slim", options).render(self, &block)
811
+ end
812
+ end
813
+ ~~~
814
+
815
+ このヘルパは次のように使用できます
816
+
817
+ ~~~ slim
818
+ nav = include_slim 'menu'
819
+ section = include_slim 'content'
820
+ ~~~
821
+
822
+ しかし, このヘルパはキャッシュを行いません。その為, 目的にあったよりインテリジェントなバージョンを
823
+ 実装する必要があります。また, ほとんどのフレームワークにはすでに同様のヘルパが含まれるので注意してください。(例: Rails の `render` メソッド)
824
+
825
+ ## テキストの展開
826
+
827
+ Ruby の標準的な展開方法を使用します。テキストはデフォルトで html エスケープされます。2 重括弧にすることでエスケープしないこともできます。
828
+
829
+ ~~~ slim
830
+ body
831
+ h1 ようこそ #{current_user.name} ショーへ。
832
+ | エスケープしない #{{content}} こともできます。
833
+ ~~~
834
+
835
+ 展開したテキストのエスケープ方法 (言い換えればそのままのレンダリング)
836
+
837
+ ~~~ slim
838
+ body
839
+ h1 ようこそ \#{current_user.name} ショーへ。
840
+ ~~~
841
+
842
+ ## 埋め込みエンジン (Markdown, ...)
843
+
844
+ [Tilt](https://github.com/jeremyevans/tilt)のおかげで, Slim は他のテンプレートエンジンの埋め込みに見事に対応しています。
845
+
846
+ 例:
847
+
848
+ ~~~ slim
849
+ coffee:
850
+ square = (x) -> x * x
851
+
852
+ markdown:
853
+ #Header
854
+ #{"Markdown"} からこんにちわ!
855
+ 2行目!
856
+
857
+ p: markdown: Tag with **inline** markdown!
858
+ ~~~
859
+
860
+ 対応エンジン:
861
+
862
+ | フィルタ | 必要な gems | 種類 | 説明 |
863
+ | -------- | ----------- | ---- | ----------- |
864
+ | ruby: | なし | ショートカット | Ruby コードを埋め込むショートカット |
865
+ | javascript: | なし | ショートカット | javascript コードを埋め込み、script タグで囲む |
866
+ | css: | なし | ショートカット | css コードを埋め込み、style タグで囲む |
867
+ | sass: | sass-embedded または sassc または sass | コンパイル時 | sass コードを埋め込み、style タグで囲む |
868
+ | scss: | sass-embedded または sassc または sass | コンパイル時 | scss コードを埋め込み、style タグで囲む |
869
+ | less: | less | コンパイル時 | less コードを埋め込み、style タグで囲む |
870
+ | coffee: | coffee-script | コンパイル時 | CoffeeScript をコンパイルし、 script タグで囲む |
871
+ | markdown: | redcarpet/rdiscount/kramdown | コンパイル時 + 展開 | Markdown をコンパイルし、テキスト中の # \{variables} を展開 |
872
+ | textile: | redcloth | コンパイル時 + 展開 | textile をコンパイルし、テキスト中の # \{variables} を展開 |
873
+ | rdoc: | rdoc | コンパイル時 + 展開 | RDoc をコンパイルし、テキスト中の # \{variables} を展開 |
874
+
875
+ 埋め込みエンジンは Slim の `Slim::Embedded` フィルタのオプションで直接設定されます。例:
876
+
877
+ ~~~ ruby
878
+ Slim::Embedded.options[:markdown] = {auto_ids: false}
879
+ ~~~
880
+
881
+ 以下埋め込みエンジンの場合はHTMLのattributeも指定できます:
882
+
883
+ * Javascript
884
+ * CSS
885
+ * CoffeeScript
886
+ * LESS
887
+ * SASS
888
+ * SCSS
889
+
890
+ 例:
891
+
892
+ ~~~ scss
893
+ scss class="myClass":
894
+ $color: #f00;
895
+ body { color: $color; }
896
+ ~~~
897
+
898
+ レンダリング結果:
899
+
900
+ ~~~ html
901
+ <style class="myClass" type="text/css">body{color:red}</style>
902
+ ~~~
903
+
904
+ ## Slim の設定
905
+
906
+ Slim とその基礎となる [Temple](https://github.com/judofyr/temple) は非常に柔軟に設定可能です。
907
+ Slim を設定する方法はコンパイル機構に少し依存します。(Rails や [Tilt](https://github.com/jeremyevans/tilt))。デフォルトオプションの設定は `Slim::Engine` クラスでいつでも可能です。Rails の 環境設定ファイルで設定可能です。例えば, config/environments/developers.rb で設定したいとします:
908
+
909
+ ### デフォルトオプション
910
+
911
+ ~~~ ruby
912
+ # デバック用に html をきれいにインデントし属性をソートしない
913
+ Slim::Engine.set_options pretty: true, sort_attrs: false
914
+ ~~~
915
+
916
+ ハッシュで直接オプションにアクセスすることもできます:
917
+
918
+ ~~~ ruby
919
+ Slim::Engine.options[:pretty] = true
920
+ ~~~
921
+
922
+ ### 実行時のオプション設定
923
+
924
+ 実行時のオプション設定の方法は2つあります。Tilt テンプレート (`Slim::Template`) の場合, テンプレートを
925
+ インスタンス化する時にオプションを設定できます。
926
+
927
+ ~~~ ruby
928
+ Slim::Template.new('template.slim', optional_option_hash).render(scope)
929
+ ~~~
930
+
931
+ 他の方法は Rails に主に関係がありますがスレッド毎にオプション設定を行う方法です:
932
+
933
+ ~~~ slim
934
+ Slim::Engine.with_options(option_hash) do
935
+ # ここで作成される Slim エンジンは option_hash を使用します
936
+ # Rails での使用例:
937
+ render :page, layout: true
938
+ end
939
+ ~~~
940
+
941
+ Rails ではコンパイルされたテンプレートエンジンのコードとオプションはテンプレート毎にキャッシュされ, 後でオプションを変更できないことに注意する必要があります。
942
+
943
+ ~~~ slim
944
+ # 最初のレンダリング呼び出し
945
+ Slim::Engine.with_options(pretty: true) do
946
+ render :page, layout: true
947
+ end
948
+
949
+ # 2回目のレンダリング呼び出し
950
+ Slim::Engine.with_options(pretty: false) do
951
+ render :page, layout: true # :pretty is still true because it is cached
952
+ end
953
+ ~~~
954
+
955
+ ### 設定可能なオプション
956
+
957
+ 次のオプションが `Slim::Engine` によって用意され `Slim::Engine.set_options` で設定することができます。
958
+ 沢山ありますが, 素晴らしいことに, Slim は設定キーをチェックし, 無効な設定キーを使用しようとしていた場合, エラーを返してくれます。
959
+
960
+
961
+ | 型 | 名前 | デフォルト | 用途 |
962
+ | ---- | ---- | ---------- | ---- |
963
+ | String | :file | nil | 解析対象のファイル名。 Slim::Template によって自動的に設定されます |
964
+ | Integer | :tabsize | 4 | 1 タブあたりのスペース数 (構文解析で利用されます) |
965
+ | String | :encoding | "utf-8" | テンプレートのエンコーディングを設定 |
966
+ | String | :default_tag | "div" | タグ名が省略されている場合デフォルトのタグとして使用される |
967
+ | Hash | :shortcut | \{'.' => {attr: 'class'}, '#' => {attr: 'id'}} | 属性のショートカット |
968
+ | Hash | :code_attr_delims | \{'(' => ')', '[' => ']', '{' => '}'} | Ruby コードの属性区切り文字 |
969
+ | Hash | :attr_list_delims | \{'(' => ')', '[' => ']', '{' => '}'} | 属性リスト区切り文字 |
970
+ | Array&lt;Symbol,String&gt; | :enable_engines | nil <i>(すべて有効)</i> | 有効な埋め込みエンジンリスト (ホワイトリスト) |
971
+ | Array&lt;Symbol,String&gt; | :disable_engines | nil <i>(無効なし)</i> | 無効な埋め込みエンジンリスト (ブラックリスト) |
972
+ | Boolean | :disable_capture | false (Rails では true) | ブロック内キャプチャ無効 (ブロックはデフォルトのバッファに書き込む) |
973
+ | Boolean | :disable_escape | false | Stringの自動エスケープ無効 |
974
+ | Boolean | :use_html_safe | false (Rails では true) | ActiveSupport の String# html_safe? を使う (:disable_escape と一緒に機能する) |
975
+ | Symbol | :format | :xhtml | HTML の出力フォーマット (対応フォーマット :html, :xhtml, :xml) |
976
+ | String | :attr_quote | '"' | HTML の属性を囲む文字 (' または " が可能) |
977
+ | Hash | :merge_attrs | \{'class' => ' '} | 複数の html 属性が与えられたときに, 結合に使われる文字 (例: class="class1 class2") |
978
+ | Array&lt;String&gt; | :hyphen_attrs | %w(data) | 属性にハッシュが与えられたとき, ハイフンで区切られます。(例: data={a:1, b:2} は data-a="1" data-b="2" のように) |
979
+ | Boolean | :sort_attrs | true | 名前順に属性をソート |
980
+ | Symbol | :js_wrapper | nil | :commentや :cdata , :both で JavaScript をラップします。:guess を指定することで :format オプションに基いて設定することもできます |
981
+ | Boolean | :pretty | false | HTML を綺麗にインデントします。ブロック要素のタグでのみ、インデントされます。 <b>(遅くなります!)</b> |
982
+ | String | :indent | ' ' | インデントに使用される文字列 |
983
+ | Boolean | :streaming | false (Rails では true, 無効化するにはストリーミングを参照) | ストリーミング出力の有効化, 体感的なパフォーマンスの向上 |
984
+ | Class | :generator | Temple::Generators::StringBuffer/ RailsOutputBuffer | Temple コードジェネレータ (デフォルトのジェネレータはStringバッファを生成します) |
985
+ | String | :buffer | '_buf' (Rails では '@output_buffer') | バッファに使用される変数 |
986
+ | String | :splat_prefix | '*' | アスタリスク(スプラット)属性のプレフィックス |
987
+
988
+ Temple フィルタによってもっと多くのオプションがサポートされていますが一覧には載せず公式にはサポートしません。
989
+ Slim と Temple のコードを確認しなければなりません。
990
+
991
+ ### オプションの優先順位と継承
992
+
993
+ Slim や Temple のアーキテクチャについてよく知っている開発者は, 別の場所で設定を
994
+ 上書きすることができます。 Temple はサブクラスがスーパークラスのオプションを上書きできるように
995
+ 継承メカニズムを採用しています。オプションの優先順位は次のとおりです:
996
+
997
+ 1. `Slim::Template` オプションはエンジン初期化時に適用されます
998
+ 2. `Slim::Template.options`
999
+ 3. `Slim::Engine.thread_options`, `Slim::Engine.options`
1000
+ 5. Praser/Filter/Generator `thread_options`, `options` (例: `Slim::Parser`, `Slim::Compiler`)
1001
+
1002
+ `Temple::Engine` のようにスーパークラスのオプションを設定することも可能です。しかし, こうするとすべての Temple テンプレートエンジンに影響します。
1003
+
1004
+ ~~~ ruby
1005
+ Slim::Engine < Temple::Engine
1006
+ Slim::Compiler < Temple::Filter
1007
+ ~~~
1008
+
1009
+ ## プラグイン
1010
+
1011
+ Slim はロジックレスモードと I18n, インクルードプラグインを提供しています。プラグインのドキュメントを確認してください。
1012
+
1013
+ * [ロジックレスモード](doc/jp/logic_less.md)
1014
+ * [パーシャルのインクルード](doc/jp/include.md)
1015
+ * [多言語化/I18n](doc/jp/translator.md)
1016
+ * [スマートテキストモード](doc/jp/smart.md)
1017
+
1018
+ ## フレームワークサポート
1019
+
1020
+ ### Tilt
1021
+
1022
+ Slim は生成されたコードをコンパイルするために [Tilt](https://github.com/jeremyevans/tilt) を使用します。Slim テンプレートを直接使いたい場合, Tilt インターフェイスが使用できます。
1023
+
1024
+ ~~~ ruby
1025
+ Tilt.new['template.slim'].render(scope)
1026
+ Slim::Template.new('template.slim', optional_option_hash).render(scope)
1027
+ Slim::Template.new(optional_option_hash) { source }.render(scope)
1028
+ ~~~
1029
+
1030
+ optional_option_hash は前述のオプションを持つことができます。スコープはコードが実行されるテンプレートの
1031
+ オブジェクトです。
1032
+
1033
+ ### Sinatra
1034
+
1035
+ ~~~ ruby
1036
+ require 'sinatra'
1037
+ require 'slim'
1038
+
1039
+ get('/') { slim :index }
1040
+
1041
+ __END__
1042
+ @@ index
1043
+ doctype html
1044
+ html
1045
+ head
1046
+ title Slim で Sinatra
1047
+ body
1048
+ h1 Slim は楽しい!
1049
+ ~~~
1050
+
1051
+ ### Rails
1052
+
1053
+ Rails のジェネレータは [slim-rails](https://github.com/slim-template/slim-rails) によって提供されます。
1054
+ slim-rails は Rails で Slim を使用する場合に必須ではありません。Slim をインストールし Gemfile に `gem 'slim'` を追加するだけです。
1055
+ 後は .slim 拡張子を使うだけです。
1056
+
1057
+ #### ストリーミング
1058
+
1059
+ HTTP ストリーミングをサポートしているバージョンの Rails であれば, デフォルトで有効化されています。しかし, ストリーミングは体感的なパフォーマンスを改善しているだけであることに注意してください。
1060
+ レンダリング時間は増加するでしょう。ストリーミングを無効化したい場合, 以下のように設定します:
1061
+
1062
+ ~~~ ruby
1063
+ Slim::RailsTemplate.set_options streaming: false
1064
+ ~~~
1065
+
1066
+ ### Angular2
1067
+
1068
+ Slim は Angular2 の構文に対応しています。ただし, いくつかのオプションを設定する必要があります:
1069
+
1070
+ #### `splat_prefix` オプション
1071
+
1072
+ このオプションは, アスタリスク(スプラット)属性に使用する構文をパーサに指定します。
1073
+ デフォルト値はアスタリスクです: `splat_prefix: '*'`
1074
+ アスタリスクは Angular2 でも構造ディレクティブとして `*ngIf` などで使われます。デフォルトの設定値では, Slim と Angular2 の構文は衝突します。
1075
+
1076
+ 解決方法は 2 つあります:
1077
+
1078
+ * `splat_prefix` に 2重アスタリスクのようなカスタム値(`splat_prefix: '**'`)を設定します。これで構造ディレクティブは期待通りに機能するはずです。アスタリスク属性は設定したカスタム値のプレフィックスで書かなければならないので注意してください。
1079
+ * アスタリスクではない代わりのディレクティブ構文を使います。
1080
+
1081
+ #### 属性区切り文字
1082
+
1083
+ Angular と Slim はそれぞれの構文で括弧を使います。この場合も解決方法は 2 つあります:
1084
+ * バインディングに代わりの構文を使う (`bind-...` など)
1085
+ * 属性区切り文字を波括弧に限定する
1086
+ ```
1087
+ code_attr_delims: {
1088
+ '{' => '}',
1089
+ },
1090
+ attr_list_delims: {
1091
+ '{' => '}',
1092
+ },
1093
+ ```
1094
+
1095
+ これで次のように書けます:
1096
+ ```
1097
+ h1{ #var (bind1)="test" [bind2]="ok" [(bind3)]="works?" *ngIf="expr" *ngFor="expression" } {{it works}}
1098
+ ```
1099
+
1100
+ コンパイル結果:
1101
+ ```
1102
+ <h1 #var="" (bind1)="test" [bind2]="ok" [(bind3)]="works?" *ngIf="expr" *ngFor="expression">
1103
+ {{it works}}
1104
+ </h1>
1105
+ ```
1106
+
1107
+ ## ツール
1108
+
1109
+ ### Slim コマンド 'slimrb'
1110
+
1111
+ gem の 'slim' にはコマンドラインから Slim をテストするための小さなツール 'slimrb' が付属します。
1112
+
1113
+ <pre>
1114
+ $ slimrb --help
1115
+ Usage: slimrb [options]
1116
+ -s, --stdin Read input from standard input instead of an input file
1117
+ --trace Show a full traceback on error
1118
+ -c, --compile Compile only but do not run
1119
+ -e, --erb Convert to ERB
1120
+ --rails Generate rails compatible code (Implies --compile)
1121
+ -r, --require library Load library or plugin with -r slim/plugin
1122
+ -p, --pretty Produce pretty html
1123
+ -o, --option name=code Set slim option
1124
+ -l, --locals Hash|YAML|JSON Set local variables
1125
+ -h, --help Show this message
1126
+ -v, --version Print version
1127
+ </pre>
1128
+
1129
+ 'slimrb' で起動し, コードをタイプし Ctrl-d で EOF を送ります。Windows のコマンドプロンプトでは Ctrl-z で EOF を送ります。使い方例:
1130
+
1131
+ <pre>
1132
+ $ slimrb
1133
+ markdown:
1134
+ 最初の段落。
1135
+
1136
+ 2つ目の段落。
1137
+
1138
+ * 1つ
1139
+ * 2つ
1140
+ * 3つ
1141
+
1142
+ //Enter Ctrl-d
1143
+ &lt;p&gt;最初の段落。 &lt;/p&gt;
1144
+
1145
+ &lt;p&gt;2つめの段落。 &lt;/p&gt;
1146
+
1147
+ &lt;ul&gt;
1148
+ &lt;li&gt;1つ&lt;/li&gt;
1149
+ &lt;li&gt;2つ&lt;/li&gt;
1150
+ &lt;li&gt;3つ&lt;/li&gt;
1151
+ &lt;/ul&gt;
1152
+ </pre>
1153
+
1154
+ ### 構文ハイライト
1155
+
1156
+ 様々なテキストエディタ(Vim や Emacs, Textmateなど)のためのプラグインがあります。:
1157
+
1158
+ * [Vim](https://github.com/slim-template/vim-slim)
1159
+ * [Emacs](https://github.com/slim-template/emacs-slim)
1160
+ * [Textmate / Sublime Text](https://github.com/slim-template/ruby-slim.tmbundle)
1161
+ * [Espresso text editor](https://github.com/slim-template/Slim-Sugar)
1162
+ * [Coda](https://github.com/slim-template/Coda-2-Slim.mode)
1163
+ * [Atom](https://github.com/slim-template/language-slim)
1164
+
1165
+ ### テンプレート変換 (HAML, ERB, ...)
1166
+
1167
+ * Slim は gem に含まれる `slimrb` や `Slim::ERBConverter` を用いて ERB に変換できます。
1168
+ * [Haml2Slim converter](https://github.com/slim-template/haml2slim)
1169
+ * [ERB2Slim, HTML2Slim converter](https://github.com/slim-template/html2slim)
1170
+
1171
+ ## テスト
1172
+
1173
+ ### ベンチマーク
1174
+
1175
+ *そうです, Slim は最速の Ruby のテンプレートエンジンです!
1176
+ production モードの Slim は Erubis (最速のテンプレートエンジン) と同じくらい高速です。
1177
+ どんな理由であれ, あなたが Slim を選択していただければ嬉しいし, 私たちは
1178
+ パフォーマンスが障害にならないだろうことを保証します。*
1179
+
1180
+ ベンチマークは `rake bench` で実行します。時間が余計にかかりますが遅い解析ベンチマークを
1181
+ 実行したい場合 `slow` オプションを追加できます。
1182
+
1183
+ ~~~
1184
+ rake bench slow=1 iterations=1000
1185
+ ~~~
1186
+
1187
+ ### テストスイートと継続的インテグレーション
1188
+
1189
+ Slim は minitest ベースの拡張性のあるテストスイートを提供します。テストは 'rake test' または
1190
+ rails のインテグレーションテストの場合 'rake test:rails' で実行できます。
1191
+
1192
+ 私たちは現在 markdown ファイルで書かれ, 人間が読み書きしやすいテストを試しています: [TESTS.md](test/literate/TESTS.md)
1193
+
1194
+ Slim は主要な Ruby 実装全てで動作します:
1195
+
1196
+ * Ruby 2.5
1197
+ * JRuby
1198
+
1199
+ ## 貢献
1200
+
1201
+ Slim の改良を支援したい場合, Git で管理されているプロジェクトを clone してください。
1202
+
1203
+ ~~~
1204
+ $ git clone git://github.com/slim-template/slim
1205
+ ~~~
1206
+
1207
+ 魔法をかけた後 pull request を送ってください。私たちは pull request が大好きです!
1208
+
1209
+ Ruby の 2.5.0 でテストをすることを覚えておいてください。
1210
+
1211
+ もしドキュメントの不足を見つけたら, README.md をアップデートして私たちを助けて下さい。Slim に割ける時間がないが, 私たちが知っておくべきことを見つけた場合には issue を送ってください。
1212
+
1213
+ ## License
1214
+
1215
+ Slim は [MIT license](http://www.opensource.org/licenses/MIT) に基づいてリリースされています。
1216
+
1217
+ ## 作者
1218
+
1219
+ * [Daniel Mendler](https://github.com/minad) (Lead developer)
1220
+ * [Andrew Stone](https://github.com/stonean)
1221
+ * [Fred Wu](https://github.com/fredwu)
1222
+
1223
+ ## 寄付と支援
1224
+
1225
+ このプロジェクトをサポートしたい場合, GitHub sponsors のページを見てください。
1226
+
1227
+ [![GitHub Sponsors](https://img.shields.io/github/sponsors/slim-template)](https://github.com/sponsors/slim-template)
1228
+
1229
+ ## 関連プロジェクト
1230
+
1231
+ テンプレートのコンパイルフレームワーク:
1232
+
1233
+ * [Temple](https://github.com/judofyr/temple)
1234
+
1235
+ フレームワークサポート:
1236
+
1237
+ * [Rails generators (slim-rails)](https://github.com/slim-template/slim-rails)
1238
+ * [slimkeyfy - Translation string extraction](https://github.com/phrase/slimkeyfy)
1239
+
1240
+ 構文ハイライト:
1241
+
1242
+ * [Vim](https://github.com/slim-template/vim-slim)
1243
+ * [Emacs](https://github.com/slim-template/emacs-slim)
1244
+ * [Textmate / Sublime Text](https://github.com/slim-template/ruby-slim.tmbundle)
1245
+ * [Espresso text editor](https://github.com/slim-template/Slim-Sugar)
1246
+ * [Coda](https://github.com/slim-template/Coda-2-Slim.mode)
1247
+ * [Atom](https://github.com/slim-template/language-slim)
1248
+
1249
+ 静的コード解析:
1250
+
1251
+ * [Slim-Lint](https://github.com/sds/slim-lint)
1252
+ * [SublimeLinter-slim-lint](https://github.com/elstgav/SublimeLinter-slim-lint)
1253
+
1254
+ テンプレート変換 (HAML, ERB, ...):
1255
+
1256
+ * [Haml2Slim converter](https://github.com/slim-template/haml2slim)
1257
+ * [ERB2Slim, HTML2Slim converter](https://github.com/slim-template/html2slim)
1258
+
1259
+ 移植言語/同様の言語:
1260
+
1261
+ * [Sliq (Slim/Liquid integration)](https://github.com/slim-template/sliq)
1262
+ * [Slm (Slim port to Javascript)](https://github.com/slm-lang/slm)
1263
+ * [Coffee script plugin for Slim](https://github.com/yury/coffee-views)
1264
+ * [Clojure port of Slim](https://github.com/chaslemley/slim.clj)
1265
+ * [Hamlet.rb (Similar template language)](https://github.com/gregwebs/hamlet.rb)
1266
+ * [Plim (Python port of Slim)](https://github.com/2nd/plim)
1267
+ * [Skim (Slim for Javascript)](https://github.com/jfirebaugh/skim)
1268
+ * [Emblem.js (Javascript, similar to Slim)](https://github.com/machty/emblem.js)
1269
+ * [Hamlit (High performance Haml implementation, based on Temple like Slim)](https://github.com/k0kubun/hamlit)
1270
+ * [Faml (Faster Haml implementation, also using Temple like Slim)](https://github.com/eagletmt/faml)
1271
+ * [Haml (Older engine which inspired Slim)](https://github.com/haml/haml)
1272
+ * [Jade (Similar engine for javascript)](https://github.com/visionmedia/jade)
1273
+ * [Pug (Successor of Jade, Similar engine for javascript)](https://github.com/pugjs/pug)
1274
+ * [Sweet (Similar engine which also allows to write classes and functions)](https://github.com/joaomdmoura/sweet)
1275
+ * [Amber (Similar engine for Go)](https://github.com/eknkc/amber)
1276
+ * [Slang (Slim-inspired templating language for Crystal)](https://github.com/jeromegn/slang)