ZMediumToMarkdown 2.5.2 → 2.6.2

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: 71e19d6c888e760923f2bf919d3fc34b29bd30835cc5c563da057369108b18a2
4
- data.tar.gz: '03862c8cf6f9dc3b894470f918b0247bb8457f0bebe7299da4cceea0816bc17c'
3
+ metadata.gz: af952c627b793a37b987a22a9a34864b745dc13b53e156f71799007069fee6a0
4
+ data.tar.gz: 80ea4f05a34db4fdf47659f1df438d5f8b791098e452203d892be30146842a56
5
5
  SHA512:
6
- metadata.gz: 4290ca60752a6033ee16dd75c8c537b0cd4030c89d3765d92ca596dfae87c69da6a780f3608eea8cfa62a3897374f77141b3f83243b44860acbe5736247d46d2
7
- data.tar.gz: 39e4d1d11db6cd81a309e476f7bc63024cc2d32401fb4ef1649fb68989c6f45759dd1214d2a6040fd0694e53fed905edc554bc5e16d8b6769b5ef8a3dc30347c
6
+ metadata.gz: 5f26a6a38a6e6dfa61a677b55f245436044cfec90c4b6cf43b5b98f71d3b209fcb32c37b85055b2a22c7218a368c9777be6ea923e7d3bb23d80e1299143a3908
7
+ data.tar.gz: 6195f720d3d4eb9bd0e096de4f8d31249019c406e53aa749c013c4251bf6cd86d28b3c034855365c58cf0bdf9271a1e2e0267fb64aeeadb9be55c70b9ba104c1
data/lib/Helper.rb CHANGED
@@ -40,7 +40,7 @@ class Helper
40
40
  begin
41
41
  dir = dirs.shift
42
42
  currentDir = "#{currentDir}/#{dir}"
43
- Dir.mkdir(currentDir) unless File.exists?(currentDir)
43
+ Dir.mkdir(currentDir) unless File.exist?(currentDir)
44
44
  end while dirs.length > 0
45
45
  end
46
46
 
@@ -40,27 +40,35 @@ class IframeParser < Parser
40
40
  youtubeURL = URI(URI.decode(url)).query
41
41
  params = URI::decode_www_form(youtubeURL).to_h
42
42
 
43
- if !params["image"].nil? && !params["url"].nil?
43
+ if !params["url"].nil?
44
+ if isForJekyll
45
+ vid = URI.decode_www_form(URI.parse(params["url"]).query || "").to_h
46
+ vid = vid["v"]
44
47
 
45
- fileName = "#{paragraph.name}_#{URI(params["image"]).path.split("/").last}" #21de_default.jpg
46
-
47
- imageURL = params["image"]
48
- imagePathPolicy = PathPolicy.new(pathPolicy.getAbsolutePath(paragraph.postID), pathPolicy.getRelativePath(paragraph.postID))
49
- absolutePath = imagePathPolicy.getAbsolutePath(fileName)
50
- title = paragraph.iframe.title
51
- if title.nil? or title == ""
52
- title = "Youtube"
53
- end
48
+ result = "<iframe class=\"embed-video\" loading=\"lazy\" src=\"https://www.youtube.com/embed/#{vid}\" title=\"#{paragraph.iframe.title}\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen ></iframe>"
49
+ else
50
+ if !params["image"].nil?
51
+ fileName = "#{paragraph.name}_#{URI(params["image"]).path.split("/").last}" #21de_default.jpg
52
+
53
+ imageURL = params["image"]
54
+ imagePathPolicy = PathPolicy.new(pathPolicy.getAbsolutePath(paragraph.postID), pathPolicy.getRelativePath(paragraph.postID))
55
+ absolutePath = imagePathPolicy.getAbsolutePath(fileName)
56
+ title = paragraph.iframe.title
57
+ if title.nil? or title == ""
58
+ title = "Youtube"
59
+ end
54
60
 
55
- if ImageDownloader.download(absolutePath, imageURL)
56
- relativePath = imagePathPolicy.getRelativePath(fileName)
57
- if isForJekyll
58
- result = "\r\n\r\n[![#{title}](/#{relativePath} \"#{title}\")](#{params["url"]})#{jekyllOpen}\r\n\r\n"
59
- else
60
- result = "\r\n\r\n[![#{title}](#{relativePath} \"#{title}\")](#{params["url"]})#{jekyllOpen}\r\n\r\n"
61
+ if ImageDownloader.download(absolutePath, imageURL)
62
+ relativePath = imagePathPolicy.getRelativePath(fileName)
63
+ if isForJekyll
64
+ result = "\r\n\r\n[![#{title}](/#{relativePath} \"#{title}\")](#{params["url"]})#{jekyllOpen}\r\n\r\n"
65
+ else
66
+ result = "\r\n\r\n[![#{title}](#{relativePath} \"#{title}\")](#{params["url"]})#{jekyllOpen}\r\n\r\n"
67
+ end
68
+ else
69
+ result = "\r\n[#{title}](#{params["url"]})#{jekyllOpen}\r\n"
70
+ end
61
71
  end
62
- else
63
- result = "\r\n[#{title}](#{params["url"]})#{jekyllOpen}\r\n"
64
72
  end
65
73
  end
66
74
  else
@@ -362,7 +362,7 @@ class ZMediumFetcher
362
362
  index = 1
363
363
  postURLS.each do |postURL|
364
364
  begin
365
- # todo: unless File.exists? Post.getPostPathFromPostURLString(postURL) +".md"
365
+ # todo: unless File.exist? Post.getPostPathFromPostURLString(postURL) +".md"
366
366
  downloadPost(postURL["url"], downloadPathPolicy, postURL["pin"])
367
367
  rescue => e
368
368
  puts e
metadata CHANGED
@@ -1,29 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ZMediumToMarkdown
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.2
4
+ version: 2.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - ZhgChgLi
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-01-19 00:00:00.000000000 Z
10
+ date: 2025-10-10 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: nokogiri
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
- - - "~>"
16
+ - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: 1.15.6
18
+ version: 1.18.4
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
- - - "~>"
23
+ - - ">="
25
24
  - !ruby/object:Gem::Version
26
- version: 1.15.6
25
+ version: 1.18.4
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: net-http
29
28
  requirement: !ruby/object:Gem::Requirement
@@ -54,7 +53,6 @@ dependencies:
54
53
  version: 2.3.2
55
54
  description: ZMediumToMarkdown lets you download Medium post and convert it to markdown
56
55
  format easily.
57
- email:
58
56
  executables:
59
57
  - ZMediumToMarkdown
60
58
  extensions: []
@@ -92,7 +90,6 @@ homepage: https://github.com/ZhgChgLi/ZMediumToMarkdown
92
90
  licenses:
93
91
  - MIT
94
92
  metadata: {}
95
- post_install_message:
96
93
  rdoc_options: []
97
94
  require_paths:
98
95
  - lib
@@ -107,8 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
107
104
  - !ruby/object:Gem::Version
108
105
  version: '0'
109
106
  requirements: []
110
- rubygems_version: 3.1.6
111
- signing_key:
107
+ rubygems_version: 3.6.2
112
108
  specification_version: 4
113
109
  summary: This project can help you to make an auto-sync or auto-backup service from
114
110
  Medium, like auto-sync Medium posts to Jekyll or other static markdown blog engines