ZMediumToMarkdown 1.9.2 → 1.9.3

Sign up to get free protection for your applications and to get access to all the features.
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