qiita-markdown 0.44.0 → 0.44.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bb18cd9f37329069980cc0322cff454cb1dcbd57ad3fe6836f40b3d8e968e304
4
- data.tar.gz: ad7d5e7d89eeb283616d04e2fbdc8a1bb2b090897bf1538f6033d061cbe8d958
3
+ metadata.gz: 15a4f04515ad1a13dca22d1cdb61272ddb7fca2066dbc5bc82b7ccfa3db06b74
4
+ data.tar.gz: 4fd57bd43763ee38486898592e63ddd2c945f54450557c08a4d66ea95b2a00ee
5
5
  SHA512:
6
- metadata.gz: 4f38820e6f6eafd5135f7d6788e9b0f31ff45b42e85afc0ffb14213e263bb951250f734b1473cf1ffbcc21a5b22d823aed16235ab06bf2f218c39ff9aa59a42f
7
- data.tar.gz: 0f4b493d2cb3c06de1c2a7d68455f39a9e496d2ae95ed6ff845b8caf3367128ae0ca863a937b44ddb87147573b261178bd6573c4c6042de14a19c7c56d3e5ca1
6
+ metadata.gz: e648c8b60f7457028a3aaa89c891815fa5b283f553a02c1f6e516d658de480b2626508039fc41247a86b3d8ea931366a108f6bd8a119983906622596a5cb129b
7
+ data.tar.gz: 9f291ae053a36028df40a665d83a7e3acf1a82d5496c2cb1ead5a54e9369b71d2a43276d7ac5ccd6449e5e52bd9b29df13e3da1371d9531da53ba042c2d66ad4
data/.rubocop_todo.yml CHANGED
@@ -1,27 +1,11 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config --exclude-limit 99999`
3
- # on 2022-04-15 03:12:24 UTC using RuboCop version 1.27.0.
3
+ # on 2022-11-14 07:37:46 UTC using RuboCop version 1.39.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
- # Offense count: 3
10
- # This cop supports safe auto-correction (--auto-correct).
11
- # Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation, Include.
12
- # Include: **/*.gemspec
13
- Gemspec/OrderedDependencies:
14
- Exclude:
15
- - 'qiita-markdown.gemspec'
16
-
17
- # Offense count: 1
18
- # This cop supports safe auto-correction (--auto-correct).
19
- # Configuration parameters: Include.
20
- # Include: **/*.gemspec
21
- Gemspec/RequireMFA:
22
- Exclude:
23
- - 'qiita-markdown.gemspec'
24
-
25
9
  # Offense count: 1
26
10
  # Configuration parameters: Include.
27
11
  # Include: **/*.gemspec
@@ -29,66 +13,16 @@ Gemspec/RequiredRubyVersion:
29
13
  Exclude:
30
14
  - 'qiita-markdown.gemspec'
31
15
 
32
- # Offense count: 1
33
- # This cop supports safe auto-correction (--auto-correct).
34
- Layout/ClosingHeredocIndentation:
35
- Exclude:
36
- - 'spec/qiita/markdown/processor_spec.rb'
37
-
38
- # Offense count: 9
39
- # This cop supports safe auto-correction (--auto-correct).
40
- Layout/EmptyLineAfterGuardClause:
41
- Exclude:
42
- - 'lib/qiita/markdown/filters/custom_block.rb'
43
- - 'lib/qiita/markdown/filters/external_link.rb'
44
- - 'lib/qiita/markdown/filters/footnote.rb'
45
- - 'lib/qiita/markdown/filters/mention.rb'
46
- - 'lib/qiita/markdown/filters/simplify.rb'
47
- - 'lib/qiita/markdown/transformers/filter_attributes.rb'
48
-
49
- # Offense count: 22
50
- # This cop supports safe auto-correction (--auto-correct).
51
- # Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
52
- # SupportedHashRocketStyles: key, separator, table
53
- # SupportedColonStyles: key, separator, table
54
- # SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
55
- Layout/HashAlignment:
56
- Exclude:
57
- - 'lib/qiita/markdown/filters/user_input_sanitizer.rb'
58
-
59
- # Offense count: 1
60
- # This cop supports safe auto-correction (--auto-correct).
61
- # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets.
62
- # SupportedStyles: space, no_space, compact
63
- # SupportedStylesForEmptyBrackets: space, no_space
64
- Layout/SpaceInsideArrayLiteralBrackets:
65
- Exclude:
66
- - 'lib/qiita/markdown/transformers/filter_iframe.rb'
67
-
68
- # Offense count: 2
69
- # This cop supports safe auto-correction (--auto-correct).
70
- Lint/AmbiguousOperatorPrecedence:
71
- Exclude:
72
- - 'lib/qiita/markdown/filters/mention.rb'
73
-
74
16
  # Offense count: 5
75
- # Configuration parameters: IgnoredMethods, CountRepeatedAttributes.
17
+ # Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods, CountRepeatedAttributes.
76
18
  Metrics/AbcSize:
77
19
  Max: 22
78
20
 
79
- # Offense count: 10
80
- # Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
21
+ # Offense count: 9
22
+ # Configuration parameters: CountComments, CountAsOne, ExcludedMethods, AllowedMethods, AllowedPatterns, IgnoredMethods.
81
23
  Metrics/MethodLength:
82
24
  Max: 20
83
25
 
84
- # Offense count: 2
85
- # This cop supports safe auto-correction (--auto-correct).
86
- # Configuration parameters: EnforcedStyle, BlockForwardingName.
87
- # SupportedStyles: anonymous, explicit
88
- Naming/BlockForwarding:
89
- Exclude:
90
- - 'lib/qiita/markdown/filters/truncate.rb'
91
-
92
26
  # Offense count: 1
93
27
  Naming/ConstantName:
94
28
  Exclude:
@@ -121,27 +55,13 @@ Naming/MemoizedInstanceVariableName:
121
55
 
122
56
  # Offense count: 1
123
57
  # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
124
- # AllowedNames: at, by, db, id, in, io, ip, of, on, os, pp, to
58
+ # AllowedNames: as, at, by, db, id, if, in, io, ip, of, on, os, pp, to
125
59
  Naming/MethodParameterName:
126
60
  Exclude:
127
61
  - 'lib/qiita/markdown/filters/footnote.rb'
128
62
 
129
- # Offense count: 3
130
- # This cop supports safe auto-correction (--auto-correct).
131
- # Configuration parameters: EnforcedStyle.
132
- # SupportedStyles: percent_q, bare_percent
133
- Style/BarePercentLiterals:
134
- Exclude:
135
- - 'lib/qiita/markdown/filters/syntax_highlight.rb'
136
-
137
- # Offense count: 1
138
- # This cop supports safe auto-correction (--auto-correct).
139
- Style/ExpandPathArguments:
140
- Exclude:
141
- - 'qiita-markdown.gemspec'
142
-
143
63
  # Offense count: 47
144
- # This cop supports safe auto-correction (--auto-correct).
64
+ # This cop supports unsafe autocorrection (--autocorrect-all).
145
65
  # Configuration parameters: EnforcedStyle.
146
66
  # SupportedStyles: always, always_true, never
147
67
  Style/FrozenStringLiteralComment:
@@ -194,51 +114,26 @@ Style/FrozenStringLiteralComment:
194
114
  - 'spec/qiita/markdown/summary_processor_spec.rb'
195
115
  - 'spec/spec_helper.rb'
196
116
 
197
- # Offense count: 6
198
- # This cop supports safe auto-correction (--auto-correct).
199
- # Configuration parameters: EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
200
- # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
201
- # SupportedShorthandSyntax: always, never, either
202
- Style/HashSyntax:
203
- EnforcedStyle: ruby19
204
- EnforcedShorthandSyntax: never
205
-
206
- # Offense count: 2
207
- # This cop supports safe auto-correction (--auto-correct).
208
- Style/IfUnlessModifier:
209
- Exclude:
210
- - 'lib/qiita/markdown/filters/truncate.rb'
211
- - 'lib/qiita/markdown/transformers/strip_invalid_node.rb'
212
-
213
117
  # Offense count: 17
214
- # This cop supports safe auto-correction (--auto-correct).
118
+ # This cop supports unsafe autocorrection (--autocorrect-all).
215
119
  # Configuration parameters: EnforcedStyle.
216
120
  # SupportedStyles: literals, strict
217
121
  Style/MutableConstant:
218
122
  Exclude:
219
123
  - 'lib/qiita/markdown/embed/code_pen.rb'
220
- - 'lib/qiita/markdown/filters/group_mention.rb'
221
- - 'lib/qiita/markdown/filters/inline_code_color.rb'
222
- - 'lib/qiita/markdown/filters/mention.rb'
223
124
  - 'lib/qiita/markdown/embed/tweet.rb'
224
125
  - 'lib/qiita/markdown/filters/checkbox.rb'
225
126
  - 'lib/qiita/markdown/filters/code_block.rb'
127
+ - 'lib/qiita/markdown/filters/group_mention.rb'
128
+ - 'lib/qiita/markdown/filters/inline_code_color.rb'
129
+ - 'lib/qiita/markdown/filters/mention.rb'
226
130
  - 'lib/qiita/markdown/filters/simplify.rb'
227
131
  - 'lib/qiita/markdown/filters/syntax_highlight.rb'
228
132
  - 'lib/qiita/markdown/version.rb'
229
133
 
230
- # Offense count: 2
231
- # This cop supports safe auto-correction (--auto-correct).
232
- # Configuration parameters: EnforcedStyle, MinBodyLength.
233
- # SupportedStyles: skip_modifier_ifs, always
234
- Style/Next:
235
- Exclude:
236
- - 'lib/qiita/markdown/filters/code_block.rb'
237
- - 'lib/qiita/markdown/filters/image_link.rb'
238
-
239
134
  # Offense count: 5
240
- # This cop supports unsafe auto-correction (--auto-correct-all).
241
- # Configuration parameters: EnforcedStyle, IgnoredMethods.
135
+ # This cop supports unsafe autocorrection (--autocorrect-all).
136
+ # Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns, IgnoredMethods.
242
137
  # SupportedStyles: predicate, comparison
243
138
  Style/NumericPredicate:
244
139
  Exclude:
@@ -255,98 +150,17 @@ Style/OptionalBooleanParameter:
255
150
  - 'lib/qiita/markdown/greenmat/heading_rendering.rb'
256
151
 
257
152
  # Offense count: 1
258
- # This cop supports safe auto-correction (--auto-correct).
259
- Style/OrAssignment:
260
- Exclude:
261
- - 'lib/qiita/markdown/greenmat/html_toc_renderer.rb'
262
-
263
- # Offense count: 9
264
- # This cop supports safe auto-correction (--auto-correct).
265
- # Configuration parameters: PreferredDelimiters.
266
- Style/PercentLiteralDelimiters:
267
- Exclude:
268
- - 'benchmark/heading_anchor_rendering.rb'
269
- - 'lib/qiita/markdown/filters/mention.rb'
270
- - 'lib/qiita/markdown/filters/syntax_highlight.rb'
271
- - 'spec/qiita/markdown/processor_spec.rb'
272
- - 'spec/qiita/markdown/summary_processor_spec.rb'
273
-
274
- # Offense count: 1
275
- # This cop supports safe auto-correction (--auto-correct).
276
- Style/PerlBackrefs:
277
- Exclude:
278
- - 'lib/qiita/markdown/filters/mention.rb'
279
-
280
- # Offense count: 1
281
- # This cop supports unsafe auto-correction (--auto-correct-all).
153
+ # This cop supports unsafe autocorrection (--autocorrect-all).
282
154
  # Configuration parameters: Methods.
283
155
  Style/RedundantArgument:
284
156
  Exclude:
285
157
  - 'lib/qiita/markdown/filters/custom_block.rb'
286
158
 
287
- # Offense count: 1
288
- # This cop supports safe auto-correction (--auto-correct).
289
- Style/RedundantRegexpCharacterClass:
290
- Exclude:
291
- - 'lib/qiita/markdown/filters/mention.rb'
292
-
293
- # Offense count: 9
294
- # This cop supports safe auto-correction (--auto-correct).
295
- Style/RedundantRegexpEscape:
296
- Exclude:
297
- - 'lib/qiita/markdown/filters/group_mention.rb'
298
- - 'lib/qiita/markdown/filters/inline_code_color.rb'
299
-
300
- # Offense count: 4
301
- # This cop supports safe auto-correction (--auto-correct).
302
- # Configuration parameters: EnforcedStyle, AllowInnerSlashes.
303
- # SupportedStyles: slashes, percent_r, mixed
304
- Style/RegexpLiteral:
305
- Exclude:
306
- - 'lib/qiita/markdown/filters/inline_code_color.rb'
307
- - 'lib/qiita/markdown/filters/mention.rb'
308
-
309
- # Offense count: 1
310
- # This cop supports safe auto-correction (--auto-correct).
311
- # Configuration parameters: EnforcedStyle.
312
- # SupportedStyles: implicit, explicit
313
- Style/RescueStandardError:
314
- Exclude:
315
- - 'lib/qiita/markdown/filters/syntax_highlight.rb'
316
-
317
159
  # Offense count: 2
318
- # This cop supports safe auto-correction (--auto-correct).
160
+ # This cop supports unsafe autocorrection (--autocorrect-all).
319
161
  # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength.
320
162
  # AllowedMethods: present?, blank?, presence, try, try!
321
163
  Style/SafeNavigation:
322
164
  Exclude:
323
165
  - 'lib/qiita/markdown/filters/custom_block.rb'
324
166
  - 'lib/qiita/markdown/filters/toc.rb'
325
-
326
- # Offense count: 3
327
- # This cop supports safe auto-correction (--auto-correct).
328
- # Configuration parameters: EnforcedStyle.
329
- # SupportedStyles: only_raise, only_fail, semantic
330
- Style/SignalException:
331
- Exclude:
332
- - 'lib/qiita/markdown/greenmat/heading_rendering.rb'
333
- - 'spec/qiita/markdown/summary_processor_spec.rb'
334
-
335
- # Offense count: 13
336
- # This cop supports safe auto-correction (--auto-correct).
337
- # Configuration parameters: EnforcedStyleForMultiline.
338
- # SupportedStylesForMultiline: comma, consistent_comma, no_comma
339
- Style/TrailingCommaInArguments:
340
- Exclude:
341
- - 'lib/qiita/markdown/filters/mention.rb'
342
- - 'spec/qiita/markdown/processor_spec.rb'
343
-
344
- # Offense count: 12
345
- # This cop supports safe auto-correction (--auto-correct).
346
- # Configuration parameters: EnforcedStyle, MinSize, WordRegex.
347
- # SupportedStyles: percent, brackets
348
- Style/WordArray:
349
- Exclude:
350
- - 'lib/qiita/markdown/filters/final_sanitizer.rb'
351
- - 'lib/qiita/markdown/transformers/filter_script.rb'
352
- - 'spec/qiita/markdown/processor_spec.rb'
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ## Unreleased
2
2
 
3
+ ## 0.44.1
4
+
5
+ - Rename package name from `Qiita::Markdown` to `Qiita Markdown` in README
6
+ - Bump rubocop from 1.27.0 to 1.39.0 and apply rubocop auto correct
7
+
3
8
  ## 0.44.0
4
9
 
5
10
  - Support Figma embedding scripts
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Qiita::Markdown
1
+ # Qiita Markdown
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/qiita-markdown.svg)](https://badge.fury.io/rb/qiita-markdown)
4
4
  [![Build Status](https://travis-ci.org/increments/qiita-markdown.svg)](https://travis-ci.org/increments/qiita-markdown)
@@ -42,7 +42,7 @@ processor.call(markdown)
42
42
 
43
43
  ### Filters
44
44
 
45
- Qiita::Markdown is built on [jch/html-pipeline](https://github.com/jch/html-pipeline).
45
+ Qiita Markdown is built on [jch/html-pipeline](https://github.com/jch/html-pipeline).
46
46
  Add your favorite html-pipeline-compatible filters.
47
47
 
48
48
  ```ruby
@@ -61,7 +61,7 @@ module PostProcess
61
61
  end
62
62
 
63
63
  def anchor_element
64
- %[<span id="#{suffixed_id}" class="fragment"></span><a href="##{suffixed_id}"><i class="fa fa-link"></i></a>]
64
+ %(<span id="#{suffixed_id}" class="fragment"></span><a href="##{suffixed_id}"><i class="fa fa-link"></i></a>)
65
65
  end
66
66
 
67
67
  def content
@@ -16,19 +16,19 @@ module Qiita
16
16
  def call
17
17
  result[:codes] ||= []
18
18
  doc.search("pre").each do |pre|
19
- if (code = pre.at("code"))
20
- metadata = Metadata.new(code["data-metadata"])
21
- filename = metadata.filename
22
- language = metadata.language
23
- language = language_aliases[language] || language
24
- pre["filename"] = filename if filename
25
- pre["lang"] = language if language
26
- result[:codes] << {
27
- code: pre.text,
28
- filename: filename,
29
- language: language,
30
- }
31
- end
19
+ next unless (code = pre.at("code"))
20
+
21
+ metadata = Metadata.new(code["data-metadata"])
22
+ filename = metadata.filename
23
+ language = metadata.language
24
+ language = language_aliases[language] || language
25
+ pre["filename"] = filename if filename
26
+ pre["lang"] = language if language
27
+ result[:codes] << {
28
+ code: pre.text,
29
+ filename: filename,
30
+ language: language,
31
+ }
32
32
  end
33
33
  doc
34
34
  end
@@ -8,6 +8,7 @@ module Qiita
8
8
  doc.search('div[data-type="customblock"]').each do |div|
9
9
  metadata = Metadata.new(div["data-metadata"])
10
10
  next unless ALLOWED_TYPES.include?(metadata.type)
11
+
11
12
  klass = Object.const_get("#{self.class}::#{metadata.type.capitalize}")
12
13
  klass.new(div, metadata.subtype).convert
13
14
  end
@@ -7,9 +7,11 @@ module Qiita
7
7
  def call
8
8
  doc.search("a").each do |anchor|
9
9
  next unless anchor["href"]
10
+
10
11
  href = anchor["href"].strip
11
12
  href_host = host_of(href)
12
13
  next unless href_host
14
+
13
15
  if href_host != hostname
14
16
  anchor["rel"] = "nofollow noopener"
15
17
  anchor["target"] = "_blank"
@@ -12,41 +12,41 @@ module Qiita
12
12
  class FinalSanitizer < HTML::Pipeline::Filter
13
13
  RULE = {
14
14
  attributes: {
15
- "a" => [
16
- "data-hovercard-target-name",
17
- "data-hovercard-target-type",
18
- "href",
19
- "rel",
15
+ "a" => %w[
16
+ data-hovercard-target-name
17
+ data-hovercard-target-type
18
+ href
19
+ rel
20
20
  ],
21
21
  "blockquote" => Embed::Tweet::ATTRIBUTES,
22
- "iframe" => [
23
- "allowfullscreen",
24
- "frameborder",
25
- "height",
26
- "marginheight",
27
- "marginwidth",
28
- "scrolling",
29
- "src",
30
- "style",
31
- "width",
22
+ "iframe" => %w[
23
+ allowfullscreen
24
+ frameborder
25
+ height
26
+ marginheight
27
+ marginwidth
28
+ scrolling
29
+ src
30
+ style
31
+ width
32
32
  ],
33
33
  "img" => [
34
34
  "src",
35
35
  ],
36
- "input" => [
37
- "checked",
38
- "disabled",
39
- "type",
36
+ "input" => %w[
37
+ checked
38
+ disabled
39
+ type
40
40
  ],
41
- "div" => [
42
- "itemscope",
43
- "itemtype",
41
+ "div" => %w[
42
+ itemscope
43
+ itemtype
44
44
  ],
45
45
  "p" => Embed::CodePen::ATTRIBUTES,
46
- "script" => [
47
- "async",
48
- "src",
49
- "type",
46
+ "script" => %w[
47
+ async
48
+ src
49
+ type
50
50
  ].concat(
51
51
  Embed::SpeekerDeck::ATTRIBUTES,
52
52
  Embed::Docswell::ATTRIBUTES,
@@ -60,104 +60,104 @@ module Qiita
60
60
  "th" => [
61
61
  "style",
62
62
  ],
63
- "video" => [
64
- "src",
65
- "autoplay",
66
- "controls",
67
- "loop",
68
- "muted",
69
- "poster",
63
+ "video" => %w[
64
+ src
65
+ autoplay
66
+ controls
67
+ loop
68
+ muted
69
+ poster
70
70
  ],
71
- all: [
72
- "abbr",
73
- "align",
74
- "alt",
75
- "border",
76
- "cellpadding",
77
- "cellspacing",
78
- "cite",
79
- "class",
80
- "color",
81
- "cols",
82
- "colspan",
83
- "data-lang",
84
- "datetime",
85
- "height",
86
- "hreflang",
87
- "id",
88
- "itemprop",
89
- "lang",
90
- "name",
91
- "rowspan",
92
- "tabindex",
93
- "target",
94
- "title",
95
- "width",
71
+ all: %w[
72
+ abbr
73
+ align
74
+ alt
75
+ border
76
+ cellpadding
77
+ cellspacing
78
+ cite
79
+ class
80
+ color
81
+ cols
82
+ colspan
83
+ data-lang
84
+ datetime
85
+ height
86
+ hreflang
87
+ id
88
+ itemprop
89
+ lang
90
+ name
91
+ rowspan
92
+ tabindex
93
+ target
94
+ title
95
+ width
96
96
  ],
97
97
  },
98
98
  css: {
99
- properties: [
100
- "background-color",
101
- "border",
102
- "text-align",
99
+ properties: %w[
100
+ background-color
101
+ border
102
+ text-align
103
103
  ],
104
104
  },
105
- elements: [
106
- "a",
107
- "b",
108
- "blockquote",
109
- "br",
110
- "code",
111
- "dd",
112
- "del",
113
- "details",
114
- "div",
115
- "dl",
116
- "dt",
117
- "em",
118
- "font",
119
- "h1",
120
- "h2",
121
- "h3",
122
- "h4",
123
- "h5",
124
- "h6",
125
- "h7",
126
- "h8",
127
- "hr",
128
- "i",
129
- "img",
130
- "input",
131
- "ins",
132
- "kbd",
133
- "li",
134
- "ol",
135
- "p",
136
- "pre",
137
- "q",
138
- "rp",
139
- "rt",
140
- "ruby",
141
- "s",
142
- "samp",
143
- "script",
144
- "iframe",
145
- "span",
146
- "strike",
147
- "strong",
148
- "sub",
149
- "summary",
150
- "sup",
151
- "table",
152
- "tbody",
153
- "td",
154
- "tfoot",
155
- "th",
156
- "thead",
157
- "tr",
158
- "tt",
159
- "ul",
160
- "var",
105
+ elements: %w[
106
+ a
107
+ b
108
+ blockquote
109
+ br
110
+ code
111
+ dd
112
+ del
113
+ details
114
+ div
115
+ dl
116
+ dt
117
+ em
118
+ font
119
+ h1
120
+ h2
121
+ h3
122
+ h4
123
+ h5
124
+ h6
125
+ h7
126
+ h8
127
+ hr
128
+ i
129
+ img
130
+ input
131
+ ins
132
+ kbd
133
+ li
134
+ ol
135
+ p
136
+ pre
137
+ q
138
+ rp
139
+ rt
140
+ ruby
141
+ s
142
+ samp
143
+ script
144
+ iframe
145
+ span
146
+ strike
147
+ strong
148
+ sub
149
+ summary
150
+ sup
151
+ table
152
+ tbody
153
+ td
154
+ tfoot
155
+ th
156
+ thead
157
+ tr
158
+ tt
159
+ ul
160
+ var
161
161
  ],
162
162
  protocols: {
163
163
  "a" => {
@@ -6,6 +6,7 @@ module Qiita
6
6
  doc.search("sup > a").each do |a|
7
7
  footnote = find_footnote(a)
8
8
  next unless footnote
9
+
9
10
  a[:title] = footnote.text.gsub(/\A\n/, "").gsub(/ ↩\n\z/, "")
10
11
  end
11
12
  doc
@@ -16,6 +17,7 @@ module Qiita
16
17
  def find_footnote(a)
17
18
  href = a["href"]
18
19
  return nil if !href || href.match(/\A#fn\d+\z/).nil?
20
+
19
21
  doc.search(href).first
20
22
  end
21
23
  end