ZMediumToMarkdown 1.9.2 → 1.9.3

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: 1d7cb2d26657c6eaa7fe4bf2bb81d5800ccce3d8403dd2324127d0468da52a84
4
- data.tar.gz: 93c138a38d80cb1e141fa73840fe31e91cce89b05616ebc7867a5e59c6be62f9
3
+ metadata.gz: 7f0fc52b06f84a2ed70165d88f47432ec7e7eb3a139f3adb91ce1405b5cf69bc
4
+ data.tar.gz: c57e9ba90accc6f4654176a67851d1eae97e87109e66cf14862f7b3c84f636a3
5
5
  SHA512:
6
- metadata.gz: d5d434403f7c4342f7f74c9a50b82d35767e0c4b9a13f92689e042eceaf432878b76781abc2f5986601eddf9916ca663eb42181be852743950b91b96c7fcaf00
7
- data.tar.gz: b4a525b9cc5f482272b601c06cecfe641cc8c7f93affaa330cbe35f1002c226e474c40befe4b67ffc1d67af7ffea897b8fd4d0c7a7843d61d1e836cfb5107455
6
+ metadata.gz: 300208c7b673ccdb46c27b1871ad15b4cf14baa1a5d33260ff779932c4684b7887e03bb4c95c7b623cca302caab85d81b199b7de04e40408f3989d6cc3e86df8
7
+ data.tar.gz: 6c2bec3f95a1da0e82a86ef917e62fcdc5e880a979821dc2c13dfbe8fae5bc329e38fe8566bf456be9e839ab48904d28ca3b2f939a2057ebcff16979ca5a937d
@@ -32,12 +32,12 @@ class IMGParser < Parser
32
32
  if ImageDownloader.download(absolutePath, imageURL)
33
33
  relativePath = "#{pathPolicy.getRelativePath(nil)}/#{imagePathPolicy.getRelativePath(fileName)}"
34
34
  if isForJekyll
35
- result = "\r\n![#{paragraph.orgTextWithEscape}](/#{relativePath}#{alt})\r\n"
35
+ result = "\r\n\r\n![#{paragraph.orgTextWithEscape}](/#{relativePath}#{alt})\r\n\r\n"
36
36
  else
37
- result = "\r\n![#{paragraph.orgTextWithEscape}](#{relativePath}#{alt})\r\n"
37
+ result = "\r\n\r\n![#{paragraph.orgTextWithEscape}](#{relativePath}#{alt})\r\n\r\n"
38
38
  end
39
39
  else
40
- result = "\r\n![#{paragraph.orgTextWithEscape}](#{imageURL}#{alt})\r\n"
40
+ result = "\r\n\r\n![#{paragraph.orgTextWithEscape}](#{imageURL}#{alt})\r\n\r\n"
41
41
  end
42
42
 
43
43
  if paragraph.text != ""
@@ -6,7 +6,7 @@ require "Request"
6
6
  require "Parsers/Parser"
7
7
  require 'Models/Paragraph'
8
8
  require 'nokogiri'
9
-
9
+ require 'Helper'
10
10
  require 'ImageDownloader'
11
11
  require 'PathPolicy'
12
12
 
@@ -19,12 +19,15 @@ class IframeParser < Parser
19
19
 
20
20
  def parse(paragraph)
21
21
  if paragraph.type == 'IFRAME'
22
+
22
23
  if !paragraph.iframe.src.nil? && paragraph.iframe.src != ""
23
24
  url = paragraph.iframe.src
24
25
  else
25
26
  url = "https://medium.com/media/#{paragraph.iframe.id}"
26
27
  end
27
28
 
29
+ result = "[#{paragraph.iframe.title}](#{url})"
30
+
28
31
  if !url[/(www\.youtube\.com)/].nil?
29
32
  # is youtube
30
33
  youtubeURL = URI(URI.decode(url)).query
@@ -38,12 +41,16 @@ class IframeParser < Parser
38
41
  imagePathPolicy = PathPolicy.new(pathPolicy.getAbsolutePath(nil), paragraph.postID)
39
42
  absolutePath = imagePathPolicy.getAbsolutePath(fileName)
40
43
  title = paragraph.iframe.title
44
+ if title.nil? or title == ""
45
+ title = "Youtube"
46
+ end
47
+
41
48
  if ImageDownloader.download(absolutePath, imageURL)
42
49
  relativePath = "#{pathPolicy.getRelativePath(nil)}/#{imagePathPolicy.getRelativePath(fileName)}"
43
50
  if isForJekyll
44
- result = "\r\n[![#{title}](/#{relativePath} \"#{title}\")](#{params["url"]})\r\n"
51
+ result = "\r\n\r\n[![#{title}](/#{relativePath} \"#{title}\")](#{params["url"]})\r\n\r\n"
45
52
  else
46
- result = "\r\n[![#{title}](#{relativePath} \"#{title}\")](#{params["url"]})\r\n"
53
+ result = "\r\n\r\n[![#{title}](#{relativePath} \"#{title}\")](#{params["url"]})\r\n\r\n"
47
54
  end
48
55
  else
49
56
  result = "\r\n[#{title}](#{params["url"]})\r\n"
@@ -71,18 +78,29 @@ class IframeParser < Parser
71
78
  end
72
79
  end
73
80
  else
74
- ogImageURL = Helper.fetchOGImage(url)
81
+ ogURL = url
82
+ if !url[/(cdn\.embedly\.com)/].nil?
83
+ params = URI::decode_www_form(URI(URI.decode(url)).query).to_h
84
+ if !params["url"].nil?
85
+ ogURL = params["url"]
86
+ end
87
+ end
88
+ ogImageURL = Helper.fetchOGImage(ogURL)
89
+
90
+ title = paragraph.iframe.title
91
+ if title.nil? or title == ""
92
+ title = Helper.escapeMarkdown(ogURL)
93
+ end
94
+
75
95
  if !ogImageURL.nil?
76
- result = "\r\n[![#{paragraph.iframe.title}](#{ogImageURL} \"#{paragraph.iframe.title}\")](#{url})\r\n"
96
+ result = "\r\n\r\n[![#{title}](#{ogImageURL} \"#{title}\")](#{ogURL})\r\n\r\n"
97
+ else
98
+ result = "[#{title}](#{ogURL})"
77
99
  end
78
100
  end
79
101
  end
80
102
 
81
- if result.nil?
82
- "[#{paragraph.iframe.title}](#{url})"
83
- else
84
- result
85
- end
103
+ result
86
104
  else
87
105
  if !nextParser.nil?
88
106
  nextParser.parse(paragraph)
@@ -11,7 +11,7 @@ class MIXTAPEEMBEDParser < Parser
11
11
  if !paragraph.mixtapeMetadata.nil? && !paragraph.mixtapeMetadata.href.nil?
12
12
  ogImageURL = Helper.fetchOGImage(paragraph.mixtapeMetadata.href)
13
13
  if !ogImageURL.nil?
14
- "\r\n[![#{paragraph.orgTextWithEscape}](#{ogImageURL} \"#{paragraph.orgTextWithEscape}\")](#{paragraph.mixtapeMetadata.href})\r\n"
14
+ "\r\n\r\n[![#{paragraph.orgTextWithEscape}](#{ogImageURL} \"#{paragraph.orgTextWithEscape}\")](#{paragraph.mixtapeMetadata.href})\r\n\r\n"
15
15
  else
16
16
  "\n[#{paragraph.orgTextWithEscape}](#{paragraph.mixtapeMetadata.href})"
17
17
  end
@@ -4,7 +4,7 @@ require "Parsers/Parser"
4
4
  require 'Models/Paragraph'
5
5
 
6
6
  class OLIParser < Parser
7
- attr_accessor :nextParser, :oliIndex
7
+ attr_accessor :nextParser
8
8
 
9
9
  def self.isOLI(paragraph)
10
10
  if paragraph.nil?
@@ -16,7 +16,7 @@ class OLIParser < Parser
16
16
 
17
17
  def parse(paragraph)
18
18
  if OLIParser.isOLI(paragraph)
19
- "#{oliIndex}. #{paragraph.text}"
19
+ "#{paragraph.oliIndex}. #{paragraph.text}"
20
20
  else
21
21
  if !nextParser.nil?
22
22
  nextParser.parse(paragraph)
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.2
4
+ version: 1.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - ZhgChgLi