ZMediumToMarkdown 1.9.0 → 1.9.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: bc5867264a6441b236d54340f34e507ef4308f99b6908f21fd975a9061c81483
4
- data.tar.gz: 00d61d0b23a23afe0e445f5a6d98533dd41a02cc41e6ea55168a12620860203f
3
+ metadata.gz: f15b01478e2f941c658c49359b921f152df549fc32778b8305ccd65f05578fbe
4
+ data.tar.gz: 5707c63e3c917c8598a009b9a49952bb10f50281e085ec75f2c664e2fd6d5bb2
5
5
  SHA512:
6
- metadata.gz: 23e6f4244d5c291872bcfcedfe961b30e377638e812dade41a9ade68c9e83d66dfe7e1061e2131d106b2605f61014cacc632e4a6984c09b1089e458d0d88cfda
7
- data.tar.gz: b5577f2dd3cec3ce63f15e531b0b9a0574ff74fef8981d21d32badac236a562d1a4ad3cf14757aee8073da9877119b7f3fe64b5ef4a37abf94cbcbcdc1f409f1
6
+ metadata.gz: 1db021ec2a782ea9da912b18b78ec99295813ddc1aa64555f7026eddaf43bc42823cbc287486f2bc8ca03ccbc05022e7aa1085abdb0ae2a9af1b026661412c3f
7
+ data.tar.gz: bf7bb9132809a5361a7911667cc889adf239d9322ad1fb9e8df0a325b49875fc358530d80be43450d5dccef2c5032512f37b8b81f208544c40bbc244ab5c841e
@@ -19,12 +19,12 @@ class MarkupParser
19
19
  if !paragraph.markups.nil? && paragraph.markups.length > 0
20
20
  markupRender = MarkupStyleRender.new(paragraph, isForJekyll)
21
21
 
22
- begin
22
+ #begin
23
23
  result = markupRender.parse()
24
- rescue => e
25
- puts e.backtrace
26
- Helper.makeWarningText("Error occurred during render markup text, please help to open an issue on github.")
27
- end
24
+ #rescue => e
25
+ # puts e.backtrace
26
+ # Helper.makeWarningText("Error occurred during render markup text, please help to open an issue on github.")
27
+ #end
28
28
  end
29
29
 
30
30
  result
@@ -16,14 +16,13 @@ class MarkupStyleRender
16
16
  end
17
17
 
18
18
  class TagChar < TextChar
19
- attr_accessor :sort, :startIndex, :endIndex, :startChars, :endChars, :isCodeBlock
20
- def initialize(sort, startIndex, endIndex, startChars, endChars, isCodeBlock = false)
19
+ attr_accessor :sort, :startIndex, :endIndex, :startChars, :endChars
20
+ def initialize(sort, startIndex, endIndex, startChars, endChars)
21
21
  @sort = sort
22
22
  @startIndex = startIndex
23
23
  @endIndex = endIndex - 1
24
24
  @startChars = TextChar.new(startChars.chars, 'TagStart')
25
25
  @endChars = TextChar.new(endChars.chars, 'TagEnd')
26
- @isCodeBlock = isCodeBlock
27
26
  end
28
27
  end
29
28
 
@@ -127,6 +126,37 @@ class MarkupStyleRender
127
126
  end
128
127
  end
129
128
 
129
+ # remove style in codeblock e.g. `hello world **bold**` (markdown not allow style in codeblock)
130
+
131
+ while true
132
+
133
+ hasExcute = false
134
+ inCodeBlock = false
135
+ index = 0
136
+
137
+ chars.each do |char|
138
+ if char.chars.join() == "`"
139
+ if char.type == "TagStart"
140
+ inCodeBlock = true
141
+ elsif char.type == "TagEnd"
142
+ inCodeBlock = false
143
+ end
144
+ elsif inCodeBlock
145
+ if char.type == "TagStart" or char.type == "TagEnd"
146
+ chars.delete_at(index)
147
+ hasExcute = true
148
+ break
149
+ end
150
+ end
151
+
152
+ index += 1
153
+ end
154
+
155
+ if !hasExcute
156
+ break
157
+ end
158
+ end
159
+
130
160
  chars
131
161
  end
132
162
 
@@ -141,7 +171,7 @@ class MarkupStyleRender
141
171
  if markup.type == "EM"
142
172
  tag = TagChar.new(2, markup.start, markup.end, "_", "_")
143
173
  elsif markup.type == "CODE"
144
- tag = TagChar.new(3, markup.start, markup.end, "`", "`", true)
174
+ tag = TagChar.new(3, markup.start, markup.end, "`", "`")
145
175
  elsif markup.type == "STRONG"
146
176
  tag = TagChar.new(2, markup.start, markup.end, "**", "**")
147
177
  elsif markup.type == "A"
@@ -167,9 +197,6 @@ class MarkupStyleRender
167
197
  response = []
168
198
  stack = []
169
199
 
170
- # markdown unsupoort style in code block
171
- inCodeBlock = false
172
-
173
200
  chars.each do |index, char|
174
201
 
175
202
  if char.chars.join() == "\n"
@@ -189,18 +216,13 @@ class MarkupStyleRender
189
216
  startTags = tags.select { |tag| tag.startIndex == index }.sort_by(&:sort)
190
217
  if !startTags.nil?
191
218
  startTags.each do |tag|
192
- if inCodeBlock == false
193
- response.append(tag.startChars)
194
- stack.append(tag)
195
- end
196
- if tag.isCodeBlock
197
- inCodeBlock = true
198
- end
219
+ response.append(tag.startChars)
220
+ stack.append(tag)
199
221
  end
200
222
  end
201
223
 
202
224
  if char.chars.join() != "\n"
203
- if inCodeBlock
225
+ if !stack.select { |tag| tag.startChars.chars.join() == "`" }.nil?
204
226
  # is in code block
205
227
  response.append(char)
206
228
  else
@@ -223,17 +245,9 @@ class MarkupStyleRender
223
245
  # as expected
224
246
  endTags.delete_at(stackTagInEndTagsIndex)
225
247
  else
226
- if inCodeBlock == false or stackTag.isCodeBlock == true
227
- mismatchTags.append(stackTag)
228
- end
229
- end
230
- if inCodeBlock == false or stackTag.isCodeBlock == true
231
- response.append(stackTag.endChars)
232
- end
233
-
234
- if stackTag.isCodeBlock
235
- inCodeBlock = false
248
+ mismatchTags.append(stackTag)
236
249
  end
250
+ response.append(stackTag.endChars)
237
251
  end
238
252
 
239
253
  while mismatchTags.length > 0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ZMediumToMarkdown
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
4
+ version: 1.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - ZhgChgLi