This commit is contained in:
yystopf 2023-03-16 15:46:56 +08:00
parent 2c9d2746ba
commit 9c1b21f246
1 changed files with 10 additions and 5 deletions

View File

@ -109,17 +109,19 @@ module RepositoriesHelper
return nil if str.blank? return nil if str.blank?
content = Base64.decode64(str).force_encoding('UTF-8') content = Base64.decode64(str).force_encoding('UTF-8')
# s_regex = /\s\!\[.*?\]\((.*?)\)\s/ # s_regex = /\s\!\[.*?\]\((.*?)\)\s/
s_regex_c = /`{1,2}[^`](.*?)`{1,2}/
s_regex = /```([\s\S]*?)```[\s]?/ s_regex = /```([\s\S]*?)```[\s]?/
s_regex_1 = /\[.*?\]\((.*?)\)/ s_regex_1 = /\[.*?\]\((.*?)\)/
src_regex = /src=\"(.*?)\"/ src_regex = /src=\"(.*?)\"/
src_regex_1 = /src=\'(.*?)\'/ src_regex_1 = /src=\'(.*?)\'/
ss_c = content.to_s.scan(s_regex_c)
ss = content.to_s.scan(s_regex) ss = content.to_s.scan(s_regex)
ss_1 = content.to_s.scan(s_regex_1) ss_1 = content.to_s.scan(s_regex_1)
ss_src = content.to_s.scan(src_regex) ss_src = content.to_s.scan(src_regex)
ss_src_1 = content.to_s.scan(src_regex_1) ss_src_1 = content.to_s.scan(src_regex_1)
total_sources = {ss: ss, ss_1: ss_1, ss_src: ss_src, ss_src_1: ss_src_1} total_sources = {ss_c: ss_c,ss: ss, ss_1: ss_1, ss_src: ss_src, ss_src_1: ss_src_1}
# total_sources.uniq! # total_sources.uniq!
total_sources.except(:ss).each do |k, sources| total_sources.except(:ss, :ss_c).each do |k, sources|
sources.each do |s| sources.each do |s|
begin begin
s_content = s[0] s_content = s[0]
@ -159,11 +161,14 @@ module RepositoriesHelper
end end
after_ss_souces = content.to_s.scan(s_regex) after_ss_souces = content.to_s.scan(s_regex)
index =0 after_ss_souces.each_with_index do |s, index|
after_ss_souces.each do |s|
content = content.gsub("#{s[0]}","#{total_sources[:ss][index][0]}") content = content.gsub("#{s[0]}","#{total_sources[:ss][index][0]}")
index += 1
end end
after_ss_c_souces = content.to_s.scan(s_regex_c)
after_ss_c_souces.each_with_index do |s, index|
content = content.gsub("#{s[0]}","#{total_sources[:ss_c][index][0]}")
end
return content return content
rescue rescue
return str return str