mirror of
https://github.com/SharpeTronics/jekyll-spaceship.git
synced 2025-12-17 00:03:13 -05:00
perf: match markdown table more exactly
This commit is contained in:
parent
bf641a67f6
commit
40103470cd
@ -14,9 +14,9 @@ module Jekyll::Spaceship
|
|||||||
references[ref_name] = ref_value
|
references[ref_name] = ref_value
|
||||||
end
|
end
|
||||||
if references.size > 0
|
if references.size > 0
|
||||||
content.scan(/.*(?<!\\)\|.*/) do |result|
|
content.scan(/[^\n]*(?<!\\)\|[^\n]*/) do |result|
|
||||||
references.each do |key, val|
|
references.each do |key, val|
|
||||||
replace = result.gsub(/\[(.*)\]\s*\[#{key}\]/, "[\1](#{val})")
|
replace = result.gsub(/\[([^\n]*)\]\s*\[#{key}\]/, "[\1](#{val})")
|
||||||
next if result == replace
|
next if result == replace
|
||||||
content = content.gsub(result, replace)
|
content = content.gsub(result, replace)
|
||||||
end
|
end
|
||||||
@ -24,15 +24,15 @@ module Jekyll::Spaceship
|
|||||||
end
|
end
|
||||||
|
|
||||||
# pre-handle row-span
|
# pre-handle row-span
|
||||||
content = content.gsub(/(?<!\\)(\|.*\\\s*)\|\s*\n/, "\\1\n")
|
content = content.gsub(/(?<!\\)(\|[^\n]*\\\s*)\|\s*\n/, "\\1\n")
|
||||||
|
|
||||||
# escape | and :
|
# escape | and :
|
||||||
content = content.gsub(/\|(?=\|)/, '\\|')
|
content = content.gsub(/\|(?=\|)/, '\\|')
|
||||||
.gsub(/\\:(?=.*?(?<!\\)\|)/, '\\\\\\\\:')
|
.gsub(/\\:(?=[^\n]*?(?<!\\)\|)/, '\\\\\\\\:')
|
||||||
.gsub(/((?<!\\)\|.*?)(\\:)/, '\1\\\\\\\\:')
|
.gsub(/((?<!\\)\|[^\n]*?)(\\:)/, '\1\\\\\\\\:')
|
||||||
|
|
||||||
# escape * and _ and $ etc.
|
# escape * and _ and $ etc.
|
||||||
content.scan(/.*(?<!\\)\|.*/) do |result|
|
content.scan(/[^\n]*(?<!\\)\|[^\n]*/) do |result|
|
||||||
replace = result.gsub(
|
replace = result.gsub(
|
||||||
/(?<!(?<!\\)\\)(\*|\$|\[|\(|\"|_)/,
|
/(?<!(?<!\\)\\)(\*|\$|\[|\(|\"|_)/,
|
||||||
'\\\\\\\\\1')
|
'\\\\\\\\\1')
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user