checkoff 0.201.0 → 0.203.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +130 -28
  3. data/.git-hooks/pre_commit/solargraph_typecheck.rb +12 -11
  4. data/.overcommit.yml +27 -2
  5. data/.rubocop.yml +20 -2
  6. data/.rubocop_todo.yml +90 -0
  7. data/.solargraph.yml +10 -1
  8. data/DEVELOPMENT.md +1 -1
  9. data/Gemfile +11 -8
  10. data/Gemfile.lock +66 -42
  11. data/LICENSE +1 -1
  12. data/Makefile +14 -12
  13. data/bin/brakeman +27 -0
  14. data/bin/overcommit_branch +117 -0
  15. data/bin/spoom +27 -0
  16. data/bin/srb +27 -0
  17. data/bin/srb-rbi +27 -0
  18. data/bin/tapioca +27 -0
  19. data/config/annotations_misc.rb +35 -0
  20. data/docs/cookiecutter_input.json +1 -0
  21. data/fix.sh +14 -6
  22. data/lib/checkoff/internal/search_url/simple_param_converter.rb +11 -0
  23. data/lib/checkoff/version.rb +1 -1
  24. data/requirements_dev.txt +1 -1
  25. data/sorbet/config +4 -0
  26. data/sorbet/rbi/annotations/.gitattributes +1 -0
  27. data/sorbet/rbi/annotations/activesupport.rbi +453 -0
  28. data/sorbet/rbi/annotations/faraday.rbi +17 -0
  29. data/sorbet/rbi/annotations/minitest.rbi +119 -0
  30. data/sorbet/rbi/annotations/mocha.rbi +34 -0
  31. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  32. data/sorbet/rbi/annotations/webmock.rbi +9 -0
  33. data/sorbet/rbi/dsl/.gitattributes +1 -0
  34. data/sorbet/rbi/dsl/active_support/callbacks.rbi +23 -0
  35. data/sorbet/rbi/gems/.gitattributes +1 -0
  36. data/sorbet/rbi/gems/activesupport@7.1.3.rbi +18749 -0
  37. data/sorbet/rbi/gems/addressable@2.8.6.rbi +1994 -0
  38. data/sorbet/rbi/gems/ansi@1.5.0.rbi +688 -0
  39. data/sorbet/rbi/gems/asana@0.10.6-ab9393136d9ca59b75e42a661fdddc1c65c8f7c3.rbi +6142 -0
  40. data/sorbet/rbi/gems/ast@2.4.2.rbi +585 -0
  41. data/sorbet/rbi/gems/backport@1.2.0.rbi +523 -0
  42. data/sorbet/rbi/gems/base64@0.2.0.rbi +509 -0
  43. data/sorbet/rbi/gems/benchmark@0.4.0.rbi +618 -0
  44. data/sorbet/rbi/gems/bigdecimal@3.1.5.rbi +78 -0
  45. data/sorbet/rbi/gems/builder@3.2.4.rbi +505 -0
  46. data/sorbet/rbi/gems/bump@0.10.0.rbi +169 -0
  47. data/sorbet/rbi/gems/cache@0.4.1.rbi +211 -0
  48. data/sorbet/rbi/gems/cache_method@0.2.7.rbi +293 -0
  49. data/sorbet/rbi/gems/chef-utils@18.3.0.rbi +9 -0
  50. data/sorbet/rbi/gems/childprocess@5.1.0.rbi +383 -0
  51. data/sorbet/rbi/gems/coderay@1.1.3.rbi +3427 -0
  52. data/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi +11591 -0
  53. data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +9 -0
  54. data/sorbet/rbi/gems/crack@0.4.5.rbi +145 -0
  55. data/sorbet/rbi/gems/diff-lcs@1.5.1.rbi +969 -0
  56. data/sorbet/rbi/gems/docile@1.4.0.rbi +377 -0
  57. data/sorbet/rbi/gems/drb@2.2.0.rbi +1347 -0
  58. data/sorbet/rbi/gems/e2mmap@0.1.0.rbi +9 -0
  59. data/sorbet/rbi/gems/erubi@1.13.0.rbi +152 -0
  60. data/sorbet/rbi/gems/faraday-em_http@1.0.0.rbi +222 -0
  61. data/sorbet/rbi/gems/faraday-em_synchrony@1.0.0.rbi +126 -0
  62. data/sorbet/rbi/gems/faraday-excon@1.1.0.rbi +136 -0
  63. data/sorbet/rbi/gems/faraday-httpclient@1.0.1.rbi +145 -0
  64. data/sorbet/rbi/gems/faraday-multipart@1.0.4.rbi +259 -0
  65. data/sorbet/rbi/gems/faraday-net_http@1.0.1.rbi +142 -0
  66. data/sorbet/rbi/gems/faraday-net_http_persistent@1.2.0.rbi +118 -0
  67. data/sorbet/rbi/gems/faraday-patron@1.0.0.rbi +125 -0
  68. data/sorbet/rbi/gems/faraday-rack@1.0.0.rbi +133 -0
  69. data/sorbet/rbi/gems/faraday-retry@1.0.3.rbi +198 -0
  70. data/sorbet/rbi/gems/faraday@1.10.3.rbi +2729 -0
  71. data/sorbet/rbi/gems/faraday_middleware-multi_json@0.0.6.rbi +29 -0
  72. data/sorbet/rbi/gems/faraday_middleware@1.2.0.rbi +1004 -0
  73. data/sorbet/rbi/gems/gli@2.21.1.rbi +9 -0
  74. data/sorbet/rbi/gems/hashdiff@1.0.1.rbi +351 -0
  75. data/sorbet/rbi/gems/i18n@1.14.1.rbi +2326 -0
  76. data/sorbet/rbi/gems/imagen@0.1.8.rbi +340 -0
  77. data/sorbet/rbi/gems/iniparse@1.5.0.rbi +899 -0
  78. data/sorbet/rbi/gems/jaro_winkler@1.6.0.rbi +22 -0
  79. data/sorbet/rbi/gems/json@2.7.1.rbi +1562 -0
  80. data/sorbet/rbi/gems/jwt@2.7.1.rbi +1405 -0
  81. data/sorbet/rbi/gems/kramdown-parser-gfm@1.1.0.rbi +128 -0
  82. data/sorbet/rbi/gems/kramdown@2.4.0.rbi +3272 -0
  83. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14238 -0
  84. data/sorbet/rbi/gems/logger@1.6.1.rbi +920 -0
  85. data/sorbet/rbi/gems/mdl@0.13.0.rbi +445 -0
  86. data/sorbet/rbi/gems/method_source@1.0.0.rbi +273 -0
  87. data/sorbet/rbi/gems/mime-types-data@3.2023.1205.rbi +127 -0
  88. data/sorbet/rbi/gems/mime-types@3.5.1.rbi +1252 -0
  89. data/sorbet/rbi/gems/minitest-profile@0.0.2.rbi +136 -0
  90. data/sorbet/rbi/gems/minitest-reporters@1.6.1.rbi +1014 -0
  91. data/sorbet/rbi/gems/minitest@5.21.1.rbi +1539 -0
  92. data/sorbet/rbi/gems/mixlib-cli@2.1.8.rbi +314 -0
  93. data/sorbet/rbi/gems/mixlib-config@3.0.27.rbi +581 -0
  94. data/sorbet/rbi/gems/mixlib-shellout@3.2.7.rbi +629 -0
  95. data/sorbet/rbi/gems/mocha@2.1.0.rbi +12 -0
  96. data/sorbet/rbi/gems/multi_json@1.15.0.rbi +268 -0
  97. data/sorbet/rbi/gems/multi_xml@0.6.0.rbi +102 -0
  98. data/sorbet/rbi/gems/multipart-post@2.3.0.rbi +234 -0
  99. data/sorbet/rbi/gems/mutex_m@0.2.0.rbi +94 -0
  100. data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
  101. data/sorbet/rbi/gems/nokogiri@1.16.7.rbi +7311 -0
  102. data/sorbet/rbi/gems/oauth2@1.4.11.rbi +833 -0
  103. data/sorbet/rbi/gems/ostruct@0.6.1.rbi +354 -0
  104. data/sorbet/rbi/gems/overcommit@0.64.0.rbi +2400 -0
  105. data/sorbet/rbi/gems/parallel@1.23.0.rbi +274 -0
  106. data/sorbet/rbi/gems/parser@3.2.2.4.rbi +7253 -0
  107. data/sorbet/rbi/gems/prism@1.2.0.rbi +39085 -0
  108. data/sorbet/rbi/gems/pry@0.14.2.rbi +10070 -0
  109. data/sorbet/rbi/gems/public_suffix@5.0.4.rbi +936 -0
  110. data/sorbet/rbi/gems/punchlist@1.3.2.rbi +173 -0
  111. data/sorbet/rbi/gems/racc@1.7.3.rbi +162 -0
  112. data/sorbet/rbi/gems/rack@3.0.8.rbi +5184 -0
  113. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +403 -0
  114. data/sorbet/rbi/gems/rake@13.1.0.rbi +3022 -0
  115. data/sorbet/rbi/gems/rbi@0.2.1.rbi +4535 -0
  116. data/sorbet/rbi/gems/rbs@2.8.4.rbi +5613 -0
  117. data/sorbet/rbi/gems/regexp_parser@2.8.3.rbi +3750 -0
  118. data/sorbet/rbi/gems/reverse_markdown@2.1.1.rbi +390 -0
  119. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4888 -0
  120. data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +7061 -0
  121. data/sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi +2577 -0
  122. data/sorbet/rbi/gems/rubocop-performance@1.20.2.rbi +3262 -0
  123. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +329 -0
  124. data/sorbet/rbi/gems/rubocop@1.59.0.rbi +57238 -0
  125. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1318 -0
  126. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +9 -0
  127. data/sorbet/rbi/gems/rugged@1.6.3.rbi +1577 -0
  128. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +217 -0
  129. data/sorbet/rbi/gems/simplecov-lcov@0.8.0.rbi +256 -0
  130. data/sorbet/rbi/gems/simplecov@0.22.0.rbi +2149 -0
  131. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +9 -0
  132. data/sorbet/rbi/gems/solargraph@0.50.1-904b9304770a59fac393c5cc3cad481e5bdf0fd8.rbi +9396 -0
  133. data/sorbet/rbi/gems/source_finder@3.2.1.rbi +317 -0
  134. data/sorbet/rbi/gems/spoom@1.5.0.rbi +4932 -0
  135. data/sorbet/rbi/gems/tapioca@0.16.4.rbi +3604 -0
  136. data/sorbet/rbi/gems/thor@1.3.2.rbi +4378 -0
  137. data/sorbet/rbi/gems/tilt@2.4.0.rbi +933 -0
  138. data/sorbet/rbi/gems/tomlrb@2.0.3.rbi +9 -0
  139. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5918 -0
  140. data/sorbet/rbi/gems/undercover@0.5.0.rbi +433 -0
  141. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +66 -0
  142. data/sorbet/rbi/gems/webmock@3.19.1.rbi +1769 -0
  143. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  144. data/sorbet/rbi/gems/yard@0.9.34.rbi +18247 -0
  145. data/sorbet/rbi/todo.rbi +11 -0
  146. data/sorbet/tapioca/config.yml +13 -0
  147. data/sorbet/tapioca/require.rb +4 -0
  148. metadata +134 -3
@@ -0,0 +1,3272 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `kramdown` gem.
5
+ # Please instead update this file by running `bin/tapioca gem kramdown`.
6
+
7
+
8
+ # source://kramdown//lib/kramdown/version.rb#10
9
+ module Kramdown
10
+ class << self
11
+ # Return the data directory for kramdown.
12
+ #
13
+ # source://kramdown//lib/kramdown/document.rb#49
14
+ def data_dir; end
15
+ end
16
+ end
17
+
18
+ # This module contains all available converters, i.e. classes that take a root Element and convert
19
+ # it to a specific output format. The result is normally a string. For example, the
20
+ # Converter::Html module converts an element tree into valid HTML.
21
+ #
22
+ # Converters use the Base class for common functionality (like applying a template to the output)
23
+ # \- see its API documentation for how to create a custom converter class.
24
+ #
25
+ # source://kramdown//lib/kramdown/converter.rb#20
26
+ module Kramdown::Converter
27
+ extend ::Kramdown::Utils::Configurable
28
+
29
+ class << self
30
+ # source://kramdown//lib/kramdown/utils/configurable.rb#37
31
+ def add_math_engine(data, *args, &block); end
32
+
33
+ # source://kramdown//lib/kramdown/utils/configurable.rb#37
34
+ def add_syntax_highlighter(data, *args, &block); end
35
+
36
+ # source://kramdown//lib/kramdown/utils/configurable.rb#30
37
+ def configurables; end
38
+
39
+ # source://kramdown//lib/kramdown/utils/configurable.rb#34
40
+ def math_engine(data); end
41
+
42
+ # source://kramdown//lib/kramdown/utils/configurable.rb#34
43
+ def syntax_highlighter(data); end
44
+ end
45
+ end
46
+
47
+ # == \Base class for converters
48
+ #
49
+ # This class serves as base class for all converters. It provides methods that can/should be
50
+ # used by all converters (like #generate_id) as well as common functionality that is
51
+ # automatically applied to the result (for example, embedding the output into a template).
52
+ #
53
+ # A converter object is used as a throw-away object, i.e. it is only used for storing the needed
54
+ # state information during conversion. Therefore one can't instantiate a converter object
55
+ # directly but only use the Base::convert method.
56
+ #
57
+ # == Implementing a converter
58
+ #
59
+ # Implementing a new converter is rather easy: just derive a new class from this class and put
60
+ # it in the Kramdown::Converter module (the latter is only needed if auto-detection should work
61
+ # properly). Then you need to implement the #convert method which has to contain the conversion
62
+ # code for converting an element and has to return the conversion result.
63
+ #
64
+ # The actual transformation of the document tree can be done in any way. However, writing one
65
+ # method per element type is a straight forward way to do it - this is how the Html and Latex
66
+ # converters do the transformation.
67
+ #
68
+ # Have a look at the Base::convert method for additional information!
69
+ #
70
+ # source://kramdown//lib/kramdown/converter/base.rb#40
71
+ class Kramdown::Converter::Base
72
+ # Initialize the converter with the given +root+ element and +options+ hash.
73
+ #
74
+ # @return [Base] a new instance of Base
75
+ #
76
+ # source://kramdown//lib/kramdown/converter/base.rb#55
77
+ def initialize(root, options); end
78
+
79
+ # Returns whether the template should be applied after the conversion of the tree.
80
+ #
81
+ # Defaults to true.
82
+ #
83
+ # @return [Boolean]
84
+ #
85
+ # source://kramdown//lib/kramdown/converter/base.rb#73
86
+ def apply_template_after?; end
87
+
88
+ # Returns whether the template should be applied before the conversion of the tree.
89
+ #
90
+ # Defaults to false.
91
+ #
92
+ # @return [Boolean]
93
+ #
94
+ # source://kramdown//lib/kramdown/converter/base.rb#66
95
+ def apply_template_before?; end
96
+
97
+ # The basic version of the ID generator, without any special provisions for empty or unique
98
+ # IDs.
99
+ #
100
+ # source://kramdown//lib/kramdown/converter/base.rb#237
101
+ def basic_generate_id(str); end
102
+
103
+ # Convert the element +el+ and return the resulting object.
104
+ #
105
+ # This is the only method that has to be implemented by sub-classes!
106
+ #
107
+ # @raise [NotImplementedError]
108
+ #
109
+ # source://kramdown//lib/kramdown/converter/base.rb#122
110
+ def convert(_el); end
111
+
112
+ # Can be used by a converter for storing arbitrary information during the conversion process.
113
+ #
114
+ # source://kramdown//lib/kramdown/converter/base.rb#43
115
+ def data; end
116
+
117
+ # Extract the code block/span language from the attributes.
118
+ #
119
+ # source://kramdown//lib/kramdown/converter/base.rb#174
120
+ def extract_code_language(attr); end
121
+
122
+ # See #extract_code_language
123
+ #
124
+ # *Warning*: This version will modify the given attributes if a language is present.
125
+ #
126
+ # source://kramdown//lib/kramdown/converter/base.rb#183
127
+ def extract_code_language!(attr); end
128
+
129
+ # Format the given math element with the math engine configured through the option
130
+ # 'math_engine'.
131
+ #
132
+ # source://kramdown//lib/kramdown/converter/base.rb#206
133
+ def format_math(el, opts = T.unsafe(nil)); end
134
+
135
+ # Generate an unique alpha-numeric ID from the the string +str+ for use as a header ID.
136
+ #
137
+ # Uses the option +auto_id_prefix+: the value of this option is prepended to every generated
138
+ # ID.
139
+ #
140
+ # source://kramdown//lib/kramdown/converter/base.rb#222
141
+ def generate_id(str); end
142
+
143
+ # Highlight the given +text+ in the language +lang+ with the syntax highlighter configured
144
+ # through the option 'syntax_highlighter'.
145
+ #
146
+ # source://kramdown//lib/kramdown/converter/base.rb#192
147
+ def highlight_code(text, lang, type, opts = T.unsafe(nil)); end
148
+
149
+ # Return +true+ if the header element +el+ should be used for the table of contents (as
150
+ # specified by the +toc_levels+ option).
151
+ #
152
+ # @return [Boolean]
153
+ #
154
+ # source://kramdown//lib/kramdown/converter/base.rb#162
155
+ def in_toc?(el); end
156
+
157
+ # The hash with the conversion options.
158
+ #
159
+ # source://kramdown//lib/kramdown/converter/base.rb#46
160
+ def options; end
161
+
162
+ # Return the output header level given a level.
163
+ #
164
+ # Uses the +header_offset+ option for adjusting the header level.
165
+ #
166
+ # source://kramdown//lib/kramdown/converter/base.rb#169
167
+ def output_header_level(level); end
168
+
169
+ # The root element that is converted.
170
+ #
171
+ # source://kramdown//lib/kramdown/converter/base.rb#49
172
+ def root; end
173
+
174
+ # Return the entity that represents the given smart_quote element.
175
+ #
176
+ # source://kramdown//lib/kramdown/converter/base.rb#248
177
+ def smart_quote_entity(el); end
178
+
179
+ # Add the given warning +text+ to the warning array.
180
+ #
181
+ # source://kramdown//lib/kramdown/converter/base.rb#156
182
+ def warning(text); end
183
+
184
+ # The warnings array.
185
+ #
186
+ # source://kramdown//lib/kramdown/converter/base.rb#52
187
+ def warnings; end
188
+
189
+ class << self
190
+ # Apply the +template+ using +body+ as the body string.
191
+ #
192
+ # The template is evaluated using ERB and the body is available in the @body instance variable
193
+ # and the converter object in the @converter instance variable.
194
+ #
195
+ # source://kramdown//lib/kramdown/converter/base.rb#130
196
+ def apply_template(converter, body); end
197
+
198
+ # Convert the element tree +tree+ and return the resulting conversion object (normally a
199
+ # string) and an array with warning messages. The parameter +options+ specifies the conversion
200
+ # options that should be used.
201
+ #
202
+ # Initializes a new instance of the calling class and then calls the #convert method with
203
+ # +tree+ as parameter.
204
+ #
205
+ # If the +template+ option is specified and non-empty, the template is evaluate with ERB
206
+ # before and/or after the tree conversion depending on the result of #apply_template_before?
207
+ # and #apply_template_after?. If the template is evaluated before, an empty string is used for
208
+ # the body; if evaluated after, the result is used as body. See ::apply_template.
209
+ #
210
+ # The template resolution is done in the following way (for the converter ConverterName):
211
+ #
212
+ # 1. Look in the current working directory for the template.
213
+ #
214
+ # 2. Append +.converter_name+ (e.g. +.html+) to the template name and look for the resulting
215
+ # file in the current working directory (the form +.convertername+ is deprecated).
216
+ #
217
+ # 3. Append +.converter_name+ to the template name and look for it in the kramdown data
218
+ # directory (the form +.convertername+ is deprecated).
219
+ #
220
+ # 4. Check if the template name starts with 'string://' and if so, strip this prefix away and
221
+ # use the rest as template.
222
+ #
223
+ # source://kramdown//lib/kramdown/converter/base.rb#101
224
+ def convert(tree, options = T.unsafe(nil)); end
225
+
226
+ # Return the template specified by +template+.
227
+ #
228
+ # source://kramdown//lib/kramdown/converter/base.rb#139
229
+ def get_template(template); end
230
+
231
+ private
232
+
233
+ def allocate; end
234
+ def new(*_arg0); end
235
+ end
236
+ end
237
+
238
+ # source://kramdown//lib/kramdown/converter/base.rb#245
239
+ Kramdown::Converter::Base::SMART_QUOTE_INDICES = T.let(T.unsafe(nil), Hash)
240
+
241
+ # Converts a Kramdown::Document to a nested hash for further processing or debug output.
242
+ #
243
+ # source://kramdown//lib/kramdown/converter/hash_ast.rb#19
244
+ class Kramdown::Converter::HashAST < ::Kramdown::Converter::Base
245
+ # source://kramdown//lib/kramdown/converter/hash_ast.rb#21
246
+ def convert(el); end
247
+ end
248
+
249
+ # source://kramdown//lib/kramdown/converter/hash_ast.rb#35
250
+ Kramdown::Converter::HashAst = Kramdown::Converter::HashAST
251
+
252
+ # Converts a Kramdown::Document to HTML.
253
+ #
254
+ # You can customize the HTML converter by sub-classing it and overriding the +convert_NAME+
255
+ # methods. Each such method takes the following parameters:
256
+ #
257
+ # [+el+] The element of type +NAME+ to be converted.
258
+ #
259
+ # [+indent+] A number representing the current amount of spaces for indent (only used for
260
+ # block-level elements).
261
+ #
262
+ # The return value of such a method has to be a string containing the element +el+ formatted as
263
+ # HTML element.
264
+ #
265
+ # source://kramdown//lib/kramdown/converter/html.rb#30
266
+ class Kramdown::Converter::Html < ::Kramdown::Converter::Base
267
+ include ::Kramdown::Utils::Html
268
+ include ::Kramdown::Parser::Html::Constants
269
+
270
+ # Initialize the HTML converter with the given Kramdown document +doc+.
271
+ #
272
+ # @return [Html] a new instance of Html
273
+ #
274
+ # source://kramdown//lib/kramdown/converter/html.rb#39
275
+ def initialize(root, options); end
276
+
277
+ # Add the syntax highlighter name to the 'class' attribute of the given attribute hash. And
278
+ # overwrites or add a "language-LANG" part using the +lang+ parameter if +lang+ is not nil.
279
+ #
280
+ # source://kramdown//lib/kramdown/converter/html.rb#409
281
+ def add_syntax_highlighter_to_class_attr(attr, lang = T.unsafe(nil)); end
282
+
283
+ # Dispatch the conversion of the element +el+ to a +convert_TYPE+ method using the +type+ of
284
+ # the element.
285
+ #
286
+ # source://kramdown//lib/kramdown/converter/html.rb#57
287
+ def convert(el, indent = T.unsafe(nil)); end
288
+
289
+ # source://kramdown//lib/kramdown/converter/html.rb#272
290
+ def convert_a(el, indent); end
291
+
292
+ # source://kramdown//lib/kramdown/converter/html.rb#365
293
+ def convert_abbreviation(el, _indent); end
294
+
295
+ # source://kramdown//lib/kramdown/converter/html.rb#77
296
+ def convert_blank(_el, _indent); end
297
+
298
+ # source://kramdown//lib/kramdown/converter/html.rb#141
299
+ def convert_blockquote(el, indent); end
300
+
301
+ # source://kramdown//lib/kramdown/converter/html.rb#268
302
+ def convert_br(_el, _indent); end
303
+
304
+ # source://kramdown//lib/kramdown/converter/html.rb#111
305
+ def convert_codeblock(el, indent); end
306
+
307
+ # source://kramdown//lib/kramdown/converter/html.rb#280
308
+ def convert_codespan(el, _indent); end
309
+
310
+ # source://kramdown//lib/kramdown/converter/html.rb#260
311
+ def convert_comment(el, indent); end
312
+
313
+ # source://kramdown//lib/kramdown/converter/html.rb#178
314
+ def convert_dd(el, indent); end
315
+
316
+ # source://kramdown//lib/kramdown/converter/html.rb#174
317
+ def convert_dl(el, indent); end
318
+
319
+ # source://kramdown//lib/kramdown/converter/html.rb#190
320
+ def convert_dt(el, indent); end
321
+
322
+ # source://kramdown//lib/kramdown/converter/html.rb#319
323
+ def convert_em(el, indent); end
324
+
325
+ # source://kramdown//lib/kramdown/converter/html.rb#324
326
+ def convert_entity(el, _indent); end
327
+
328
+ # source://kramdown//lib/kramdown/converter/html.rb#294
329
+ def convert_footnote(el, _indent); end
330
+
331
+ # source://kramdown//lib/kramdown/converter/html.rb#145
332
+ def convert_header(el, indent); end
333
+
334
+ # source://kramdown//lib/kramdown/converter/html.rb#155
335
+ def convert_hr(el, indent); end
336
+
337
+ # source://kramdown//lib/kramdown/converter/html.rb#201
338
+ def convert_html_element(el, indent); end
339
+
340
+ # source://kramdown//lib/kramdown/converter/html.rb#276
341
+ def convert_img(el, _indent); end
342
+
343
+ # source://kramdown//lib/kramdown/converter/html.rb#178
344
+ def convert_li(el, indent); end
345
+
346
+ # source://kramdown//lib/kramdown/converter/html.rb#351
347
+ def convert_math(el, indent); end
348
+
349
+ # source://kramdown//lib/kramdown/converter/html.rb#162
350
+ def convert_ol(el, indent); end
351
+
352
+ # source://kramdown//lib/kramdown/converter/html.rb#86
353
+ def convert_p(el, indent); end
354
+
355
+ # source://kramdown//lib/kramdown/converter/html.rb#311
356
+ def convert_raw(el, _indent); end
357
+
358
+ # source://kramdown//lib/kramdown/converter/html.rb#372
359
+ def convert_root(el, indent); end
360
+
361
+ # source://kramdown//lib/kramdown/converter/html.rb#347
362
+ def convert_smart_quote(el, _indent); end
363
+
364
+ # Helper method used by +convert_p+ to convert a paragraph that only contains a single :img
365
+ # element.
366
+ #
367
+ # source://kramdown//lib/kramdown/converter/html.rb#99
368
+ def convert_standalone_image(el, indent); end
369
+
370
+ # source://kramdown//lib/kramdown/converter/html.rb#319
371
+ def convert_strong(el, indent); end
372
+
373
+ # source://kramdown//lib/kramdown/converter/html.rb#238
374
+ def convert_table(el, indent); end
375
+
376
+ # source://kramdown//lib/kramdown/converter/html.rb#238
377
+ def convert_tbody(el, indent); end
378
+
379
+ # source://kramdown//lib/kramdown/converter/html.rb#248
380
+ def convert_td(el, indent); end
381
+
382
+ # source://kramdown//lib/kramdown/converter/html.rb#81
383
+ def convert_text(el, _indent); end
384
+
385
+ # source://kramdown//lib/kramdown/converter/html.rb#238
386
+ def convert_tfoot(el, indent); end
387
+
388
+ # source://kramdown//lib/kramdown/converter/html.rb#238
389
+ def convert_thead(el, indent); end
390
+
391
+ # source://kramdown//lib/kramdown/converter/html.rb#238
392
+ def convert_tr(el, indent); end
393
+
394
+ # source://kramdown//lib/kramdown/converter/html.rb#339
395
+ def convert_typographic_sym(el, _indent); end
396
+
397
+ # source://kramdown//lib/kramdown/converter/html.rb#162
398
+ def convert_ul(el, indent); end
399
+
400
+ # source://kramdown//lib/kramdown/converter/html.rb#228
401
+ def convert_xml_comment(el, indent); end
402
+
403
+ # source://kramdown//lib/kramdown/converter/html.rb#228
404
+ def convert_xml_pi(el, indent); end
405
+
406
+ # Fixes the elements for use in a TOC entry.
407
+ #
408
+ # source://kramdown//lib/kramdown/converter/html.rb#453
409
+ def fix_for_toc_entry(elements); end
410
+
411
+ # Return an HTML ordered list with the footnote content for the used footnotes.
412
+ #
413
+ # source://kramdown//lib/kramdown/converter/html.rb#488
414
+ def footnote_content; end
415
+
416
+ # Format the given element as block HTML.
417
+ #
418
+ # source://kramdown//lib/kramdown/converter/html.rb#397
419
+ def format_as_block_html(name, attr, body, indent); end
420
+
421
+ # Format the given element as block HTML with a newline after the start tag and indentation
422
+ # before the end tag.
423
+ #
424
+ # source://kramdown//lib/kramdown/converter/html.rb#403
425
+ def format_as_indented_block_html(name, attr, body, indent); end
426
+
427
+ # Format the given element as span HTML.
428
+ #
429
+ # source://kramdown//lib/kramdown/converter/html.rb#392
430
+ def format_as_span_html(name, attr, body); end
431
+
432
+ # Generate and return an element tree for the table of contents.
433
+ #
434
+ # source://kramdown//lib/kramdown/converter/html.rb#415
435
+ def generate_toc_tree(toc, type, attr); end
436
+
437
+ # The amount of indentation used when nesting HTML tags.
438
+ #
439
+ # source://kramdown//lib/kramdown/converter/html.rb#36
440
+ def indent; end
441
+
442
+ # The amount of indentation used when nesting HTML tags.
443
+ #
444
+ # source://kramdown//lib/kramdown/converter/html.rb#36
445
+ def indent=(_arg0); end
446
+
447
+ # Return the converted content of the children of +el+ as a string. The parameter +indent+ has
448
+ # to be the amount of indentation used for the element +el+.
449
+ #
450
+ # Pushes +el+ onto the @stack before converting the child elements and pops it from the stack
451
+ # afterwards.
452
+ #
453
+ # source://kramdown//lib/kramdown/converter/html.rb#66
454
+ def inner(el, indent); end
455
+
456
+ # Obfuscate the +text+ by using HTML entities.
457
+ #
458
+ # source://kramdown//lib/kramdown/converter/html.rb#476
459
+ def obfuscate(text); end
460
+
461
+ # Remove all footnotes from the given elements.
462
+ #
463
+ # source://kramdown//lib/kramdown/converter/html.rb#468
464
+ def remove_footnotes(elements); end
465
+
466
+ # Remove all link elements by unwrapping them.
467
+ #
468
+ # source://kramdown//lib/kramdown/converter/html.rb#460
469
+ def unwrap_links(elements); end
470
+ end
471
+
472
+ # source://kramdown//lib/kramdown/converter/html.rb#246
473
+ Kramdown::Converter::Html::ENTITY_NBSP = T.let(T.unsafe(nil), Kramdown::Utils::Entities::Entity)
474
+
475
+ # source://kramdown//lib/kramdown/converter/html.rb#485
476
+ Kramdown::Converter::Html::FOOTNOTE_BACKLINK_FMT = T.let(T.unsafe(nil), String)
477
+
478
+ # source://kramdown//lib/kramdown/converter/html.rb#328
479
+ Kramdown::Converter::Html::TYPOGRAPHIC_SYMS = T.let(T.unsafe(nil), Hash)
480
+
481
+ # source://kramdown//lib/kramdown/converter/html.rb#159
482
+ Kramdown::Converter::Html::ZERO_TO_ONETWENTYEIGHT = T.let(T.unsafe(nil), Array)
483
+
484
+ # Converts an element tree to the kramdown format.
485
+ #
486
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#18
487
+ class Kramdown::Converter::Kramdown < ::Kramdown::Converter::Base
488
+ include ::Kramdown::Utils::Html
489
+
490
+ # @return [Kramdown] a new instance of Kramdown
491
+ #
492
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#24
493
+ def initialize(root, options); end
494
+
495
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#34
496
+ def convert(el, opts = T.unsafe(nil)); end
497
+
498
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#291
499
+ def convert_a(el, opts); end
500
+
501
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#377
502
+ def convert_abbreviation(el, _opts); end
503
+
504
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#70
505
+ def convert_blank(_el, _opts); end
506
+
507
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#107
508
+ def convert_blockquote(el, opts); end
509
+
510
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#287
511
+ def convert_br(_el, _opts); end
512
+
513
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#103
514
+ def convert_codeblock(el, _opts); end
515
+
516
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#324
517
+ def convert_codespan(el, _opts); end
518
+
519
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#279
520
+ def convert_comment(el, _opts); end
521
+
522
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#158
523
+ def convert_dd(el, opts); end
524
+
525
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#124
526
+ def convert_dl(el, opts); end
527
+
528
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#182
529
+ def convert_dt(el, opts); end
530
+
531
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#346
532
+ def convert_em(el, opts); end
533
+
534
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#356
535
+ def convert_entity(el, _opts); end
536
+
537
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#329
538
+ def convert_footnote(el, _opts); end
539
+
540
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#112
541
+ def convert_header(el, opts); end
542
+
543
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#120
544
+ def convert_hr(_el, _opts); end
545
+
546
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#195
547
+ def convert_html_element(el, opts); end
548
+
549
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#308
550
+ def convert_img(el, _opts); end
551
+
552
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#130
553
+ def convert_li(el, opts); end
554
+
555
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#373
556
+ def convert_math(el, _opts); end
557
+
558
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#124
559
+ def convert_ol(el, opts); end
560
+
561
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#88
562
+ def convert_p(el, opts); end
563
+
564
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#334
565
+ def convert_raw(el, _opts); end
566
+
567
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#381
568
+ def convert_root(el, opts); end
569
+
570
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#369
571
+ def convert_smart_quote(el, _opts); end
572
+
573
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#351
574
+ def convert_strong(el, opts); end
575
+
576
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#239
577
+ def convert_table(el, opts); end
578
+
579
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#260
580
+ def convert_tbody(el, opts); end
581
+
582
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#275
583
+ def convert_td(el, opts); end
584
+
585
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#76
586
+ def convert_text(el, opts); end
587
+
588
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#267
589
+ def convert_tfoot(el, opts); end
590
+
591
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#244
592
+ def convert_thead(el, opts); end
593
+
594
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#271
595
+ def convert_tr(el, opts); end
596
+
597
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#365
598
+ def convert_typographic_sym(el, _opts); end
599
+
600
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#124
601
+ def convert_ul(el, opts); end
602
+
603
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#229
604
+ def convert_xml_comment(el, _opts); end
605
+
606
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#229
607
+ def convert_xml_pi(el, _opts); end
608
+
609
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#408
610
+ def create_abbrev_defs; end
611
+
612
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#399
613
+ def create_footnote_defs; end
614
+
615
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#389
616
+ def create_link_defs; end
617
+
618
+ # Return the IAL containing the attributes of the element +el+.
619
+ #
620
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#419
621
+ def ial_for_element(el); end
622
+
623
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#54
624
+ def inner(el, opts = T.unsafe(nil)); end
625
+
626
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#444
627
+ def parse_title(attr); end
628
+ end
629
+
630
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#74
631
+ Kramdown::Converter::Kramdown::ESCAPED_CHAR_RE = T.let(T.unsafe(nil), Regexp)
632
+
633
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#192
634
+ Kramdown::Converter::Kramdown::HTML_ELEMENT_TYPES = T.let(T.unsafe(nil), Array)
635
+
636
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#190
637
+ Kramdown::Converter::Kramdown::HTML_TAGS_WITH_BODY = T.let(T.unsafe(nil), Array)
638
+
639
+ # source://kramdown//lib/kramdown/converter/kramdown.rb#360
640
+ Kramdown::Converter::Kramdown::TYPOGRAPHIC_SYMS = T.let(T.unsafe(nil), Hash)
641
+
642
+ # Converts an element tree to LaTeX.
643
+ #
644
+ # This converter uses ideas from other Markdown-to-LaTeX converters like Pandoc and Maruku.
645
+ #
646
+ # You can customize this converter by sub-classing it and overriding the +convert_NAME+ methods.
647
+ # Each such method takes the following parameters:
648
+ #
649
+ # [+el+] The element of type +NAME+ to be converted.
650
+ #
651
+ # [+opts+] A hash containing processing options that are passed down from parent elements. The
652
+ # key :parent is always set and contains the parent element as value.
653
+ #
654
+ # The return value of such a method has to be a string containing the element +el+ formatted
655
+ # correctly as LaTeX markup.
656
+ #
657
+ # source://kramdown//lib/kramdown/converter/latex.rb#31
658
+ class Kramdown::Converter::Latex < ::Kramdown::Converter::Base
659
+ # Initialize the LaTeX converter with the +root+ element and the conversion +options+.
660
+ #
661
+ # @return [Latex] a new instance of Latex
662
+ #
663
+ # source://kramdown//lib/kramdown/converter/latex.rb#34
664
+ def initialize(root, options); end
665
+
666
+ # Return a LaTeX comment containing all attributes as 'key="value"' pairs.
667
+ #
668
+ # source://kramdown//lib/kramdown/converter/latex.rb#599
669
+ def attribute_list(el); end
670
+
671
+ # Dispatch the conversion of the element +el+ to a +convert_TYPE+ method using the +type+ of
672
+ # the element.
673
+ #
674
+ # source://kramdown//lib/kramdown/converter/latex.rb#41
675
+ def convert(el, opts = T.unsafe(nil)); end
676
+
677
+ # source://kramdown//lib/kramdown/converter/latex.rb#216
678
+ def convert_a(el, opts); end
679
+
680
+ # source://kramdown//lib/kramdown/converter/latex.rb#569
681
+ def convert_abbreviation(el, _opts); end
682
+
683
+ # source://kramdown//lib/kramdown/converter/latex.rb#61
684
+ def convert_blank(_el, opts); end
685
+
686
+ # source://kramdown//lib/kramdown/converter/latex.rb#110
687
+ def convert_blockquote(el, opts); end
688
+
689
+ # source://kramdown//lib/kramdown/converter/latex.rb#209
690
+ def convert_br(_el, opts); end
691
+
692
+ # source://kramdown//lib/kramdown/converter/latex.rb#87
693
+ def convert_codeblock(el, _opts); end
694
+
695
+ # source://kramdown//lib/kramdown/converter/latex.rb#239
696
+ def convert_codespan(el, _opts); end
697
+
698
+ # source://kramdown//lib/kramdown/converter/latex.rb#205
699
+ def convert_comment(el, _opts); end
700
+
701
+ # source://kramdown//lib/kramdown/converter/latex.rb#151
702
+ def convert_dd(el, opts); end
703
+
704
+ # source://kramdown//lib/kramdown/converter/latex.rb#139
705
+ def convert_dl(el, opts); end
706
+
707
+ # source://kramdown//lib/kramdown/converter/latex.rb#147
708
+ def convert_dt(el, opts); end
709
+
710
+ # source://kramdown//lib/kramdown/converter/latex.rb#263
711
+ def convert_em(el, opts); end
712
+
713
+ # source://kramdown//lib/kramdown/converter/latex.rb#533
714
+ def convert_entity(el, _opts); end
715
+
716
+ # source://kramdown//lib/kramdown/converter/latex.rb#250
717
+ def convert_footnote(el, opts); end
718
+
719
+ # source://kramdown//lib/kramdown/converter/latex.rb#114
720
+ def convert_header(el, opts); end
721
+
722
+ # source://kramdown//lib/kramdown/converter/latex.rb#124
723
+ def convert_hr(el, _opts); end
724
+
725
+ # source://kramdown//lib/kramdown/converter/latex.rb#155
726
+ def convert_html_element(el, opts); end
727
+
728
+ # source://kramdown//lib/kramdown/converter/latex.rb#225
729
+ def convert_img(el, _opts); end
730
+
731
+ # source://kramdown//lib/kramdown/converter/latex.rb#143
732
+ def convert_li(el, opts); end
733
+
734
+ # source://kramdown//lib/kramdown/converter/latex.rb#556
735
+ def convert_math(el, _opts); end
736
+
737
+ # source://kramdown//lib/kramdown/converter/latex.rb#129
738
+ def convert_ol(el, opts); end
739
+
740
+ # source://kramdown//lib/kramdown/converter/latex.rb#69
741
+ def convert_p(el, opts); end
742
+
743
+ # source://kramdown//lib/kramdown/converter/latex.rb#255
744
+ def convert_raw(el, _opts); end
745
+
746
+ # source://kramdown//lib/kramdown/converter/latex.rb#57
747
+ def convert_root(el, opts); end
748
+
749
+ # source://kramdown//lib/kramdown/converter/latex.rb#550
750
+ def convert_smart_quote(el, opts); end
751
+
752
+ # Helper method used by +convert_p+ to convert a paragraph that only contains a single :img
753
+ # element.
754
+ #
755
+ # source://kramdown//lib/kramdown/converter/latex.rb#80
756
+ def convert_standalone_image(el, _opts, img); end
757
+
758
+ # source://kramdown//lib/kramdown/converter/latex.rb#267
759
+ def convert_strong(el, opts); end
760
+
761
+ # source://kramdown//lib/kramdown/converter/latex.rb#177
762
+ def convert_table(el, opts); end
763
+
764
+ # source://kramdown//lib/kramdown/converter/latex.rb#189
765
+ def convert_tbody(el, opts); end
766
+
767
+ # source://kramdown//lib/kramdown/converter/latex.rb#201
768
+ def convert_td(el, opts); end
769
+
770
+ # source://kramdown//lib/kramdown/converter/latex.rb#65
771
+ def convert_text(el, _opts); end
772
+
773
+ # source://kramdown//lib/kramdown/converter/latex.rb#193
774
+ def convert_tfoot(el, opts); end
775
+
776
+ # source://kramdown//lib/kramdown/converter/latex.rb#185
777
+ def convert_thead(el, opts); end
778
+
779
+ # source://kramdown//lib/kramdown/converter/latex.rb#197
780
+ def convert_tr(el, opts); end
781
+
782
+ # source://kramdown//lib/kramdown/converter/latex.rb#542
783
+ def convert_typographic_sym(el, _opts); end
784
+
785
+ # source://kramdown//lib/kramdown/converter/latex.rb#129
786
+ def convert_ul(el, opts); end
787
+
788
+ # source://kramdown//lib/kramdown/converter/latex.rb#166
789
+ def convert_xml_comment(el, _opts); end
790
+
791
+ # source://kramdown//lib/kramdown/converter/latex.rb#170
792
+ def convert_xml_pi(_el, _opts); end
793
+
794
+ # source://kramdown//lib/kramdown/converter/latex.rb#522
795
+ def entity_to_latex(entity); end
796
+
797
+ # Escape the special LaTeX characters in the string +str+.
798
+ #
799
+ # source://kramdown//lib/kramdown/converter/latex.rb#618
800
+ def escape(str); end
801
+
802
+ # Return the converted content of the children of +el+ as a string.
803
+ #
804
+ # source://kramdown//lib/kramdown/converter/latex.rb#46
805
+ def inner(el, opts); end
806
+
807
+ # Wrap the +text+ inside a LaTeX environment of type +type+. The element +el+ is passed on to
808
+ # the method #attribute_list -- the resulting string is appended to both the \\begin and the
809
+ # \\end lines of the LaTeX environment for easier post-processing of LaTeX environments.
810
+ #
811
+ # source://kramdown//lib/kramdown/converter/latex.rb#582
812
+ def latex_environment(type, el, text); end
813
+
814
+ # Return a string containing a valid \hypertarget command if the element has an ID defined, or
815
+ # +nil+ otherwise. If the parameter +add_label+ is +true+, a \label command will also be used
816
+ # additionally to the \hypertarget command.
817
+ #
818
+ # source://kramdown//lib/kramdown/converter/latex.rb#590
819
+ def latex_link_target(el, add_label = T.unsafe(nil)); end
820
+
821
+ # Normalize the abbreviation key so that it only contains allowed ASCII character
822
+ #
823
+ # source://kramdown//lib/kramdown/converter/latex.rb#575
824
+ def normalize_abbreviation_key(key); end
825
+ end
826
+
827
+ # Inspired by Maruku: entity conversion table based on the one from htmltolatex
828
+ # (http://sourceforge.net/projects/htmltolatex/), with some small adjustments/additions
829
+ #
830
+ # source://kramdown//lib/kramdown/converter/latex.rb#273
831
+ Kramdown::Converter::Latex::ENTITY_CONV_TABLE = T.let(T.unsafe(nil), Hash)
832
+
833
+ # source://kramdown//lib/kramdown/converter/latex.rb#605
834
+ Kramdown::Converter::Latex::ESCAPE_MAP = T.let(T.unsafe(nil), Hash)
835
+
836
+ # source://kramdown//lib/kramdown/converter/latex.rb#615
837
+ Kramdown::Converter::Latex::ESCAPE_RE = T.let(T.unsafe(nil), Regexp)
838
+
839
+ # source://kramdown//lib/kramdown/converter/latex.rb#175
840
+ Kramdown::Converter::Latex::TABLE_ALIGNMENT_CHAR = T.let(T.unsafe(nil), Hash)
841
+
842
+ # source://kramdown//lib/kramdown/converter/latex.rb#537
843
+ Kramdown::Converter::Latex::TYPOGRAPHIC_SYMS = T.let(T.unsafe(nil), Hash)
844
+
845
+ # Converts a Kramdown::Document to a manpage in groff format. See man(7), groff_man(7) and
846
+ # man-pages(7) for information regarding the output.
847
+ #
848
+ # source://kramdown//lib/kramdown/converter/man.rb#18
849
+ class Kramdown::Converter::Man < ::Kramdown::Converter::Base
850
+ # source://kramdown//lib/kramdown/converter/man.rb#20
851
+ def convert(el, opts = T.unsafe(nil)); end
852
+
853
+ private
854
+
855
+ # source://kramdown//lib/kramdown/converter/man.rb#191
856
+ def convert_a(el, opts); end
857
+
858
+ # source://kramdown//lib/kramdown/converter/man.rb#229
859
+ def convert_abbreviation(el, opts); end
860
+
861
+ # source://kramdown//lib/kramdown/converter/man.rb#47
862
+ def convert_blank(*_arg0); end
863
+
864
+ # source://kramdown//lib/kramdown/converter/man.rb#95
865
+ def convert_blockquote(el, opts); end
866
+
867
+ # source://kramdown//lib/kramdown/converter/man.rb#225
868
+ def convert_br(_el, opts); end
869
+
870
+ # source://kramdown//lib/kramdown/converter/man.rb#89
871
+ def convert_codeblock(el, opts); end
872
+
873
+ # source://kramdown//lib/kramdown/converter/man.rb#221
874
+ def convert_codespan(el, opts); end
875
+
876
+ # source://kramdown//lib/kramdown/converter/man.rb#186
877
+ def convert_comment(el, opts); end
878
+
879
+ # source://kramdown//lib/kramdown/converter/man.rb#127
880
+ def convert_dd(el, opts); end
881
+
882
+ # source://kramdown//lib/kramdown/converter/man.rb#101
883
+ def convert_dl(el, opts); end
884
+
885
+ # source://kramdown//lib/kramdown/converter/man.rb#121
886
+ def convert_dt(el, opts); end
887
+
888
+ # source://kramdown//lib/kramdown/converter/man.rb#209
889
+ def convert_em(el, opts); end
890
+
891
+ # source://kramdown//lib/kramdown/converter/man.rb#255
892
+ def convert_entity(el, opts); end
893
+
894
+ # source://kramdown//lib/kramdown/converter/man.rb#241
895
+ def convert_footnote(*_arg0); end
896
+
897
+ # source://kramdown//lib/kramdown/converter/man.rb#61
898
+ def convert_header(el, opts); end
899
+
900
+ # source://kramdown//lib/kramdown/converter/man.rb#47
901
+ def convert_hr(*_arg0); end
902
+
903
+ # source://kramdown//lib/kramdown/converter/man.rb#182
904
+ def convert_html_element(*_arg0); end
905
+
906
+ # source://kramdown//lib/kramdown/converter/man.rb#205
907
+ def convert_img(_el, _opts); end
908
+
909
+ # source://kramdown//lib/kramdown/converter/man.rb#110
910
+ def convert_li(el, opts); end
911
+
912
+ # source://kramdown//lib/kramdown/converter/man.rb#233
913
+ def convert_math(el, opts); end
914
+
915
+ # source://kramdown//lib/kramdown/converter/man.rb#101
916
+ def convert_ol(el, opts); end
917
+
918
+ # source://kramdown//lib/kramdown/converter/man.rb#52
919
+ def convert_p(el, opts); end
920
+
921
+ # source://kramdown//lib/kramdown/converter/man.rb#245
922
+ def convert_raw(*_arg0); end
923
+
924
+ # source://kramdown//lib/kramdown/converter/man.rb#40
925
+ def convert_root(el, opts); end
926
+
927
+ # source://kramdown//lib/kramdown/converter/man.rb#259
928
+ def convert_smart_quote(el, opts); end
929
+
930
+ # source://kramdown//lib/kramdown/converter/man.rb#215
931
+ def convert_strong(el, opts); end
932
+
933
+ # source://kramdown//lib/kramdown/converter/man.rb#139
934
+ def convert_table(el, opts); end
935
+
936
+ # source://kramdown//lib/kramdown/converter/man.rb#154
937
+ def convert_tbody(el, opts); end
938
+
939
+ # source://kramdown//lib/kramdown/converter/man.rb#170
940
+ def convert_td(el, opts); end
941
+
942
+ # source://kramdown//lib/kramdown/converter/man.rb#249
943
+ def convert_text(el, opts); end
944
+
945
+ # source://kramdown//lib/kramdown/converter/man.rb#161
946
+ def convert_tfoot(el, opts); end
947
+
948
+ # source://kramdown//lib/kramdown/converter/man.rb#148
949
+ def convert_thead(el, opts); end
950
+
951
+ # source://kramdown//lib/kramdown/converter/man.rb#165
952
+ def convert_tr(el, opts); end
953
+
954
+ # source://kramdown//lib/kramdown/converter/man.rb#268
955
+ def convert_typographic_sym(el, opts); end
956
+
957
+ # source://kramdown//lib/kramdown/converter/man.rb#101
958
+ def convert_ul(el, opts); end
959
+
960
+ # source://kramdown//lib/kramdown/converter/man.rb#186
961
+ def convert_xml_comment(el, opts); end
962
+
963
+ # source://kramdown//lib/kramdown/converter/man.rb#47
964
+ def convert_xml_pi(*_arg0); end
965
+
966
+ # source://kramdown//lib/kramdown/converter/man.rb#285
967
+ def escape(text, preserve_whitespace = T.unsafe(nil)); end
968
+
969
+ # source://kramdown//lib/kramdown/converter/man.rb#26
970
+ def inner(el, opts, use = T.unsafe(nil)); end
971
+
972
+ # source://kramdown//lib/kramdown/converter/man.rb#272
973
+ def macro(name, *args); end
974
+
975
+ # source://kramdown//lib/kramdown/converter/man.rb#276
976
+ def newline(text); end
977
+
978
+ # source://kramdown//lib/kramdown/converter/man.rb#281
979
+ def quote(text); end
980
+
981
+ # source://kramdown//lib/kramdown/converter/man.rb#293
982
+ def unicode_char(codepoint); end
983
+ end
984
+
985
+ # source://kramdown//lib/kramdown/converter/man.rb#137
986
+ Kramdown::Converter::Man::TABLE_CELL_ALIGNMENT = T.let(T.unsafe(nil), Hash)
987
+
988
+ # source://kramdown//lib/kramdown/converter/man.rb#263
989
+ Kramdown::Converter::Man::TYPOGRAPHIC_SYMS_MAP = T.let(T.unsafe(nil), Hash)
990
+
991
+ # Removes all block (and optionally span) level HTML tags from the element tree.
992
+ #
993
+ # This converter can be used on parsed HTML documents to get an element tree that will only
994
+ # contain native kramdown elements.
995
+ #
996
+ # *Note* that the returned element tree may not be fully conformant (i.e. the content models of
997
+ # *some elements may be violated)!
998
+ #
999
+ # This converter modifies the given tree in-place and returns it.
1000
+ #
1001
+ # source://kramdown//lib/kramdown/converter/remove_html_tags.rb#25
1002
+ class Kramdown::Converter::RemoveHtmlTags < ::Kramdown::Converter::Base
1003
+ # @return [RemoveHtmlTags] a new instance of RemoveHtmlTags
1004
+ #
1005
+ # source://kramdown//lib/kramdown/converter/remove_html_tags.rb#27
1006
+ def initialize(root, options); end
1007
+
1008
+ # source://kramdown//lib/kramdown/converter/remove_html_tags.rb#32
1009
+ def convert(el); end
1010
+ end
1011
+
1012
+ # Converts a Kramdown::Document to an element tree that represents the table of contents.
1013
+ #
1014
+ # The returned tree consists of Element objects of type :toc where the root element is just used
1015
+ # as container object. Each :toc element contains as value the wrapped :header element and under
1016
+ # the attribute key :id the header ID that should be used (note that this ID may not exist in
1017
+ # the wrapped element).
1018
+ #
1019
+ # Since the TOC tree consists of special :toc elements, one cannot directly feed this tree to
1020
+ # other converters!
1021
+ #
1022
+ # source://kramdown//lib/kramdown/converter/toc.rb#25
1023
+ class Kramdown::Converter::Toc < ::Kramdown::Converter::Base
1024
+ # @return [Toc] a new instance of Toc
1025
+ #
1026
+ # source://kramdown//lib/kramdown/converter/toc.rb#27
1027
+ def initialize(root, options); end
1028
+
1029
+ # source://kramdown//lib/kramdown/converter/toc.rb#34
1030
+ def convert(el); end
1031
+
1032
+ private
1033
+
1034
+ # source://kramdown//lib/kramdown/converter/toc.rb#47
1035
+ def add_to_toc(el, id); end
1036
+ end
1037
+
1038
+ # The main interface to kramdown.
1039
+ #
1040
+ # This class provides a one-stop-shop for using kramdown to convert text into various output
1041
+ # formats. Use it like this:
1042
+ #
1043
+ # require 'kramdown'
1044
+ # doc = Kramdown::Document.new('This *is* some kramdown text')
1045
+ # puts doc.to_html
1046
+ #
1047
+ # The #to_html method is a shortcut for using the Converter::Html class. See #method_missing for
1048
+ # more information.
1049
+ #
1050
+ # The second argument to the ::new method is an options hash for customizing the behaviour of the
1051
+ # used parser and the converter. See ::new for more information!
1052
+ #
1053
+ # source://kramdown//lib/kramdown/document.rb#73
1054
+ class Kramdown::Document
1055
+ # Create a new Kramdown document from the string +source+ and use the provided +options+. The
1056
+ # options that can be used are defined in the Options module.
1057
+ #
1058
+ # The special options key :input can be used to select the parser that should parse the
1059
+ # +source+. It has to be the name of a class in the Kramdown::Parser module. For example, to
1060
+ # select the kramdown parser, one would set the :input key to +Kramdown+. If this key is not
1061
+ # set, it defaults to +Kramdown+.
1062
+ #
1063
+ # The +source+ is immediately parsed by the selected parser so that the root element is
1064
+ # immediately available and the output can be generated.
1065
+ #
1066
+ # @return [Document] a new instance of Document
1067
+ #
1068
+ # source://kramdown//lib/kramdown/document.rb#96
1069
+ def initialize(source, options = T.unsafe(nil)); end
1070
+
1071
+ # source://kramdown//lib/kramdown/document.rb#124
1072
+ def inspect; end
1073
+
1074
+ # Check if a method is invoked that begins with +to_+ and if so, try to instantiate a converter
1075
+ # class (i.e. a class in the Kramdown::Converter module) and use it for converting the document.
1076
+ #
1077
+ # For example, +to_html+ would instantiate the Kramdown::Converter::Html class.
1078
+ #
1079
+ # source://kramdown//lib/kramdown/document.rb#113
1080
+ def method_missing(id, *attr, &block); end
1081
+
1082
+ # The options hash which holds the options for parsing/converting the Kramdown document.
1083
+ #
1084
+ # source://kramdown//lib/kramdown/document.rb#80
1085
+ def options; end
1086
+
1087
+ # The root Element of the element tree. It is immediately available after the ::new method has
1088
+ # been called.
1089
+ #
1090
+ # source://kramdown//lib/kramdown/document.rb#77
1091
+ def root; end
1092
+
1093
+ # The root Element of the element tree. It is immediately available after the ::new method has
1094
+ # been called.
1095
+ #
1096
+ # source://kramdown//lib/kramdown/document.rb#77
1097
+ def root=(_arg0); end
1098
+
1099
+ # An array of warning messages. It is filled with warnings during the parsing phase (i.e. in
1100
+ # ::new) and the conversion phase.
1101
+ #
1102
+ # source://kramdown//lib/kramdown/document.rb#84
1103
+ def warnings; end
1104
+
1105
+ protected
1106
+
1107
+ # Try requiring a parser or converter class and don't raise an error if the file is not found.
1108
+ #
1109
+ # source://kramdown//lib/kramdown/document.rb#129
1110
+ def try_require(type, name); end
1111
+ end
1112
+
1113
+ # Represents all elements in the element tree.
1114
+ #
1115
+ # kramdown only uses this one class for representing all available elements in an element tree
1116
+ # (paragraphs, headers, emphasis, ...). The type of element can be set via the #type accessor.
1117
+ #
1118
+ # The root of a kramdown element tree has to be an element of type :root. It needs to have certain
1119
+ # option keys set so that conversions work correctly. If only a part of a tree should be
1120
+ # converted, duplicate the root node and assign the #children appropriately, e.g:
1121
+ #
1122
+ # root = doc.root
1123
+ # new_root = root.dup
1124
+ # new_root.children = [root.children[0]] # assign new array with elements to convert
1125
+ #
1126
+ # Following is a description of all supported element types.
1127
+ #
1128
+ # Note that the option :location may contain the start line number of an element in the source
1129
+ # document.
1130
+ #
1131
+ # == Structural Elements
1132
+ #
1133
+ # === :root
1134
+ #
1135
+ # [Category] None
1136
+ # [Usage context] As the root element of a document
1137
+ # [Content model] Block-level elements
1138
+ #
1139
+ # Represents the root of a kramdown document.
1140
+ #
1141
+ # The root element contains the following option keys:
1142
+ #
1143
+ # parts of the kramdown document.
1144
+ #
1145
+ # :abbrev_defs:: This key may be used to store the mapping of abbreviation to abbreviation
1146
+ # definition.
1147
+ #
1148
+ # :abbrev_attr:: This key may be used to store the mapping of abbreviation to abbreviation
1149
+ # attributes.
1150
+ #
1151
+ # :options:: This key may be used to store options that were set during parsing of the document.
1152
+ #
1153
+ # :footnote_count:: This key stores the number of actually referenced footnotes of the document.
1154
+ #
1155
+ # === :blank
1156
+ #
1157
+ # [Category] Block-level element
1158
+ # [Usage context] Where block-level elements are expected
1159
+ # [Content model] Empty
1160
+ #
1161
+ # Represents one or more blank lines. It is not allowed to have two or more consecutive blank
1162
+ # elements.
1163
+ #
1164
+ # The +value+ field may contain the original content of the blank lines.
1165
+ #
1166
+ #
1167
+ # === :p
1168
+ #
1169
+ # [Category] Block-level element
1170
+ # [Usage context] Where block-level elements are expected
1171
+ # [Content model] Span-level elements
1172
+ #
1173
+ # Represents a paragraph.
1174
+ #
1175
+ # If the option :transparent is +true+, this element just represents a block of text. I.e. this
1176
+ # element just functions as a container for span-level elements.
1177
+ #
1178
+ #
1179
+ # === :header
1180
+ #
1181
+ # [Category] Block-level element
1182
+ # [Usage context] Where block-level elements are expected
1183
+ # [Content model] Span-level elements
1184
+ #
1185
+ # Represents a header.
1186
+ #
1187
+ # The option :level specifies the header level and has to contain a number between 1 and \6. The
1188
+ # option :raw_text has to contain the raw header text.
1189
+ #
1190
+ #
1191
+ # === :blockquote
1192
+ #
1193
+ # [Category] Block-level element
1194
+ # [Usage context] Where block-level elements are expected
1195
+ # [Content model] Block-level elements
1196
+ #
1197
+ # Represents a blockquote.
1198
+ #
1199
+ #
1200
+ # === :codeblock
1201
+ #
1202
+ # [Category] Block-level element
1203
+ # [Usage context] Where block-level elements are expected
1204
+ # [Content model] Empty
1205
+ #
1206
+ # Represents a code block, i.e. a block of text that should be used as-is.
1207
+ #
1208
+ # The +value+ field has to contain the content of the code block.
1209
+ #
1210
+ # The option :lang specifies a highlighting language with possible HTML style options (e.g.
1211
+ # php?start_inline=1) and should be used instead of a possibly also available language embedded in
1212
+ # a class name of the form 'language-LANG'.
1213
+ #
1214
+ #
1215
+ # === :ul
1216
+ #
1217
+ # [Category] Block-level element
1218
+ # [Usage context] Where block-level elements are expected
1219
+ # [Content model] One or more :li elements
1220
+ #
1221
+ # Represents an unordered list.
1222
+ #
1223
+ #
1224
+ # === :ol
1225
+ #
1226
+ # [Category] Block-level element
1227
+ # [Usage context] Where block-level elements are expected
1228
+ # [Content model] One or more :li elements
1229
+ #
1230
+ # Represents an ordered list.
1231
+ #
1232
+ #
1233
+ # === :li
1234
+ #
1235
+ # [Category] Block-level element
1236
+ # [Usage context] Inside :ol and :ul elements
1237
+ # [Content model] Block-level elements
1238
+ #
1239
+ # Represents a list item of an ordered or unordered list.
1240
+ #
1241
+ # Note that the first child of a list item must not be a :blank element!
1242
+ #
1243
+ #
1244
+ # === :dl
1245
+ #
1246
+ # [Category] Block-level element
1247
+ # [Usage context] Where block-level elements are expected
1248
+ # [Content model] One or more groups each consisting of one or more :dt elements followed by one
1249
+ # or more :dd elements.
1250
+ #
1251
+ # Represents a definition list which contains groups consisting of terms and definitions for them.
1252
+ #
1253
+ #
1254
+ # === :dt
1255
+ #
1256
+ # [Category] Block-level element
1257
+ # [Usage context] Before :dt or :dd elements inside a :dl elment
1258
+ # [Content model] Span-level elements
1259
+ #
1260
+ # Represents the term part of a term-definition group in a definition list.
1261
+ #
1262
+ #
1263
+ # === :dd
1264
+ #
1265
+ # [Category] Block-level element
1266
+ # [Usage context] After :dt or :dd elements inside a :dl elment
1267
+ # [Content model] Block-level elements
1268
+ #
1269
+ # Represents the definition part of a term-definition group in a definition list.
1270
+ #
1271
+ #
1272
+ # === :hr
1273
+ #
1274
+ # [Category] Block-level element
1275
+ # [Usage context] Where block-level elements are expected
1276
+ # [Content model] None
1277
+ #
1278
+ # Represents a horizontal line.
1279
+ #
1280
+ #
1281
+ # === :table
1282
+ #
1283
+ # [Category] Block-level element
1284
+ # [Usage context] Where block-level elements are expected
1285
+ # [Content model] Zero or one :thead elements, one or more :tbody elements, zero or one :tfoot
1286
+ # elements
1287
+ #
1288
+ # Represents a table. Each table row (i.e. :tr element) of the table has to contain the same
1289
+ # number of :td elements.
1290
+ #
1291
+ # The option :alignment has to be an array containing the alignment values, exactly one for each
1292
+ # column of the table. The possible alignment values are :left, :center, :right and :default.
1293
+ #
1294
+ #
1295
+ # === :thead
1296
+ #
1297
+ # [Category] None
1298
+ # [Usage context] As first element inside a :table element
1299
+ # [Content model] One or more :tr elements
1300
+ #
1301
+ # Represents the table header.
1302
+ #
1303
+ #
1304
+ # === :tbody
1305
+ #
1306
+ # [Category] None
1307
+ # [Usage context] After a :thead element but before a :tfoot element inside a :table element
1308
+ # [Content model] One or more :tr elements
1309
+ #
1310
+ # Represents a table body.
1311
+ #
1312
+ #
1313
+ # === :tfoot
1314
+ #
1315
+ # [Category] None
1316
+ # [Usage context] As last element inside a :table element
1317
+ # [Content model] One or more :tr elements
1318
+ #
1319
+ # Represents the table footer.
1320
+ #
1321
+ #
1322
+ # === :tr
1323
+ #
1324
+ # [Category] None
1325
+ # [Usage context] Inside :thead, :tbody and :tfoot elements
1326
+ # [Content model] One or more :td elements
1327
+ #
1328
+ # Represents a table row.
1329
+ #
1330
+ #
1331
+ # === :td
1332
+ #
1333
+ # [Category] Block-level element
1334
+ # [Usage context] Inside :tr elements
1335
+ # [Content model] As child of :thead/:tr span-level elements, as child of :tbody/:tr and
1336
+ # :tfoot/:tr block-level elements
1337
+ #
1338
+ # Represents a table cell.
1339
+ #
1340
+ #
1341
+ # === :math
1342
+ #
1343
+ # [Category] Block/span-level element
1344
+ # [Usage context] Where block/span-level elements are expected
1345
+ # [Content model] None
1346
+ #
1347
+ # Represents mathematical text that is written in LaTeX.
1348
+ #
1349
+ # The +value+ field has to contain the actual mathematical text.
1350
+ #
1351
+ # The option :category has to be set to either :span or :block depending on the context where the
1352
+ # element is used.
1353
+ #
1354
+ #
1355
+ # == Text Markup Elements
1356
+ #
1357
+ # === :text
1358
+ #
1359
+ # [Category] Span-level element
1360
+ # [Usage context] Where span-level elements are expected
1361
+ # [Content model] None
1362
+ #
1363
+ # Represents text.
1364
+ #
1365
+ # The +value+ field has to contain the text itself.
1366
+ #
1367
+ #
1368
+ # === :br
1369
+ #
1370
+ # [Category] Span-level element
1371
+ # [Usage context] Where span-level elements are expected
1372
+ # [Content model] None
1373
+ #
1374
+ # Represents a hard line break.
1375
+ #
1376
+ #
1377
+ # === :a
1378
+ #
1379
+ # [Category] Span-level element
1380
+ # [Usage context] Where span-level elements are expected
1381
+ # [Content model] Span-level elements
1382
+ #
1383
+ # Represents a link to an URL.
1384
+ #
1385
+ # The attribute +href+ has to be set to the URL to which the link points. The attribute +title+
1386
+ # optionally contains the title of the link.
1387
+ #
1388
+ #
1389
+ # === :img
1390
+ #
1391
+ # [Category] Span-level element
1392
+ # [Usage context] Where span-level elements are expected
1393
+ # [Content model] None
1394
+ #
1395
+ # Represents an image.
1396
+ #
1397
+ # The attribute +src+ has to be set to the URL of the image. The attribute +alt+ has to contain a
1398
+ # text description of the image. The attribute +title+ optionally contains the title of the image.
1399
+ #
1400
+ #
1401
+ # === :codespan
1402
+ #
1403
+ # [Category] Span-level element
1404
+ # [Usage context] Where span-level elements are expected
1405
+ # [Content model] None
1406
+ #
1407
+ # Represents verbatim text.
1408
+ #
1409
+ # The +value+ field has to contain the content of the code span.
1410
+ #
1411
+ #
1412
+ # === :footnote
1413
+ #
1414
+ # [Category] Span-level element
1415
+ # [Usage context] Where span-level elements are expected
1416
+ # [Content model] None
1417
+ #
1418
+ # Represents a footnote marker.
1419
+ #
1420
+ # The +value+ field has to contain an element whose children are the content of the footnote. The
1421
+ # option :name has to contain a valid and unique footnote name. A valid footnote name consists of
1422
+ # a word character or a digit and then optionally followed by other word characters, digits or
1423
+ # dashes.
1424
+ #
1425
+ #
1426
+ # === :em
1427
+ #
1428
+ # [Category] Span-level element
1429
+ # [Usage context] Where span-level elements are expected
1430
+ # [Content model] Span-level elements
1431
+ #
1432
+ # Represents emphasis of its contents.
1433
+ #
1434
+ #
1435
+ # === :strong
1436
+ #
1437
+ # [Category] Span-level element
1438
+ # [Usage context] Where span-level elements are expected
1439
+ # [Content model] Span-level elements
1440
+ #
1441
+ # Represents strong importance for its contents.
1442
+ #
1443
+ #
1444
+ # === :entity
1445
+ #
1446
+ # [Category] Span-level element
1447
+ # [Usage context] Where span-level elements are expected
1448
+ # [Content model] None
1449
+ #
1450
+ # Represents an HTML entity.
1451
+ #
1452
+ # The +value+ field has to contain an instance of Kramdown::Utils::Entities::Entity. The option
1453
+ # :original can be used to store the original representation of the entity.
1454
+ #
1455
+ #
1456
+ # === :typographic_sym
1457
+ #
1458
+ # [Category] Span-level element
1459
+ # [Usage context] Where span-level elements are expected
1460
+ # [Content model] None
1461
+ #
1462
+ # Represents a typographic symbol.
1463
+ #
1464
+ # The +value+ field needs to contain a Symbol representing the specific typographic symbol from
1465
+ # the following list:
1466
+ #
1467
+ # :mdash:: An mdash character (---)
1468
+ # :ndash:: An ndash character (--)
1469
+ # :hellip:: An ellipsis (...)
1470
+ # :laquo:: A left guillemet (<<)
1471
+ # :raquo:: A right guillemet (>>)
1472
+ # :laquo_space:: A left guillemet with a space (<< )
1473
+ # :raquo_space:: A right guillemet with a space ( >>)
1474
+ #
1475
+ #
1476
+ # === :smart_quote
1477
+ #
1478
+ # [Category] Span-level element
1479
+ # [Usage context] Where span-level elements are expected
1480
+ # [Content model] None
1481
+ #
1482
+ # Represents a quotation character.
1483
+ #
1484
+ # The +value+ field needs to contain a Symbol representing the specific quotation character:
1485
+ #
1486
+ # :lsquo:: Left single quote
1487
+ # :rsquo:: Right single quote
1488
+ # :ldquo:: Left double quote
1489
+ # :rdquo:: Right double quote
1490
+ #
1491
+ #
1492
+ # === :abbreviation
1493
+ #
1494
+ # [Category] Span-level element
1495
+ # [Usage context] Where span-level elements are expected
1496
+ # [Content model] None
1497
+ #
1498
+ # Represents a text part that is an abbreviation.
1499
+ #
1500
+ # The +value+ field has to contain the text part that is the abbreviation. The definition of the
1501
+ # abbreviation is stored in the :root element of the document.
1502
+ #
1503
+ #
1504
+ # == Other Elements
1505
+ #
1506
+ # === :html_element
1507
+ #
1508
+ # [Category] Block/span-level element
1509
+ # [Usage context] Where block/span-level elements or raw HTML elements are expected
1510
+ # [Content model] Depends on the element
1511
+ #
1512
+ # Represents an HTML element.
1513
+ #
1514
+ # The +value+ field has to contain the name of the HTML element the element is representing.
1515
+ #
1516
+ # The option :category has to be set to either :span or :block depending on the whether the
1517
+ # element is a block-level or a span-level element. The option :content_model has to be set to the
1518
+ # content model for the element (either :block if it contains block-level elements, :span if it
1519
+ # contains span-level elements or :raw if it contains raw content).
1520
+ #
1521
+ #
1522
+ # === :xml_comment
1523
+ #
1524
+ # [Category] Block/span-level element
1525
+ # [Usage context] Where block/span-level elements are expected or in raw HTML elements
1526
+ # [Content model] None
1527
+ #
1528
+ # Represents an XML/HTML comment.
1529
+ #
1530
+ # The +value+ field has to contain the whole XML/HTML comment including the delimiters.
1531
+ #
1532
+ # The option :category has to be set to either :span or :block depending on the context where the
1533
+ # element is used.
1534
+ #
1535
+ #
1536
+ # === :xml_pi
1537
+ #
1538
+ # [Category] Block/span-level element
1539
+ # [Usage context] Where block/span-level elements are expected or in raw HTML elements
1540
+ # [Content model] None
1541
+ #
1542
+ # Represents an XML/HTML processing instruction.
1543
+ #
1544
+ # The +value+ field has to contain the whole XML/HTML processing instruction including the
1545
+ # delimiters.
1546
+ #
1547
+ # The option :category has to be set to either :span or :block depending on the context where the
1548
+ # element is used.
1549
+ #
1550
+ #
1551
+ # === :comment
1552
+ #
1553
+ # [Category] Block/span-level element
1554
+ # [Usage context] Where block/span-level elements are expected
1555
+ # [Content model] None
1556
+ #
1557
+ # Represents a comment.
1558
+ #
1559
+ # The +value+ field has to contain the comment.
1560
+ #
1561
+ # The option :category has to be set to either :span or :block depending on the context where the
1562
+ # element is used. If it is set to :span, then no blank lines are allowed in the comment.
1563
+ #
1564
+ #
1565
+ # === :raw
1566
+ #
1567
+ # [Category] Block/span-level element
1568
+ # [Usage context] Where block/span-level elements are expected
1569
+ # [Content model] None
1570
+ #
1571
+ # Represents a raw string that should not be modified. For example, the element could contain some
1572
+ # HTML code that should be output as-is without modification and escaping.
1573
+ #
1574
+ # The +value+ field has to contain the actual raw text.
1575
+ #
1576
+ # The option :category has to be set to either :span or :block depending on the context where the
1577
+ # element is used. If it is set to :span, then no blank lines are allowed in the raw text.
1578
+ #
1579
+ # The option :type can be set to an array of strings to define for which converters the raw string
1580
+ # is valid.
1581
+ #
1582
+ # source://kramdown//lib/kramdown/element.rb#482
1583
+ class Kramdown::Element
1584
+ # Create a new Element object of type +type+. The optional parameters +value+, +attr+ and
1585
+ # +options+ can also be set in this constructor for convenience.
1586
+ #
1587
+ # @return [Element] a new instance of Element
1588
+ #
1589
+ # source://kramdown//lib/kramdown/element.rb#496
1590
+ def initialize(type, value = T.unsafe(nil), attr = T.unsafe(nil), options = T.unsafe(nil)); end
1591
+
1592
+ # The attributes of the element.
1593
+ #
1594
+ # source://kramdown//lib/kramdown/element.rb#502
1595
+ def attr; end
1596
+
1597
+ # syntactic sugar to simplify calls such as +Kramdown::Element.category(el) == :block+ with
1598
+ # +el.block?+.
1599
+ #
1600
+ # Returns boolean true or false.
1601
+ #
1602
+ # @return [Boolean]
1603
+ #
1604
+ # source://kramdown//lib/kramdown/element.rb#537
1605
+ def block?; end
1606
+
1607
+ # The child elements of this element.
1608
+ #
1609
+ # source://kramdown//lib/kramdown/element.rb#492
1610
+ def children; end
1611
+
1612
+ # The child elements of this element.
1613
+ #
1614
+ # source://kramdown//lib/kramdown/element.rb#492
1615
+ def children=(_arg0); end
1616
+
1617
+ # source://kramdown//lib/kramdown/element.rb#511
1618
+ def inspect; end
1619
+
1620
+ # The options hash for the element. It is used for storing arbitray options.
1621
+ #
1622
+ # source://kramdown//lib/kramdown/element.rb#507
1623
+ def options; end
1624
+
1625
+ # syntactic sugar to simplify calls such as +Kramdown::Element.category(el) == :span+ with
1626
+ # +el.span?+.
1627
+ #
1628
+ # Returns boolean true or false.
1629
+ #
1630
+ # @return [Boolean]
1631
+ #
1632
+ # source://kramdown//lib/kramdown/element.rb#545
1633
+ def span?; end
1634
+
1635
+ # A symbol representing the element type. For example, :p or :blockquote.
1636
+ #
1637
+ # source://kramdown//lib/kramdown/element.rb#485
1638
+ def type; end
1639
+
1640
+ # A symbol representing the element type. For example, :p or :blockquote.
1641
+ #
1642
+ # source://kramdown//lib/kramdown/element.rb#485
1643
+ def type=(_arg0); end
1644
+
1645
+ # The value of the element. The interpretation of this field depends on the type of the element.
1646
+ # Many elements don't use this field.
1647
+ #
1648
+ # source://kramdown//lib/kramdown/element.rb#489
1649
+ def value; end
1650
+
1651
+ # The value of the element. The interpretation of this field depends on the type of the element.
1652
+ # Many elements don't use this field.
1653
+ #
1654
+ # source://kramdown//lib/kramdown/element.rb#489
1655
+ def value=(_arg0); end
1656
+
1657
+ class << self
1658
+ # Return the category of +el+ which can be :block, :span or +nil+.
1659
+ #
1660
+ # Most elements have a fixed category, however, some elements can either appear in a block-level
1661
+ # or a span-level context. These elements need to have the option :category correctly set.
1662
+ #
1663
+ # source://kramdown//lib/kramdown/element.rb#529
1664
+ def category(el); end
1665
+ end
1666
+ end
1667
+
1668
+ # source://kramdown//lib/kramdown/element.rb#519
1669
+ Kramdown::Element::CATEGORY = T.let(T.unsafe(nil), Hash)
1670
+
1671
+ # This error is raised when an error condition is encountered.
1672
+ #
1673
+ # *Note* that this error is only raised by the support framework for the parsers and converters.
1674
+ #
1675
+ # source://kramdown//lib/kramdown/error.rb#15
1676
+ class Kramdown::Error < ::RuntimeError; end
1677
+
1678
+ # This module defines all options that are used by parsers and/or converters as well as providing
1679
+ # methods to deal with the options.
1680
+ #
1681
+ # source://kramdown//lib/kramdown/options.rb#16
1682
+ module Kramdown::Options
1683
+ class << self
1684
+ # Return a Hash with the default values for all options.
1685
+ #
1686
+ # source://kramdown//lib/kramdown/options.rb#72
1687
+ def defaults; end
1688
+
1689
+ # Define a new option called +name+ (a Symbol) with the given +type+ (String, Integer, Float,
1690
+ # Symbol, Boolean, Object), default value +default+ and the description +desc+. If a block is
1691
+ # specified, it should validate the value and either raise an error or return a valid value.
1692
+ #
1693
+ # The type 'Object' should only be used for complex types for which none of the other types
1694
+ # suffices. A block needs to be specified when using type 'Object' and it has to cope with
1695
+ # a value given as string and as the opaque type.
1696
+ #
1697
+ # @raise [ArgumentError]
1698
+ #
1699
+ # source://kramdown//lib/kramdown/options.rb#51
1700
+ def define(name, type, default, desc, &block); end
1701
+
1702
+ # Return +true+ if an option called +name+ is defined.
1703
+ #
1704
+ # @return [Boolean]
1705
+ #
1706
+ # source://kramdown//lib/kramdown/options.rb#67
1707
+ def defined?(name); end
1708
+
1709
+ # Return all option definitions.
1710
+ #
1711
+ # source://kramdown//lib/kramdown/options.rb#62
1712
+ def definitions; end
1713
+
1714
+ # Merge the #defaults Hash with the *parsed* options from the given Hash, i.e. only valid option
1715
+ # names are considered and their value is run through the #parse method.
1716
+ #
1717
+ # source://kramdown//lib/kramdown/options.rb#82
1718
+ def merge(hash); end
1719
+
1720
+ # Parse the given value +data+ as if it was a value for the option +name+ and return the parsed
1721
+ # value with the correct type.
1722
+ #
1723
+ # If +data+ already has the correct type, it is just returned. Otherwise it is converted to a
1724
+ # String and then to the correct type.
1725
+ #
1726
+ # @raise [ArgumentError]
1727
+ #
1728
+ # source://kramdown//lib/kramdown/options.rb#96
1729
+ def parse(name, data); end
1730
+
1731
+ # Ensures that the option value +val+ for the option called +name+ is a valid array. The
1732
+ # parameter +val+ can be
1733
+ #
1734
+ # - a comma separated string which is split into an array of values
1735
+ # - or an array.
1736
+ #
1737
+ # Optionally, the array is checked for the correct size.
1738
+ #
1739
+ # source://kramdown//lib/kramdown/options.rb#141
1740
+ def simple_array_validator(val, name, size = T.unsafe(nil)); end
1741
+
1742
+ # Ensures that the option value +val+ for the option called +name+ is a valid hash. The
1743
+ # parameter +val+ can be
1744
+ #
1745
+ # - a hash in YAML format
1746
+ # - or a Ruby Hash object.
1747
+ #
1748
+ # @raise [Kramdown::Error]
1749
+ #
1750
+ # source://kramdown//lib/kramdown/options.rb#158
1751
+ def simple_hash_validator(val, name); end
1752
+
1753
+ # Converts the given String +data+ into a Symbol or +nil+ with the
1754
+ # following provisions:
1755
+ #
1756
+ # - A leading colon is stripped from the string.
1757
+ # - An empty value or a value equal to "nil" results in +nil+.
1758
+ #
1759
+ # source://kramdown//lib/kramdown/options.rb#122
1760
+ def str_to_sym(data); end
1761
+ end
1762
+ end
1763
+
1764
+ # Allowed option types.
1765
+ #
1766
+ # source://kramdown//lib/kramdown/options.rb#39
1767
+ Kramdown::Options::ALLOWED_TYPES = T.let(T.unsafe(nil), Array)
1768
+
1769
+ # Helper class introducing a boolean type for specifying boolean values (+true+ and +false+) as
1770
+ # option types.
1771
+ #
1772
+ # source://kramdown//lib/kramdown/options.rb#20
1773
+ class Kramdown::Options::Boolean
1774
+ class << self
1775
+ # Return +true+ if +other+ is either +true+ or +false+
1776
+ #
1777
+ # source://kramdown//lib/kramdown/options.rb#23
1778
+ def ===(other); end
1779
+ end
1780
+ end
1781
+
1782
+ # Struct class for storing the definition of an option.
1783
+ #
1784
+ # source://kramdown//lib/kramdown/options.rb#36
1785
+ class Kramdown::Options::Definition < ::Struct
1786
+ # Returns the value of attribute default
1787
+ #
1788
+ # @return [Object] the current value of default
1789
+ def default; end
1790
+
1791
+ # Sets the attribute default
1792
+ #
1793
+ # @param value [Object] the value to set the attribute default to.
1794
+ # @return [Object] the newly set value
1795
+ def default=(_); end
1796
+
1797
+ # Returns the value of attribute desc
1798
+ #
1799
+ # @return [Object] the current value of desc
1800
+ def desc; end
1801
+
1802
+ # Sets the attribute desc
1803
+ #
1804
+ # @param value [Object] the value to set the attribute desc to.
1805
+ # @return [Object] the newly set value
1806
+ def desc=(_); end
1807
+
1808
+ # Returns the value of attribute name
1809
+ #
1810
+ # @return [Object] the current value of name
1811
+ def name; end
1812
+
1813
+ # Sets the attribute name
1814
+ #
1815
+ # @param value [Object] the value to set the attribute name to.
1816
+ # @return [Object] the newly set value
1817
+ def name=(_); end
1818
+
1819
+ # Returns the value of attribute type
1820
+ #
1821
+ # @return [Object] the current value of type
1822
+ def type; end
1823
+
1824
+ # Sets the attribute type
1825
+ #
1826
+ # @param value [Object] the value to set the attribute type to.
1827
+ # @return [Object] the newly set value
1828
+ def type=(_); end
1829
+
1830
+ # Returns the value of attribute validator
1831
+ #
1832
+ # @return [Object] the current value of validator
1833
+ def validator; end
1834
+
1835
+ # Sets the attribute validator
1836
+ #
1837
+ # @param value [Object] the value to set the attribute validator to.
1838
+ # @return [Object] the newly set value
1839
+ def validator=(_); end
1840
+
1841
+ class << self
1842
+ def [](*_arg0); end
1843
+ def inspect; end
1844
+ def keyword_init?; end
1845
+ def members; end
1846
+ def new(*_arg0); end
1847
+ end
1848
+ end
1849
+
1850
+ # source://kramdown//lib/kramdown/options.rb#396
1851
+ Kramdown::Options::SMART_QUOTES_ENTITIES = T.let(T.unsafe(nil), Array)
1852
+
1853
+ # source://kramdown//lib/kramdown/options.rb#397
1854
+ Kramdown::Options::SMART_QUOTES_STR = T.let(T.unsafe(nil), String)
1855
+
1856
+ # source://kramdown//lib/kramdown/options.rb#336
1857
+ Kramdown::Options::TOC_LEVELS_ARRAY = T.let(T.unsafe(nil), Array)
1858
+
1859
+ # source://kramdown//lib/kramdown/options.rb#335
1860
+ Kramdown::Options::TOC_LEVELS_RANGE = T.let(T.unsafe(nil), Range)
1861
+
1862
+ # This module contains all available parsers. A parser takes an input string and converts the
1863
+ # string to an element tree.
1864
+ #
1865
+ # New parsers should be derived from the Base class which provides common functionality - see its
1866
+ # API documentation for how to create a custom converter class.
1867
+ #
1868
+ # source://kramdown//lib/kramdown/parser.rb#17
1869
+ module Kramdown::Parser; end
1870
+
1871
+ # == \Base class for parsers
1872
+ #
1873
+ # This class serves as base class for parsers. It provides common methods that can/should be
1874
+ # used by all parsers, especially by those using StringScanner(Kramdown) for parsing.
1875
+ #
1876
+ # A parser object is used as a throw-away object, i.e. it is only used for storing the needed
1877
+ # state information during parsing. Therefore one can't instantiate a parser object directly but
1878
+ # only use the Base::parse method.
1879
+ #
1880
+ # == Implementing a parser
1881
+ #
1882
+ # Implementing a new parser is rather easy: just derive a new class from this class and put it
1883
+ # in the Kramdown::Parser module -- the latter is needed so that the auto-detection of the new
1884
+ # parser works correctly. Then you need to implement the +#parse+ method which has to contain
1885
+ # the parsing code.
1886
+ #
1887
+ # Have a look at the Base::parse, Base::new and Base#parse methods for additional information!
1888
+ #
1889
+ # source://kramdown//lib/kramdown/parser/base.rb#34
1890
+ class Kramdown::Parser::Base
1891
+ # Initialize the parser object with the +source+ string and the parsing +options+.
1892
+ #
1893
+ # The @root element, the @warnings array and @text_type (specifies the default type for newly
1894
+ # created text nodes) are automatically initialized.
1895
+ #
1896
+ # @return [Base] a new instance of Base
1897
+ #
1898
+ # source://kramdown//lib/kramdown/parser/base.rb#52
1899
+ def initialize(source, options); end
1900
+
1901
+ # Modify the string +source+ to be usable by the parser (unifies line ending characters to
1902
+ # +\n+ and makes sure +source+ ends with a new line character).
1903
+ #
1904
+ # source://kramdown//lib/kramdown/parser/base.rb#91
1905
+ def adapt_source(source); end
1906
+
1907
+ # This helper method adds the given +text+ either to the last element in the +tree+ if it is a
1908
+ # +type+ element or creates a new text element with the given +type+.
1909
+ #
1910
+ # source://kramdown//lib/kramdown/parser/base.rb#103
1911
+ def add_text(text, tree = T.unsafe(nil), type = T.unsafe(nil)); end
1912
+
1913
+ # Extract the part of the StringScanner +strscan+ backed string specified by the +range+. This
1914
+ # method works correctly under Ruby 1.8 and Ruby 1.9.
1915
+ #
1916
+ # source://kramdown//lib/kramdown/parser/base.rb#115
1917
+ def extract_string(range, strscan); end
1918
+
1919
+ # The hash with the parsing options.
1920
+ #
1921
+ # source://kramdown//lib/kramdown/parser/base.rb#37
1922
+ def options; end
1923
+
1924
+ # Parse the source string into an element tree.
1925
+ #
1926
+ # The parsing code should parse the source provided in @source and build an element tree the
1927
+ # root of which should be @root.
1928
+ #
1929
+ # This is the only method that has to be implemented by sub-classes!
1930
+ #
1931
+ # @raise [NotImplementedError]
1932
+ #
1933
+ # source://kramdown//lib/kramdown/parser/base.rb#79
1934
+ def parse; end
1935
+
1936
+ # The root element of element tree that is created from the source string.
1937
+ #
1938
+ # source://kramdown//lib/kramdown/parser/base.rb#46
1939
+ def root; end
1940
+
1941
+ # The original source string.
1942
+ #
1943
+ # source://kramdown//lib/kramdown/parser/base.rb#43
1944
+ def source; end
1945
+
1946
+ # Add the given warning +text+ to the warning array.
1947
+ #
1948
+ # source://kramdown//lib/kramdown/parser/base.rb#84
1949
+ def warning(text); end
1950
+
1951
+ # The array with the parser warnings.
1952
+ #
1953
+ # source://kramdown//lib/kramdown/parser/base.rb#40
1954
+ def warnings; end
1955
+
1956
+ class << self
1957
+ # Parse the +source+ string into an element tree, possibly using the parsing +options+, and
1958
+ # return the root element of the element tree and an array with warning messages.
1959
+ #
1960
+ # Initializes a new instance of the calling class and then calls the +#parse+ method that must
1961
+ # be implemented by each subclass.
1962
+ #
1963
+ # source://kramdown//lib/kramdown/parser/base.rb#67
1964
+ def parse(source, options = T.unsafe(nil)); end
1965
+
1966
+ private
1967
+
1968
+ def allocate; end
1969
+ def new(*_arg0); end
1970
+ end
1971
+ end
1972
+
1973
+ # Used for parsing an HTML document.
1974
+ #
1975
+ # The parsing code is in the Parser module that can also be used by other parsers.
1976
+ #
1977
+ # source://kramdown//lib/kramdown/parser/html.rb#22
1978
+ class Kramdown::Parser::Html < ::Kramdown::Parser::Base
1979
+ include ::Kramdown::Parser::Html::Constants
1980
+ include ::Kramdown::Parser::Html::Parser
1981
+
1982
+ # Parse the source string provided on initialization as HTML document.
1983
+ #
1984
+ # source://kramdown//lib/kramdown/parser/html.rb#586
1985
+ def parse; end
1986
+ end
1987
+
1988
+ # Contains all constants that are used when parsing.
1989
+ #
1990
+ # source://kramdown//lib/kramdown/parser/html.rb#25
1991
+ module Kramdown::Parser::Html::Constants; end
1992
+
1993
+ # source://kramdown//lib/kramdown/parser/html.rb#32
1994
+ Kramdown::Parser::Html::Constants::HTML_ATTRIBUTE_RE = T.let(T.unsafe(nil), Regexp)
1995
+
1996
+ # source://kramdown//lib/kramdown/parser/html.rb#59
1997
+ Kramdown::Parser::Html::Constants::HTML_BLOCK_ELEMENTS = T.let(T.unsafe(nil), Array)
1998
+
1999
+ # source://kramdown//lib/kramdown/parser/html.rb#30
2000
+ Kramdown::Parser::Html::Constants::HTML_COMMENT_RE = T.let(T.unsafe(nil), Regexp)
2001
+
2002
+ # The following elements are also parsed as raw since they need child elements that cannot
2003
+ # be expressed using kramdown syntax: colgroup table tbody thead tfoot tr ul ol
2004
+ #
2005
+ # source://kramdown//lib/kramdown/parser/html.rb#48
2006
+ Kramdown::Parser::Html::Constants::HTML_CONTENT_MODEL = T.let(T.unsafe(nil), Hash)
2007
+
2008
+ # source://kramdown//lib/kramdown/parser/html.rb#37
2009
+ Kramdown::Parser::Html::Constants::HTML_CONTENT_MODEL_BLOCK = T.let(T.unsafe(nil), Array)
2010
+
2011
+ # source://kramdown//lib/kramdown/parser/html.rb#44
2012
+ Kramdown::Parser::Html::Constants::HTML_CONTENT_MODEL_RAW = T.let(T.unsafe(nil), Array)
2013
+
2014
+ # source://kramdown//lib/kramdown/parser/html.rb#41
2015
+ Kramdown::Parser::Html::Constants::HTML_CONTENT_MODEL_SPAN = T.let(T.unsafe(nil), Array)
2016
+
2017
+ # :stopdoc:
2018
+ # The following regexps are based on the ones used by REXML, with some slight modifications.
2019
+ #
2020
+ # source://kramdown//lib/kramdown/parser/html.rb#29
2021
+ Kramdown::Parser::Html::Constants::HTML_DOCTYPE_RE = T.let(T.unsafe(nil), Regexp)
2022
+
2023
+ # source://kramdown//lib/kramdown/parser/html.rb#66
2024
+ Kramdown::Parser::Html::Constants::HTML_ELEMENT = T.let(T.unsafe(nil), Hash)
2025
+
2026
+ # source://kramdown//lib/kramdown/parser/html.rb#63
2027
+ Kramdown::Parser::Html::Constants::HTML_ELEMENTS_WITHOUT_BODY = T.let(T.unsafe(nil), Array)
2028
+
2029
+ # source://kramdown//lib/kramdown/parser/html.rb#35
2030
+ Kramdown::Parser::Html::Constants::HTML_ENTITY_RE = T.let(T.unsafe(nil), Regexp)
2031
+
2032
+ # source://kramdown//lib/kramdown/parser/html.rb#31
2033
+ Kramdown::Parser::Html::Constants::HTML_INSTRUCTION_RE = T.let(T.unsafe(nil), Regexp)
2034
+
2035
+ # Some HTML elements like script belong to both categories (i.e. are valid in block and
2036
+ # span HTML) and don't appear therefore!
2037
+ # script, textarea
2038
+ #
2039
+ # source://kramdown//lib/kramdown/parser/html.rb#56
2040
+ Kramdown::Parser::Html::Constants::HTML_SPAN_ELEMENTS = T.let(T.unsafe(nil), Array)
2041
+
2042
+ # source://kramdown//lib/kramdown/parser/html.rb#34
2043
+ Kramdown::Parser::Html::Constants::HTML_TAG_CLOSE_RE = T.let(T.unsafe(nil), Regexp)
2044
+
2045
+ # source://kramdown//lib/kramdown/parser/html.rb#33
2046
+ Kramdown::Parser::Html::Constants::HTML_TAG_RE = T.let(T.unsafe(nil), Regexp)
2047
+
2048
+ # Converts HTML elements to native elements if possible.
2049
+ #
2050
+ # source://kramdown//lib/kramdown/parser/html.rb#197
2051
+ class Kramdown::Parser::Html::ElementConverter
2052
+ include ::Kramdown::Parser::Html::Constants
2053
+ include ::Kramdown::Utils::Entities
2054
+
2055
+ # @return [ElementConverter] a new instance of ElementConverter
2056
+ #
2057
+ # source://kramdown//lib/kramdown/parser/html.rb#216
2058
+ def initialize(root); end
2059
+
2060
+ # source://kramdown//lib/kramdown/parser/html.rb#384
2061
+ def convert_a(el); end
2062
+
2063
+ # source://kramdown//lib/kramdown/parser/html.rb#394
2064
+ def convert_b(el); end
2065
+
2066
+ # source://kramdown//lib/kramdown/parser/html.rb#417
2067
+ def convert_code(el); end
2068
+
2069
+ # source://kramdown//lib/kramdown/parser/html.rb#394
2070
+ def convert_em(el); end
2071
+
2072
+ # source://kramdown//lib/kramdown/parser/html.rb#408
2073
+ def convert_h1(el); end
2074
+
2075
+ # source://kramdown//lib/kramdown/parser/html.rb#408
2076
+ def convert_h2(el); end
2077
+
2078
+ # source://kramdown//lib/kramdown/parser/html.rb#408
2079
+ def convert_h3(el); end
2080
+
2081
+ # source://kramdown//lib/kramdown/parser/html.rb#408
2082
+ def convert_h4(el); end
2083
+
2084
+ # source://kramdown//lib/kramdown/parser/html.rb#408
2085
+ def convert_h5(el); end
2086
+
2087
+ # source://kramdown//lib/kramdown/parser/html.rb#408
2088
+ def convert_h6(el); end
2089
+
2090
+ # source://kramdown//lib/kramdown/parser/html.rb#394
2091
+ def convert_i(el); end
2092
+
2093
+ # source://kramdown//lib/kramdown/parser/html.rb#417
2094
+ def convert_pre(el); end
2095
+
2096
+ # source://kramdown//lib/kramdown/parser/html.rb#563
2097
+ def convert_script(el); end
2098
+
2099
+ # source://kramdown//lib/kramdown/parser/html.rb#394
2100
+ def convert_strong(el); end
2101
+
2102
+ # source://kramdown//lib/kramdown/parser/html.rb#460
2103
+ def convert_table(el); end
2104
+
2105
+ # source://kramdown//lib/kramdown/parser/html.rb#380
2106
+ def convert_textarea(el); end
2107
+
2108
+ # source://kramdown//lib/kramdown/parser/html.rb#375
2109
+ def extract_text(el, raw); end
2110
+
2111
+ # source://kramdown//lib/kramdown/parser/html.rb#575
2112
+ def handle_math_tag(el); end
2113
+
2114
+ # @return [Boolean]
2115
+ #
2116
+ # source://kramdown//lib/kramdown/parser/html.rb#571
2117
+ def is_math_tag?(el); end
2118
+
2119
+ # @return [Boolean]
2120
+ #
2121
+ # source://kramdown//lib/kramdown/parser/html.rb#503
2122
+ def is_simple_table?(el); end
2123
+
2124
+ # Convert the element +el+ and its children.
2125
+ #
2126
+ # source://kramdown//lib/kramdown/parser/html.rb#225
2127
+ def process(el, do_conversion = T.unsafe(nil), preserve_text = T.unsafe(nil), parent = T.unsafe(nil)); end
2128
+
2129
+ # source://kramdown//lib/kramdown/parser/html.rb#278
2130
+ def process_children(el, do_conversion = T.unsafe(nil), preserve_text = T.unsafe(nil)); end
2131
+
2132
+ # source://kramdown//lib/kramdown/parser/html.rb#320
2133
+ def process_html_element(el, do_conversion = T.unsafe(nil), preserve_text = T.unsafe(nil)); end
2134
+
2135
+ # Process the HTML text +raw+: compress whitespace (if +preserve+ is +false+) and convert
2136
+ # entities in entity elements.
2137
+ #
2138
+ # source://kramdown//lib/kramdown/parser/html.rb#291
2139
+ def process_text(raw, preserve = T.unsafe(nil)); end
2140
+
2141
+ # source://kramdown//lib/kramdown/parser/html.rb#326
2142
+ def remove_text_children(el); end
2143
+
2144
+ # source://kramdown//lib/kramdown/parser/html.rb#359
2145
+ def remove_whitespace_children(el); end
2146
+
2147
+ # source://kramdown//lib/kramdown/parser/html.rb#369
2148
+ def set_basics(el, type, opts = T.unsafe(nil)); end
2149
+
2150
+ # source://kramdown//lib/kramdown/parser/html.rb#349
2151
+ def strip_whitespace(el); end
2152
+
2153
+ # source://kramdown//lib/kramdown/parser/html.rb#330
2154
+ def wrap_text_children(el); end
2155
+
2156
+ class << self
2157
+ # source://kramdown//lib/kramdown/parser/html.rb#220
2158
+ def convert(root, el = T.unsafe(nil)); end
2159
+ end
2160
+ end
2161
+
2162
+ # source://kramdown//lib/kramdown/parser/html.rb#393
2163
+ Kramdown::Parser::Html::ElementConverter::EMPHASIS_TYPE_MAP = T.let(T.unsafe(nil), Hash)
2164
+
2165
+ # source://kramdown//lib/kramdown/parser/html.rb#204
2166
+ Kramdown::Parser::Html::ElementConverter::REMOVE_TEXT_CHILDREN = T.let(T.unsafe(nil), Array)
2167
+
2168
+ # source://kramdown//lib/kramdown/parser/html.rb#208
2169
+ Kramdown::Parser::Html::ElementConverter::REMOVE_WHITESPACE_CHILDREN = T.let(T.unsafe(nil), Array)
2170
+
2171
+ # source://kramdown//lib/kramdown/parser/html.rb#213
2172
+ Kramdown::Parser::Html::ElementConverter::SIMPLE_ELEMENTS = T.let(T.unsafe(nil), Array)
2173
+
2174
+ # source://kramdown//lib/kramdown/parser/html.rb#210
2175
+ Kramdown::Parser::Html::ElementConverter::STRIP_WHITESPACE = T.let(T.unsafe(nil), Array)
2176
+
2177
+ # source://kramdown//lib/kramdown/parser/html.rb#206
2178
+ Kramdown::Parser::Html::ElementConverter::WRAP_TEXT_CHILDREN = T.let(T.unsafe(nil), Array)
2179
+
2180
+ # Contains the parsing methods. This module can be mixed into any parser to get HTML parsing
2181
+ # functionality. The only thing that must be provided by the class are instance variable
2182
+ # parsing.
2183
+ #
2184
+ # source://kramdown//lib/kramdown/parser/html.rb#77
2185
+ module Kramdown::Parser::Html::Parser
2186
+ include ::Kramdown::Parser::Html::Constants
2187
+
2188
+ # Process the HTML start tag that has already be scanned/checked via @src.
2189
+ #
2190
+ # Does the common processing steps and then yields to the caller for further processing
2191
+ # (first parameter is the created element; the second parameter is +true+ if the HTML
2192
+ # element is already closed, ie. contains no body; the third parameter specifies whether the
2193
+ # body - and the end tag - need to be handled in case closed=false).
2194
+ #
2195
+ # source://kramdown//lib/kramdown/parser/html.rb#87
2196
+ def handle_html_start_tag(line = T.unsafe(nil)); end
2197
+
2198
+ # Handle the raw HTML tag at the current position.
2199
+ #
2200
+ # source://kramdown//lib/kramdown/parser/html.rb#127
2201
+ def handle_raw_html_tag(name); end
2202
+
2203
+ # Parses the given string for HTML attributes and returns the resulting hash.
2204
+ #
2205
+ # If the optional +line+ parameter is supplied, it is used in warning messages.
2206
+ #
2207
+ # If the optional +in_html_tag+ parameter is set to +false+, attributes are not modified to
2208
+ # contain only lowercase letters.
2209
+ #
2210
+ # source://kramdown//lib/kramdown/parser/html.rb#114
2211
+ def parse_html_attributes(str, line = T.unsafe(nil), in_html_tag = T.unsafe(nil)); end
2212
+
2213
+ # Parse raw HTML from the current source position, storing the found elements in +el+.
2214
+ # Parsing continues until one of the following criteria are fulfilled:
2215
+ #
2216
+ # - The end of the document is reached.
2217
+ # - The matching end tag for the element +el+ is found (only used if +el+ is an HTML
2218
+ # element).
2219
+ #
2220
+ # When an HTML start tag is found, processing is deferred to #handle_html_start_tag,
2221
+ # providing the block given to this method.
2222
+ #
2223
+ # source://kramdown//lib/kramdown/parser/html.rb#150
2224
+ def parse_raw_html(el, &block); end
2225
+ end
2226
+
2227
+ # source://kramdown//lib/kramdown/parser/html.rb#139
2228
+ Kramdown::Parser::Html::Parser::HTML_RAW_START = T.let(T.unsafe(nil), Regexp)
2229
+
2230
+ # Used for parsing a document in kramdown format.
2231
+ #
2232
+ # If you want to extend the functionality of the parser, you need to do the following:
2233
+ #
2234
+ # * Create a new subclass
2235
+ # * add the needed parser methods
2236
+ # * modify the @block_parsers and @span_parsers variables and add the names of your parser
2237
+ # methods
2238
+ #
2239
+ # Here is a small example for an extended parser class that parses ERB style tags as raw text if
2240
+ # they are used as span-level elements (an equivalent block-level parser should probably also be
2241
+ # made to handle the block case):
2242
+ #
2243
+ # require 'kramdown/parser/kramdown'
2244
+ #
2245
+ # class Kramdown::Parser::ERBKramdown < Kramdown::Parser::Kramdown
2246
+ #
2247
+ # def initialize(source, options)
2248
+ # super
2249
+ # @span_parsers.unshift(:erb_tags)
2250
+ # end
2251
+ #
2252
+ # ERB_TAGS_START = /<%.*?%>/
2253
+ #
2254
+ # def parse_erb_tags
2255
+ # @src.pos += @src.matched_size
2256
+ # @tree.children << Element.new(:raw, @src.matched)
2257
+ # end
2258
+ # define_parser(:erb_tags, ERB_TAGS_START, '<%')
2259
+ #
2260
+ # end
2261
+ #
2262
+ # The new parser can be used like this:
2263
+ #
2264
+ # require 'kramdown/document'
2265
+ # # require the file with the above parser class
2266
+ #
2267
+ # Kramdown::Document.new(input_text, :input => 'ERBKramdown').to_html
2268
+ #
2269
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#60
2270
+ class Kramdown::Parser::Kramdown < ::Kramdown::Parser::Base
2271
+ include ::Kramdown
2272
+ include ::Kramdown::Parser::Html::Constants
2273
+ include ::Kramdown::Parser::Html::Parser
2274
+
2275
+ # Create a new Kramdown parser object with the given +options+.
2276
+ #
2277
+ # @return [Kramdown] a new instance of Kramdown
2278
+ #
2279
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#65
2280
+ def initialize(source, options); end
2281
+
2282
+ # This helper methods adds the approriate attributes to the element +el+ of type +a+ or +img+
2283
+ # and the element itself to the @tree.
2284
+ #
2285
+ # source://kramdown//lib/kramdown/parser/kramdown/link.rb#39
2286
+ def add_link(el, href, title, alt_text = T.unsafe(nil), ial = T.unsafe(nil)); end
2287
+
2288
+ # Return +true+ if we are after a block boundary.
2289
+ #
2290
+ # @return [Boolean]
2291
+ #
2292
+ # source://kramdown//lib/kramdown/parser/kramdown/block_boundary.rb#21
2293
+ def after_block_boundary?; end
2294
+
2295
+ # Return +true+ if we are before a block boundary.
2296
+ #
2297
+ # @return [Boolean]
2298
+ #
2299
+ # source://kramdown//lib/kramdown/parser/kramdown/block_boundary.rb#28
2300
+ def before_block_boundary?; end
2301
+
2302
+ # Correct abbreviation attributes.
2303
+ #
2304
+ # source://kramdown//lib/kramdown/parser/kramdown/abbreviation.rb#34
2305
+ def correct_abbreviations_attributes; end
2306
+
2307
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#96
2308
+ def handle_extension(name, opts, body, type, line_no = T.unsafe(nil)); end
2309
+
2310
+ # source://kramdown//lib/kramdown/parser/kramdown/html.rb#25
2311
+ def handle_kramdown_html_tag(el, closed, handle_body); end
2312
+
2313
+ # Normalize the link identifier.
2314
+ #
2315
+ # source://kramdown//lib/kramdown/parser/kramdown/link.rb#17
2316
+ def normalize_link_id(id); end
2317
+
2318
+ # source://kramdown//lib/kramdown/parser/kramdown/paragraph.rb#56
2319
+ def paragraph_end; end
2320
+
2321
+ # The source string provided on initialization is parsed into the @root element.
2322
+ #
2323
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#88
2324
+ def parse; end
2325
+
2326
+ # Parse the link definition at the current location.
2327
+ #
2328
+ # source://kramdown//lib/kramdown/parser/kramdown/abbreviation.rb#17
2329
+ def parse_abbrev_definition; end
2330
+
2331
+ # Parse the string +str+ and extract all attributes and add all found attributes to the hash
2332
+ # +opts+.
2333
+ #
2334
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#18
2335
+ def parse_attribute_list(str, opts); end
2336
+
2337
+ # Parse the Atx header at the current location.
2338
+ #
2339
+ # source://kramdown//lib/kramdown/parser/kramdown/header.rb#32
2340
+ def parse_atx_header; end
2341
+
2342
+ # Parse the autolink at the current location.
2343
+ #
2344
+ # source://kramdown//lib/kramdown/parser/kramdown/autolink.rb#19
2345
+ def parse_autolink; end
2346
+
2347
+ # Parse the blank line at the current postition.
2348
+ #
2349
+ # source://kramdown//lib/kramdown/parser/kramdown/blank_line.rb#17
2350
+ def parse_blank_line; end
2351
+
2352
+ # Parse one of the block extensions (ALD, block IAL or generic extension) at the current
2353
+ # location.
2354
+ #
2355
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#164
2356
+ def parse_block_extensions; end
2357
+
2358
+ # Parse the HTML at the current position as block-level HTML.
2359
+ #
2360
+ # source://kramdown//lib/kramdown/parser/kramdown/html.rb#71
2361
+ def parse_block_html; end
2362
+
2363
+ # Parse the math block at the current location.
2364
+ #
2365
+ # source://kramdown//lib/kramdown/parser/kramdown/math.rb#19
2366
+ def parse_block_math; end
2367
+
2368
+ # Parse the blockquote at the current location.
2369
+ #
2370
+ # source://kramdown//lib/kramdown/parser/kramdown/blockquote.rb#21
2371
+ def parse_blockquote; end
2372
+
2373
+ # Parse the indented codeblock at the current location.
2374
+ #
2375
+ # source://kramdown//lib/kramdown/parser/kramdown/codeblock.rb#23
2376
+ def parse_codeblock; end
2377
+
2378
+ # Parse the fenced codeblock at the current location.
2379
+ #
2380
+ # source://kramdown//lib/kramdown/parser/kramdown/codeblock.rb#37
2381
+ def parse_codeblock_fenced; end
2382
+
2383
+ # Parse the codespan at the current scanner location.
2384
+ #
2385
+ # source://kramdown//lib/kramdown/parser/kramdown/codespan.rb#17
2386
+ def parse_codespan; end
2387
+
2388
+ # Parse the ordered or unordered list at the current location.
2389
+ #
2390
+ # source://kramdown//lib/kramdown/parser/kramdown/list.rb#153
2391
+ def parse_definition_list; end
2392
+
2393
+ # Parse the emphasis at the current location.
2394
+ #
2395
+ # source://kramdown//lib/kramdown/parser/kramdown/emphasis.rb#17
2396
+ def parse_emphasis; end
2397
+
2398
+ # Parse the EOB marker at the current location.
2399
+ #
2400
+ # source://kramdown//lib/kramdown/parser/kramdown/eob.rb#17
2401
+ def parse_eob_marker; end
2402
+
2403
+ # Parse the backslash-escaped character at the current location.
2404
+ #
2405
+ # source://kramdown//lib/kramdown/parser/kramdown/escaped_chars.rb#17
2406
+ def parse_escaped_chars; end
2407
+
2408
+ # Parse the generic extension at the current point. The parameter +type+ can either be :block
2409
+ # or :span depending whether we parse a block or span extension tag.
2410
+ #
2411
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#54
2412
+ def parse_extension_start_tag(type); end
2413
+
2414
+ # Used for parsing the first line of a list item or a definition, i.e. the line with list item
2415
+ # marker or the definition marker.
2416
+ #
2417
+ # source://kramdown//lib/kramdown/parser/kramdown/list.rb#32
2418
+ def parse_first_list_line(indentation, content); end
2419
+
2420
+ # Parse the foot note definition at the current location.
2421
+ #
2422
+ # source://kramdown//lib/kramdown/parser/kramdown/footnote.rb#21
2423
+ def parse_footnote_definition; end
2424
+
2425
+ # Parse the footnote marker at the current location.
2426
+ #
2427
+ # source://kramdown//lib/kramdown/parser/kramdown/footnote.rb#40
2428
+ def parse_footnote_marker; end
2429
+
2430
+ # Parse the horizontal rule at the current location.
2431
+ #
2432
+ # source://kramdown//lib/kramdown/parser/kramdown/horizontal_rule.rb#17
2433
+ def parse_horizontal_rule; end
2434
+
2435
+ # Parse the HTML entity at the current location.
2436
+ #
2437
+ # source://kramdown//lib/kramdown/parser/kramdown/html_entity.rb#17
2438
+ def parse_html_entity; end
2439
+
2440
+ # Parse the inline math at the current location.
2441
+ #
2442
+ # source://kramdown//lib/kramdown/parser/kramdown/math.rb#44
2443
+ def parse_inline_math; end
2444
+
2445
+ # Parse the line break at the current location.
2446
+ #
2447
+ # source://kramdown//lib/kramdown/parser/kramdown/line_break.rb#17
2448
+ def parse_line_break; end
2449
+
2450
+ # Parse the link at the current scanner position. This method is used to parse normal links as
2451
+ # well as image links.
2452
+ #
2453
+ # source://kramdown//lib/kramdown/parser/kramdown/link.rb#61
2454
+ def parse_link; end
2455
+
2456
+ # Parse the link definition at the current location.
2457
+ #
2458
+ # source://kramdown//lib/kramdown/parser/kramdown/link.rb#24
2459
+ def parse_link_definition; end
2460
+
2461
+ # Parse the ordered or unordered list at the current location.
2462
+ #
2463
+ # source://kramdown//lib/kramdown/parser/kramdown/list.rb#54
2464
+ def parse_list; end
2465
+
2466
+ # Parse the paragraph at the current location.
2467
+ #
2468
+ # source://kramdown//lib/kramdown/parser/kramdown/paragraph.rb#31
2469
+ def parse_paragraph; end
2470
+
2471
+ # Parse the Setext header at the current location.
2472
+ #
2473
+ # source://kramdown//lib/kramdown/parser/kramdown/header.rb#20
2474
+ def parse_setext_header; end
2475
+
2476
+ # Parse the smart quotes at current location.
2477
+ #
2478
+ # source://kramdown//lib/kramdown/parser/kramdown/smart_quotes.rb#158
2479
+ def parse_smart_quotes; end
2480
+
2481
+ # Parse the extension span at the current location.
2482
+ #
2483
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#192
2484
+ def parse_span_extensions; end
2485
+
2486
+ # Parse the HTML at the current position as span-level HTML.
2487
+ #
2488
+ # source://kramdown//lib/kramdown/parser/kramdown/html.rb#102
2489
+ def parse_span_html; end
2490
+
2491
+ # Parse the table at the current location.
2492
+ #
2493
+ # source://kramdown//lib/kramdown/parser/kramdown/table.rb#25
2494
+ def parse_table; end
2495
+
2496
+ # Parse the typographic symbols at the current location.
2497
+ #
2498
+ # source://kramdown//lib/kramdown/parser/kramdown/typographic_symbol.rb#22
2499
+ def parse_typographic_syms; end
2500
+
2501
+ # Replace the abbreviation text with elements.
2502
+ #
2503
+ # source://kramdown//lib/kramdown/parser/kramdown/abbreviation.rb#41
2504
+ def replace_abbreviations(el, regexps = T.unsafe(nil)); end
2505
+
2506
+ # Update the +ial+ with the information from the inline attribute list +opts+.
2507
+ #
2508
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#41
2509
+ def update_ial_with_ial(ial, opts); end
2510
+
2511
+ protected
2512
+
2513
+ # source://kramdown//lib/kramdown/parser/kramdown/header.rb#59
2514
+ def add_header(level, text, id); end
2515
+
2516
+ # Adapt the object to allow parsing like specified in the options.
2517
+ #
2518
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#121
2519
+ def configure_parser; end
2520
+
2521
+ # Create a new block-level element, taking care of applying a preceding block IAL if it
2522
+ # exists. This method should always be used for creating a block-level element!
2523
+ #
2524
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#305
2525
+ def new_block_el(*args); end
2526
+
2527
+ # Parse all block-level elements in +text+ into the element +el+.
2528
+ #
2529
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#140
2530
+ def parse_blocks(el, text = T.unsafe(nil)); end
2531
+
2532
+ # Returns header text and optional ID.
2533
+ #
2534
+ # source://kramdown//lib/kramdown/parser/kramdown/header.rb#47
2535
+ def parse_header_contents; end
2536
+
2537
+ # Parse all span-level elements in the source string of @src into +el+.
2538
+ #
2539
+ # If the parameter +stop_re+ (a regexp) is used, parsing is immediately stopped if the regexp
2540
+ # matches and if no block is given or if a block is given and it returns +true+.
2541
+ #
2542
+ # The parameter +parsers+ can be used to specify the (span-level) parsing methods that should
2543
+ # be used for parsing.
2544
+ #
2545
+ # The parameter +text_type+ specifies the type which should be used for created text nodes.
2546
+ #
2547
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#214
2548
+ def parse_spans(el, stop_re = T.unsafe(nil), parsers = T.unsafe(nil), text_type = T.unsafe(nil)); end
2549
+
2550
+ # Reset the current parsing environment. The parameter +env+ can be used to set initial
2551
+ # values for one or more environment variables.
2552
+ #
2553
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#253
2554
+ def reset_env(opts = T.unsafe(nil)); end
2555
+
2556
+ # Restore the current parsing environment.
2557
+ #
2558
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#268
2559
+ def restore_env(env); end
2560
+
2561
+ # Return the current parsing environment.
2562
+ #
2563
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#263
2564
+ def save_env; end
2565
+
2566
+ # Create the needed span parser regexps.
2567
+ #
2568
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#134
2569
+ def span_parser_regexps(parsers = T.unsafe(nil)); end
2570
+
2571
+ # Update the given attributes hash +attr+ with the information from the inline attribute list
2572
+ # +ial+ and all referenced ALDs.
2573
+ #
2574
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#274
2575
+ def update_attr_with_ial(attr, ial); end
2576
+
2577
+ #
2578
+ # Update the parser specific link definitions with the data from +link_defs+ (the value of the
2579
+ # :link_defs option).
2580
+ #
2581
+ # The parameter +link_defs+ is a hash where the keys are possibly unnormalized link IDs and
2582
+ # the values are two element arrays consisting of the link target and a title (can be +nil+).
2583
+ #
2584
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#116
2585
+ def update_link_definitions(link_defs); end
2586
+
2587
+ # Update the raw text for automatic ID generation.
2588
+ #
2589
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#288
2590
+ def update_raw_text(item); end
2591
+
2592
+ # Update the tree by parsing all :+raw_text+ elements with the span-level parser (resets the
2593
+ # environment) and by updating the attributes from the IALs.
2594
+ #
2595
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#166
2596
+ def update_tree(element); end
2597
+
2598
+ private
2599
+
2600
+ # precomputed patterns for indentations 1..4 and fallback expression
2601
+ # to compute pattern when indentation is outside the 1..4 range.
2602
+ #
2603
+ # source://kramdown//lib/kramdown/parser/kramdown/list.rb#258
2604
+ def fetch_pattern(type, indentation); end
2605
+
2606
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#200
2607
+ def span_pattern_cache(stop_re, span_start); end
2608
+
2609
+ class << self
2610
+ # Add a parser method
2611
+ #
2612
+ # * with the given +name+,
2613
+ # * using +start_re+ as start regexp
2614
+ # * and, for span parsers, +span_start+ as a String that can be used in a regexp and
2615
+ # which identifies the starting character(s)
2616
+ #
2617
+ # to the registry. The method name is automatically derived from the +name+ or can explicitly
2618
+ # be set by using the +meth_name+ parameter.
2619
+ #
2620
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#328
2621
+ def define_parser(name, start_re, span_start = T.unsafe(nil), meth_name = T.unsafe(nil)); end
2622
+
2623
+ # Return +true+ if there is a parser called +name+.
2624
+ #
2625
+ # @return [Boolean]
2626
+ #
2627
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#339
2628
+ def has_parser?(name); end
2629
+
2630
+ # Return the Data structure for the parser +name+.
2631
+ #
2632
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#334
2633
+ def parser(name = T.unsafe(nil)); end
2634
+ end
2635
+ end
2636
+
2637
+ # source://kramdown//lib/kramdown/parser/kramdown/abbreviation.rb#14
2638
+ Kramdown::Parser::Kramdown::ABBREV_DEFINITION_START = T.let(T.unsafe(nil), Regexp)
2639
+
2640
+ # source://kramdown//lib/kramdown/parser/kramdown/autolink.rb#14
2641
+ Kramdown::Parser::Kramdown::ACHARS = T.let(T.unsafe(nil), String)
2642
+
2643
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#140
2644
+ Kramdown::Parser::Kramdown::ALD_ANY_CHARS = T.let(T.unsafe(nil), Regexp)
2645
+
2646
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#142
2647
+ Kramdown::Parser::Kramdown::ALD_CLASS_NAME = T.let(T.unsafe(nil), Regexp)
2648
+
2649
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#139
2650
+ Kramdown::Parser::Kramdown::ALD_ID_CHARS = T.let(T.unsafe(nil), Regexp)
2651
+
2652
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#141
2653
+ Kramdown::Parser::Kramdown::ALD_ID_NAME = T.let(T.unsafe(nil), Regexp)
2654
+
2655
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#150
2656
+ Kramdown::Parser::Kramdown::ALD_START = T.let(T.unsafe(nil), Regexp)
2657
+
2658
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#149
2659
+ Kramdown::Parser::Kramdown::ALD_TYPE_ANY = T.let(T.unsafe(nil), Regexp)
2660
+
2661
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#144
2662
+ Kramdown::Parser::Kramdown::ALD_TYPE_CLASS_NAME = T.let(T.unsafe(nil), Regexp)
2663
+
2664
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#145
2665
+ Kramdown::Parser::Kramdown::ALD_TYPE_ID_NAME = T.let(T.unsafe(nil), Regexp)
2666
+
2667
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#146
2668
+ Kramdown::Parser::Kramdown::ALD_TYPE_ID_OR_CLASS = T.let(T.unsafe(nil), Regexp)
2669
+
2670
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#147
2671
+ Kramdown::Parser::Kramdown::ALD_TYPE_ID_OR_CLASS_MULTI = T.let(T.unsafe(nil), Regexp)
2672
+
2673
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#143
2674
+ Kramdown::Parser::Kramdown::ALD_TYPE_KEY_VALUE_PAIR = T.let(T.unsafe(nil), Regexp)
2675
+
2676
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#148
2677
+ Kramdown::Parser::Kramdown::ALD_TYPE_REF = T.let(T.unsafe(nil), Regexp)
2678
+
2679
+ # source://kramdown//lib/kramdown/parser/kramdown/header.rb#29
2680
+ Kramdown::Parser::Kramdown::ATX_HEADER_START = T.let(T.unsafe(nil), Regexp)
2681
+
2682
+ # source://kramdown//lib/kramdown/parser/kramdown/autolink.rb#16
2683
+ Kramdown::Parser::Kramdown::AUTOLINK_START = T.let(T.unsafe(nil), Regexp)
2684
+
2685
+ # source://kramdown//lib/kramdown/parser/kramdown/autolink.rb#15
2686
+ Kramdown::Parser::Kramdown::AUTOLINK_START_STR = T.let(T.unsafe(nil), String)
2687
+
2688
+ # source://kramdown//lib/kramdown/parser/kramdown/blank_line.rb#14
2689
+ Kramdown::Parser::Kramdown::BLANK_LINE = T.let(T.unsafe(nil), Regexp)
2690
+
2691
+ # source://kramdown//lib/kramdown/parser/kramdown/blockquote.rb#18
2692
+ Kramdown::Parser::Kramdown::BLOCKQUOTE_START = T.let(T.unsafe(nil), Regexp)
2693
+
2694
+ # source://kramdown//lib/kramdown/parser/kramdown/block_boundary.rb#18
2695
+ Kramdown::Parser::Kramdown::BLOCK_BOUNDARY = T.let(T.unsafe(nil), Regexp)
2696
+
2697
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#160
2698
+ Kramdown::Parser::Kramdown::BLOCK_EXTENSIONS_START = T.let(T.unsafe(nil), Regexp)
2699
+
2700
+ # source://kramdown//lib/kramdown/parser/kramdown/math.rb#16
2701
+ Kramdown::Parser::Kramdown::BLOCK_MATH_START = T.let(T.unsafe(nil), Regexp)
2702
+
2703
+ # source://kramdown//lib/kramdown/parser/kramdown/codeblock.rb#20
2704
+ Kramdown::Parser::Kramdown::CODEBLOCK_MATCH = T.let(T.unsafe(nil), Regexp)
2705
+
2706
+ # source://kramdown//lib/kramdown/parser/kramdown/codeblock.rb#19
2707
+ Kramdown::Parser::Kramdown::CODEBLOCK_START = T.let(T.unsafe(nil), Regexp)
2708
+
2709
+ # source://kramdown//lib/kramdown/parser/kramdown/codespan.rb#14
2710
+ Kramdown::Parser::Kramdown::CODESPAN_DELIMITER = T.let(T.unsafe(nil), Regexp)
2711
+
2712
+ # source://kramdown//lib/kramdown/parser/kramdown/list.rb#150
2713
+ Kramdown::Parser::Kramdown::DEFINITION_LIST_START = T.let(T.unsafe(nil), Regexp)
2714
+
2715
+ # Struct class holding all the needed data for one block/span-level parser method.
2716
+ #
2717
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#317
2718
+ class Kramdown::Parser::Kramdown::Data < ::Struct
2719
+ # Returns the value of attribute method
2720
+ #
2721
+ # @return [Object] the current value of method
2722
+ def method; end
2723
+
2724
+ # Sets the attribute method
2725
+ #
2726
+ # @param value [Object] the value to set the attribute method to.
2727
+ # @return [Object] the newly set value
2728
+ def method=(_); end
2729
+
2730
+ # Returns the value of attribute name
2731
+ #
2732
+ # @return [Object] the current value of name
2733
+ def name; end
2734
+
2735
+ # Sets the attribute name
2736
+ #
2737
+ # @param value [Object] the value to set the attribute name to.
2738
+ # @return [Object] the newly set value
2739
+ def name=(_); end
2740
+
2741
+ # Returns the value of attribute span_start
2742
+ #
2743
+ # @return [Object] the current value of span_start
2744
+ def span_start; end
2745
+
2746
+ # Sets the attribute span_start
2747
+ #
2748
+ # @param value [Object] the value to set the attribute span_start to.
2749
+ # @return [Object] the newly set value
2750
+ def span_start=(_); end
2751
+
2752
+ # Returns the value of attribute start_re
2753
+ #
2754
+ # @return [Object] the current value of start_re
2755
+ def start_re; end
2756
+
2757
+ # Sets the attribute start_re
2758
+ #
2759
+ # @param value [Object] the value to set the attribute start_re to.
2760
+ # @return [Object] the newly set value
2761
+ def start_re=(_); end
2762
+
2763
+ class << self
2764
+ def [](*_arg0); end
2765
+ def inspect; end
2766
+ def keyword_init?; end
2767
+ def members; end
2768
+ def new(*_arg0); end
2769
+ end
2770
+ end
2771
+
2772
+ # source://kramdown//lib/kramdown/parser/kramdown/emphasis.rb#14
2773
+ Kramdown::Parser::Kramdown::EMPHASIS_START = T.let(T.unsafe(nil), Regexp)
2774
+
2775
+ # source://kramdown//lib/kramdown/parser/kramdown/eob.rb#14
2776
+ Kramdown::Parser::Kramdown::EOB_MARKER = T.let(T.unsafe(nil), Regexp)
2777
+
2778
+ # source://kramdown//lib/kramdown/parser/kramdown/escaped_chars.rb#14
2779
+ Kramdown::Parser::Kramdown::ESCAPED_CHARS = T.let(T.unsafe(nil), Regexp)
2780
+
2781
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#154
2782
+ Kramdown::Parser::Kramdown::EXT_BLOCK_START = T.let(T.unsafe(nil), Regexp)
2783
+
2784
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#155
2785
+ Kramdown::Parser::Kramdown::EXT_BLOCK_STOP_STR = T.let(T.unsafe(nil), String)
2786
+
2787
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#187
2788
+ Kramdown::Parser::Kramdown::EXT_SPAN_START = T.let(T.unsafe(nil), Regexp)
2789
+
2790
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#153
2791
+ Kramdown::Parser::Kramdown::EXT_START_STR = T.let(T.unsafe(nil), String)
2792
+
2793
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#152
2794
+ Kramdown::Parser::Kramdown::EXT_STOP_STR = T.let(T.unsafe(nil), String)
2795
+
2796
+ # source://kramdown//lib/kramdown/parser/kramdown/codeblock.rb#34
2797
+ Kramdown::Parser::Kramdown::FENCED_CODEBLOCK_MATCH = T.let(T.unsafe(nil), Regexp)
2798
+
2799
+ # source://kramdown//lib/kramdown/parser/kramdown/codeblock.rb#33
2800
+ Kramdown::Parser::Kramdown::FENCED_CODEBLOCK_START = T.let(T.unsafe(nil), Regexp)
2801
+
2802
+ # source://kramdown//lib/kramdown/parser/kramdown/footnote.rb#18
2803
+ Kramdown::Parser::Kramdown::FOOTNOTE_DEFINITION_START = T.let(T.unsafe(nil), Regexp)
2804
+
2805
+ # source://kramdown//lib/kramdown/parser/kramdown/footnote.rb#37
2806
+ Kramdown::Parser::Kramdown::FOOTNOTE_MARKER_START = T.let(T.unsafe(nil), Regexp)
2807
+
2808
+ # source://kramdown//lib/kramdown/parser/kramdown/header.rb#44
2809
+ Kramdown::Parser::Kramdown::HEADER_ID = T.let(T.unsafe(nil), Regexp)
2810
+
2811
+ # source://kramdown//lib/kramdown/parser/kramdown/horizontal_rule.rb#14
2812
+ Kramdown::Parser::Kramdown::HR_START = T.let(T.unsafe(nil), Regexp)
2813
+
2814
+ # source://kramdown//lib/kramdown/parser/kramdown/html.rb#68
2815
+ Kramdown::Parser::Kramdown::HTML_BLOCK_START = T.let(T.unsafe(nil), Regexp)
2816
+
2817
+ # Mapping of markdown attribute value to content model. I.e. :raw when "0", :default when "1"
2818
+ # (use default content model for the HTML element), :span when "span", :block when block and
2819
+ # for everything else +nil+ is returned.
2820
+ #
2821
+ # source://kramdown//lib/kramdown/parser/kramdown/html.rb#21
2822
+ Kramdown::Parser::Kramdown::HTML_MARKDOWN_ATTR_MAP = T.let(T.unsafe(nil), Hash)
2823
+
2824
+ # source://kramdown//lib/kramdown/parser/kramdown/html.rb#99
2825
+ Kramdown::Parser::Kramdown::HTML_SPAN_START = T.let(T.unsafe(nil), Regexp)
2826
+
2827
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#157
2828
+ Kramdown::Parser::Kramdown::IAL_BLOCK = T.let(T.unsafe(nil), Regexp)
2829
+
2830
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#158
2831
+ Kramdown::Parser::Kramdown::IAL_BLOCK_START = T.let(T.unsafe(nil), Regexp)
2832
+
2833
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#14
2834
+ Kramdown::Parser::Kramdown::IAL_CLASS_ATTR = T.let(T.unsafe(nil), String)
2835
+
2836
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#188
2837
+ Kramdown::Parser::Kramdown::IAL_SPAN_START = T.let(T.unsafe(nil), Regexp)
2838
+
2839
+ # Regexp for matching indentation (one tab or four spaces)
2840
+ #
2841
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#344
2842
+ Kramdown::Parser::Kramdown::INDENT = T.let(T.unsafe(nil), Regexp)
2843
+
2844
+ # source://kramdown//lib/kramdown/parser/kramdown/math.rb#41
2845
+ Kramdown::Parser::Kramdown::INLINE_MATH_START = T.let(T.unsafe(nil), Regexp)
2846
+
2847
+ # source://kramdown//lib/kramdown/parser/kramdown/paragraph.rb#24
2848
+ Kramdown::Parser::Kramdown::LAZY_END = T.let(T.unsafe(nil), Regexp)
2849
+
2850
+ # source://kramdown//lib/kramdown/parser/kramdown/paragraph.rb#20
2851
+ Kramdown::Parser::Kramdown::LAZY_END_HTML_SPAN_ELEMENTS = T.let(T.unsafe(nil), Array)
2852
+
2853
+ # source://kramdown//lib/kramdown/parser/kramdown/paragraph.rb#21
2854
+ Kramdown::Parser::Kramdown::LAZY_END_HTML_START = T.let(T.unsafe(nil), Regexp)
2855
+
2856
+ # source://kramdown//lib/kramdown/parser/kramdown/paragraph.rb#22
2857
+ Kramdown::Parser::Kramdown::LAZY_END_HTML_STOP = T.let(T.unsafe(nil), Regexp)
2858
+
2859
+ # source://kramdown//lib/kramdown/parser/kramdown/line_break.rb#14
2860
+ Kramdown::Parser::Kramdown::LINE_BREAK = T.let(T.unsafe(nil), Regexp)
2861
+
2862
+ # source://kramdown//lib/kramdown/parser/kramdown/link.rb#53
2863
+ Kramdown::Parser::Kramdown::LINK_BRACKET_STOP_RE = T.let(T.unsafe(nil), Regexp)
2864
+
2865
+ # source://kramdown//lib/kramdown/parser/kramdown/link.rb#21
2866
+ Kramdown::Parser::Kramdown::LINK_DEFINITION_START = T.let(T.unsafe(nil), Regexp)
2867
+
2868
+ # source://kramdown//lib/kramdown/parser/kramdown/link.rb#55
2869
+ Kramdown::Parser::Kramdown::LINK_INLINE_ID_RE = T.let(T.unsafe(nil), Regexp)
2870
+
2871
+ # source://kramdown//lib/kramdown/parser/kramdown/link.rb#56
2872
+ Kramdown::Parser::Kramdown::LINK_INLINE_TITLE_RE = T.let(T.unsafe(nil), Regexp)
2873
+
2874
+ # source://kramdown//lib/kramdown/parser/kramdown/link.rb#54
2875
+ Kramdown::Parser::Kramdown::LINK_PAREN_STOP_RE = T.let(T.unsafe(nil), Regexp)
2876
+
2877
+ # source://kramdown//lib/kramdown/parser/kramdown/link.rb#57
2878
+ Kramdown::Parser::Kramdown::LINK_START = T.let(T.unsafe(nil), Regexp)
2879
+
2880
+ # source://kramdown//lib/kramdown/parser/kramdown/list.rb#19
2881
+ Kramdown::Parser::Kramdown::LIST_ITEM_IAL = T.let(T.unsafe(nil), Regexp)
2882
+
2883
+ # source://kramdown//lib/kramdown/parser/kramdown/list.rb#20
2884
+ Kramdown::Parser::Kramdown::LIST_ITEM_IAL_CHECK = T.let(T.unsafe(nil), Regexp)
2885
+
2886
+ # source://kramdown//lib/kramdown/parser/kramdown/list.rb#51
2887
+ Kramdown::Parser::Kramdown::LIST_START = T.let(T.unsafe(nil), Regexp)
2888
+
2889
+ # source://kramdown//lib/kramdown/parser/kramdown/list.rb#50
2890
+ Kramdown::Parser::Kramdown::LIST_START_OL = T.let(T.unsafe(nil), Regexp)
2891
+
2892
+ # source://kramdown//lib/kramdown/parser/kramdown/list.rb#49
2893
+ Kramdown::Parser::Kramdown::LIST_START_UL = T.let(T.unsafe(nil), Regexp)
2894
+
2895
+ # Regexp for matching the optional space (zero or up to three spaces)
2896
+ #
2897
+ # source://kramdown//lib/kramdown/parser/kramdown.rb#346
2898
+ Kramdown::Parser::Kramdown::OPT_SPACE = T.let(T.unsafe(nil), Regexp)
2899
+
2900
+ # source://kramdown//lib/kramdown/parser/kramdown/paragraph.rb#28
2901
+ Kramdown::Parser::Kramdown::PARAGRAPH_END = T.let(T.unsafe(nil), Regexp)
2902
+
2903
+ # source://kramdown//lib/kramdown/parser/kramdown/paragraph.rb#27
2904
+ Kramdown::Parser::Kramdown::PARAGRAPH_MATCH = T.let(T.unsafe(nil), Regexp)
2905
+
2906
+ # source://kramdown//lib/kramdown/parser/kramdown/paragraph.rb#26
2907
+ Kramdown::Parser::Kramdown::PARAGRAPH_START = T.let(T.unsafe(nil), Regexp)
2908
+
2909
+ # source://kramdown//lib/kramdown/parser/kramdown/list.rb#22
2910
+ Kramdown::Parser::Kramdown::PARSE_FIRST_LIST_LINE_REGEXP_CACHE = T.let(T.unsafe(nil), Hash)
2911
+
2912
+ # source://kramdown//lib/kramdown/parser/kramdown/list.rb#47
2913
+ Kramdown::Parser::Kramdown::PATTERN_TAIL = T.let(T.unsafe(nil), Regexp)
2914
+
2915
+ # source://kramdown//lib/kramdown/parser/kramdown/header.rb#17
2916
+ Kramdown::Parser::Kramdown::SETEXT_HEADER_START = T.let(T.unsafe(nil), Regexp)
2917
+
2918
+ # source://kramdown//lib/kramdown/parser/kramdown/smart_quotes.rb#155
2919
+ Kramdown::Parser::Kramdown::SMART_QUOTES_RE = T.let(T.unsafe(nil), Regexp)
2920
+
2921
+ # source://kramdown//lib/kramdown/parser/kramdown/extensions.rb#189
2922
+ Kramdown::Parser::Kramdown::SPAN_EXTENSIONS_START = T.let(T.unsafe(nil), Regexp)
2923
+
2924
+ # source://kramdown//lib/kramdown/parser/kramdown/smart_quotes.rb#122
2925
+ Kramdown::Parser::Kramdown::SQ_CLOSE = T.let(T.unsafe(nil), String)
2926
+
2927
+ # source://kramdown//lib/kramdown/parser/kramdown/smart_quotes.rb#121
2928
+ Kramdown::Parser::Kramdown::SQ_PUNCT = T.let(T.unsafe(nil), String)
2929
+
2930
+ # source://kramdown//lib/kramdown/parser/kramdown/smart_quotes.rb#124
2931
+ Kramdown::Parser::Kramdown::SQ_RULES = T.let(T.unsafe(nil), Array)
2932
+
2933
+ # '"
2934
+ #
2935
+ # source://kramdown//lib/kramdown/parser/kramdown/smart_quotes.rb#145
2936
+ Kramdown::Parser::Kramdown::SQ_SUBSTS = T.let(T.unsafe(nil), Hash)
2937
+
2938
+ # source://kramdown//lib/kramdown/parser/kramdown/table.rb#18
2939
+ Kramdown::Parser::Kramdown::TABLE_FSEP_LINE = T.let(T.unsafe(nil), Regexp)
2940
+
2941
+ # source://kramdown//lib/kramdown/parser/kramdown/table.rb#17
2942
+ Kramdown::Parser::Kramdown::TABLE_HSEP_ALIGN = T.let(T.unsafe(nil), Regexp)
2943
+
2944
+ # source://kramdown//lib/kramdown/parser/kramdown/table.rb#21
2945
+ Kramdown::Parser::Kramdown::TABLE_LINE = T.let(T.unsafe(nil), Regexp)
2946
+
2947
+ # source://kramdown//lib/kramdown/parser/kramdown/table.rb#20
2948
+ Kramdown::Parser::Kramdown::TABLE_PIPE_CHECK = T.let(T.unsafe(nil), Regexp)
2949
+
2950
+ # source://kramdown//lib/kramdown/parser/kramdown/table.rb#19
2951
+ Kramdown::Parser::Kramdown::TABLE_ROW_LINE = T.let(T.unsafe(nil), Regexp)
2952
+
2953
+ # source://kramdown//lib/kramdown/parser/kramdown/table.rb#16
2954
+ Kramdown::Parser::Kramdown::TABLE_SEP_LINE = T.let(T.unsafe(nil), Regexp)
2955
+
2956
+ # source://kramdown//lib/kramdown/parser/kramdown/table.rb#22
2957
+ Kramdown::Parser::Kramdown::TABLE_START = T.let(T.unsafe(nil), Regexp)
2958
+
2959
+ # source://kramdown//lib/kramdown/parser/kramdown/html.rb#23
2960
+ Kramdown::Parser::Kramdown::TRAILING_WHITESPACE = T.let(T.unsafe(nil), Regexp)
2961
+
2962
+ # source://kramdown//lib/kramdown/parser/kramdown/typographic_symbol.rb#14
2963
+ Kramdown::Parser::Kramdown::TYPOGRAPHIC_SYMS = T.let(T.unsafe(nil), Array)
2964
+
2965
+ # source://kramdown//lib/kramdown/parser/kramdown/typographic_symbol.rb#19
2966
+ Kramdown::Parser::Kramdown::TYPOGRAPHIC_SYMS_RE = T.let(T.unsafe(nil), Regexp)
2967
+
2968
+ # source://kramdown//lib/kramdown/parser/kramdown/typographic_symbol.rb#18
2969
+ Kramdown::Parser::Kramdown::TYPOGRAPHIC_SYMS_SUBST = T.let(T.unsafe(nil), Hash)
2970
+
2971
+ # Used for parsing a document in Markdown format.
2972
+ #
2973
+ # This parser is based on the kramdown parser and removes the parser methods for the additional
2974
+ # non-Markdown features. However, since some things are handled differently by the kramdown
2975
+ # parser methods (like deciding when a list item contains just text), this parser differs from
2976
+ # real Markdown parsers in some respects.
2977
+ #
2978
+ # Note, though, that the parser basically fails just one of the Markdown test cases (some others
2979
+ # also fail but those failures are negligible).
2980
+ #
2981
+ # source://kramdown//lib/kramdown/parser/markdown.rb#25
2982
+ class Kramdown::Parser::Markdown < ::Kramdown::Parser::Kramdown
2983
+ # @return [Markdown] a new instance of Markdown
2984
+ #
2985
+ # source://kramdown//lib/kramdown/parser/markdown.rb#32
2986
+ def initialize(source, options); end
2987
+ end
2988
+
2989
+ # :stopdoc:
2990
+ #
2991
+ # source://kramdown//lib/kramdown/parser/markdown.rb#40
2992
+ Kramdown::Parser::Markdown::BLOCK_BOUNDARY = T.let(T.unsafe(nil), Regexp)
2993
+
2994
+ # source://kramdown//lib/kramdown/parser/markdown.rb#43
2995
+ Kramdown::Parser::Markdown::CODEBLOCK_MATCH = T.let(T.unsafe(nil), Regexp)
2996
+
2997
+ # Array with all the parsing methods that should be removed from the standard kramdown parser.
2998
+ #
2999
+ # source://kramdown//lib/kramdown/parser/markdown.rb#28
3000
+ Kramdown::Parser::Markdown::EXTENDED = T.let(T.unsafe(nil), Array)
3001
+
3002
+ # source://kramdown//lib/kramdown/parser/markdown.rb#46
3003
+ Kramdown::Parser::Markdown::IAL_RAND_CHARS = T.let(T.unsafe(nil), Array)
3004
+
3005
+ # source://kramdown//lib/kramdown/parser/markdown.rb#47
3006
+ Kramdown::Parser::Markdown::IAL_RAND_STRING = T.let(T.unsafe(nil), String)
3007
+
3008
+ # source://kramdown//lib/kramdown/parser/markdown.rb#49
3009
+ Kramdown::Parser::Markdown::IAL_SPAN_START = T.let(T.unsafe(nil), Regexp)
3010
+
3011
+ # source://kramdown//lib/kramdown/parser/markdown.rb#41
3012
+ Kramdown::Parser::Markdown::LAZY_END = T.let(T.unsafe(nil), Regexp)
3013
+
3014
+ # source://kramdown//lib/kramdown/parser/markdown.rb#48
3015
+ Kramdown::Parser::Markdown::LIST_ITEM_IAL = T.let(T.unsafe(nil), Regexp)
3016
+
3017
+ # source://kramdown//lib/kramdown/parser/markdown.rb#44
3018
+ Kramdown::Parser::Markdown::PARAGRAPH_END = T.let(T.unsafe(nil), Regexp)
3019
+
3020
+ # == \Utils Module
3021
+ #
3022
+ # This module contains utility class/modules/methods that can be used by both parsers and
3023
+ # converters.
3024
+ #
3025
+ # source://kramdown//lib/kramdown/utils.rb#16
3026
+ module Kramdown::Utils
3027
+ class << self
3028
+ # Treat +name+ as if it were snake cased (e.g. snake_case) and camelize it (e.g. SnakeCase).
3029
+ #
3030
+ # source://kramdown//lib/kramdown/utils.rb#26
3031
+ def camelize(name); end
3032
+
3033
+ # source://kramdown//lib/kramdown/utils.rb#39
3034
+ def deep_const_get(str); end
3035
+
3036
+ # Treat +name+ as if it were camelized (e.g. CamelizedName) and snake-case it (e.g. camelized_name).
3037
+ #
3038
+ # source://kramdown//lib/kramdown/utils.rb#31
3039
+ def snake_case(name); end
3040
+ end
3041
+ end
3042
+
3043
+ # Methods for registering configurable extensions.
3044
+ #
3045
+ # source://kramdown//lib/kramdown/utils/configurable.rb#14
3046
+ module Kramdown::Utils::Configurable
3047
+ # Create a new configurable extension called +name+.
3048
+ #
3049
+ # Three methods will be defined on the calling object which allow to use this configurable
3050
+ # extension:
3051
+ #
3052
+ # configurables:: Returns a hash of hashes that is used to store all configurables of the
3053
+ # object.
3054
+ #
3055
+ # <name>(ext_name):: Return the configured extension +ext_name+.
3056
+ #
3057
+ # add_<name>(ext_name, data=nil, &block):: Define an extension +ext_name+ by specifying either
3058
+ # the data as argument or by using a block.
3059
+ #
3060
+ # source://kramdown//lib/kramdown/utils/configurable.rb#28
3061
+ def configurable(name); end
3062
+ end
3063
+
3064
+ # Provides convenience methods for handling named and numeric entities.
3065
+ #
3066
+ # source://kramdown//lib/kramdown/utils/entities.rb#15
3067
+ module Kramdown::Utils::Entities
3068
+ private
3069
+
3070
+ # Return the entity for the given code point or name +point_or_name+.
3071
+ #
3072
+ # source://kramdown//lib/kramdown/utils/entities.rb#334
3073
+ def entity(point_or_name); end
3074
+
3075
+ class << self
3076
+ # Return the entity for the given code point or name +point_or_name+.
3077
+ #
3078
+ # source://kramdown//lib/kramdown/utils/entities.rb#334
3079
+ def entity(point_or_name); end
3080
+ end
3081
+ end
3082
+
3083
+ # Contains the mapping of code point (or name) to the actual Entity object.
3084
+ #
3085
+ # source://kramdown//lib/kramdown/utils/entities.rb#317
3086
+ Kramdown::Utils::Entities::ENTITY_MAP = T.let(T.unsafe(nil), Hash)
3087
+
3088
+ # Array of arrays. Each sub-array specifies a code point and the associated name.
3089
+ #
3090
+ # This table is not used directly -- Entity objects are automatically created from it and put
3091
+ # into a Hash map when this file is loaded.
3092
+ #
3093
+ # source://kramdown//lib/kramdown/utils/entities.rb#29
3094
+ Kramdown::Utils::Entities::ENTITY_TABLE = T.let(T.unsafe(nil), Array)
3095
+
3096
+ # Represents an entity that has a +code_point+ and +name+.
3097
+ #
3098
+ # source://kramdown//lib/kramdown/utils/entities.rb#18
3099
+ class Kramdown::Utils::Entities::Entity < ::Struct
3100
+ # Return the UTF8 representation of the entity.
3101
+ #
3102
+ # source://kramdown//lib/kramdown/utils/entities.rb#20
3103
+ def char; end
3104
+
3105
+ # Returns the value of attribute code_point
3106
+ #
3107
+ # @return [Object] the current value of code_point
3108
+ def code_point; end
3109
+
3110
+ # Sets the attribute code_point
3111
+ #
3112
+ # @param value [Object] the value to set the attribute code_point to.
3113
+ # @return [Object] the newly set value
3114
+ def code_point=(_); end
3115
+
3116
+ # Returns the value of attribute name
3117
+ #
3118
+ # @return [Object] the current value of name
3119
+ def name; end
3120
+
3121
+ # Sets the attribute name
3122
+ #
3123
+ # @param value [Object] the value to set the attribute name to.
3124
+ # @return [Object] the newly set value
3125
+ def name=(_); end
3126
+
3127
+ class << self
3128
+ def [](*_arg0); end
3129
+ def inspect; end
3130
+ def keyword_init?; end
3131
+ def members; end
3132
+ def new(*_arg0); end
3133
+ end
3134
+ end
3135
+
3136
+ # Provides convenience methods for HTML related tasks.
3137
+ #
3138
+ # *Note* that this module has to be mixed into a class that has a @root (containing an element
3139
+ # of type :root) and an @options (containing an options hash) instance variable so that some of
3140
+ # the methods can work correctly.
3141
+ #
3142
+ # source://kramdown//lib/kramdown/utils/html.rb#21
3143
+ module Kramdown::Utils::Html
3144
+ # Convert the entity +e+ to a string. The optional parameter +original+ may contain the
3145
+ # original representation of the entity.
3146
+ #
3147
+ # This method uses the option +entity_output+ to determine the output form for the entity.
3148
+ #
3149
+ # source://kramdown//lib/kramdown/utils/html.rb#27
3150
+ def entity_to_str(e, original = T.unsafe(nil)); end
3151
+
3152
+ # Escape the special HTML characters in the string +str+. The parameter +type+ specifies what
3153
+ # is escaped: :all - all special HTML characters except the quotation mark as well as
3154
+ # entities, :text - all special HTML characters except the quotation mark but no entities and
3155
+ # :attribute - all special HTML characters including the quotation mark but no entities.
3156
+ #
3157
+ # source://kramdown//lib/kramdown/utils/html.rb#69
3158
+ def escape_html(str, type = T.unsafe(nil)); end
3159
+
3160
+ # source://kramdown//lib/kramdown/utils/html.rb#74
3161
+ def fix_cjk_line_break(str); end
3162
+
3163
+ # Return the HTML representation of the attributes +attr+.
3164
+ #
3165
+ # source://kramdown//lib/kramdown/utils/html.rb#44
3166
+ def html_attributes(attr); end
3167
+ end
3168
+
3169
+ # source://kramdown//lib/kramdown/utils/html.rb#59
3170
+ Kramdown::Utils::Html::ESCAPE_ALL_RE = T.let(T.unsafe(nil), Regexp)
3171
+
3172
+ # source://kramdown//lib/kramdown/utils/html.rb#61
3173
+ Kramdown::Utils::Html::ESCAPE_ATTRIBUTE_RE = T.let(T.unsafe(nil), Regexp)
3174
+
3175
+ # :stopdoc:
3176
+ #
3177
+ # source://kramdown//lib/kramdown/utils/html.rb#53
3178
+ Kramdown::Utils::Html::ESCAPE_MAP = T.let(T.unsafe(nil), Hash)
3179
+
3180
+ # source://kramdown//lib/kramdown/utils/html.rb#62
3181
+ Kramdown::Utils::Html::ESCAPE_RE_FROM_TYPE = T.let(T.unsafe(nil), Hash)
3182
+
3183
+ # source://kramdown//lib/kramdown/utils/html.rb#60
3184
+ Kramdown::Utils::Html::ESCAPE_TEXT_RE = T.let(T.unsafe(nil), Regexp)
3185
+
3186
+ # source://kramdown//lib/kramdown/utils/html.rb#73
3187
+ Kramdown::Utils::Html::REDUNDANT_LINE_BREAK_REGEX = T.let(T.unsafe(nil), Regexp)
3188
+
3189
+ # A simple least recently used (LRU) cache.
3190
+ #
3191
+ # The cache relies on the fact that Ruby's Hash class maintains insertion order. So deleting
3192
+ # and re-inserting a key-value pair on access moves the key to the last position. When an
3193
+ # entry is added and the cache is full, the first entry is removed.
3194
+ #
3195
+ # source://kramdown//lib/kramdown/utils/lru_cache.rb#18
3196
+ class Kramdown::Utils::LRUCache
3197
+ # Creates a new LRUCache that can hold +size+ entries.
3198
+ #
3199
+ # @return [LRUCache] a new instance of LRUCache
3200
+ #
3201
+ # source://kramdown//lib/kramdown/utils/lru_cache.rb#21
3202
+ def initialize(size); end
3203
+
3204
+ # Returns the stored value for +key+ or +nil+ if no value was stored under the key.
3205
+ #
3206
+ # source://kramdown//lib/kramdown/utils/lru_cache.rb#27
3207
+ def [](key); end
3208
+
3209
+ # Stores the +value+ under the +key+.
3210
+ #
3211
+ # source://kramdown//lib/kramdown/utils/lru_cache.rb#32
3212
+ def []=(key, value); end
3213
+ end
3214
+
3215
+ # This patched StringScanner adds line number information for current scan position and a
3216
+ # start_line_number override for nested StringScanners.
3217
+ #
3218
+ # source://kramdown//lib/kramdown/utils/string_scanner.rb#17
3219
+ class Kramdown::Utils::StringScanner < ::StringScanner
3220
+ # Takes the start line number as optional second argument.
3221
+ #
3222
+ # Note: The original second argument is no longer used so this should be safe.
3223
+ #
3224
+ # @return [StringScanner] a new instance of StringScanner
3225
+ #
3226
+ # source://kramdown//lib/kramdown/utils/string_scanner.rb#26
3227
+ def initialize(string, start_line_number = T.unsafe(nil)); end
3228
+
3229
+ # Returns the line number for current charpos.
3230
+ #
3231
+ # NOTE: Requires that all line endings are normalized to '\n'
3232
+ #
3233
+ # NOTE: Normally we'd have to add one to the count of newlines to get the correct line number.
3234
+ # However we add the one indirectly by using a one-based start_line_number.
3235
+ #
3236
+ # source://kramdown//lib/kramdown/utils/string_scanner.rb#67
3237
+ def current_line_number; end
3238
+
3239
+ # Sets the byte position of the scan pointer.
3240
+ #
3241
+ # Note: This also resets some internal variables, so always use pos= when setting the position
3242
+ # and don't use any other method for that!
3243
+ #
3244
+ # source://kramdown//lib/kramdown/utils/string_scanner.rb#37
3245
+ def pos=(pos); end
3246
+
3247
+ # Revert the position to one saved by #save_pos.
3248
+ #
3249
+ # source://kramdown//lib/kramdown/utils/string_scanner.rb#56
3250
+ def revert_pos(data); end
3251
+
3252
+ # Return information needed to revert the byte position of the string scanner in a performant
3253
+ # way.
3254
+ #
3255
+ # The returned data can be fed to #revert_pos to revert the position to the saved one.
3256
+ #
3257
+ # Note: Just saving #pos won't be enough.
3258
+ #
3259
+ # source://kramdown//lib/kramdown/utils/string_scanner.rb#51
3260
+ def save_pos; end
3261
+
3262
+ # The start line number. Used for nested StringScanners that scan a sub-string of the source
3263
+ # document. The kramdown parser uses this, e.g., for span level parsers.
3264
+ #
3265
+ # source://kramdown//lib/kramdown/utils/string_scanner.rb#21
3266
+ def start_line_number; end
3267
+ end
3268
+
3269
+ # The kramdown version.
3270
+ #
3271
+ # source://kramdown//lib/kramdown/version.rb#13
3272
+ Kramdown::VERSION = T.let(T.unsafe(nil), String)