diff --git a/app/helpers/repositories_helper.rb b/app/helpers/repositories_helper.rb index 64ece82d1..d3a008515 100644 --- a/app/helpers/repositories_helper.rb +++ b/app/helpers/repositories_helper.rb @@ -109,17 +109,19 @@ module RepositoriesHelper return nil if str.blank? content = Base64.decode64(str).force_encoding('UTF-8') # s_regex = /\s\!\[.*?\]\((.*?)\)\s/ + s_regex_c = /`{1,2}[^`](.*?)`{1,2}/ s_regex = /```([\s\S]*?)```[\s]?/ s_regex_1 = /\[.*?\]\((.*?)\)/ src_regex = /src=\"(.*?)\"/ src_regex_1 = /src=\'(.*?)\'/ + ss_c = content.to_s.scan(s_regex_c) ss = content.to_s.scan(s_regex) ss_1 = content.to_s.scan(s_regex_1) ss_src = content.to_s.scan(src_regex) 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.except(:ss).each do |k, sources| + total_sources.except(:ss, :ss_c).each do |k, sources| sources.each do |s| begin s_content = s[0] @@ -159,11 +161,14 @@ module RepositoriesHelper end after_ss_souces = content.to_s.scan(s_regex) - index =0 - after_ss_souces.each do |s| + after_ss_souces.each_with_index do |s, index| content = content.gsub("#{s[0]}","#{total_sources[:ss][index][0]}") - index += 1 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 rescue return str