diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2016-06-16 10:47:29 +0000 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2016-06-16 10:47:29 +0000 |
commit | c369cc8bf42a680b2b0fc9721a9a7926dc5426f6 (patch) | |
tree | 9ebc993beb97e2cc5a239a841e4999b1a0bd89ea /lib | |
parent | 077e32740c150cb4216f5ecf74229df159dceea0 (diff) | |
parent | 46696bde83736a83ec6f54f05795b003793b5865 (diff) | |
download | gitlab-ce-c369cc8bf42a680b2b0fc9721a9a7926dc5426f6.tar.gz |
Merge branch '18591-banzai-filter-upload-link-filter' into 'master'
Banzai::Filter::UploadLinkFilter use XPath
See merge request !4703
Diffstat (limited to 'lib')
-rw-r--r-- | lib/banzai/filter/upload_link_filter.rb | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/lib/banzai/filter/upload_link_filter.rb b/lib/banzai/filter/upload_link_filter.rb index c0f503c9af3..45bb66dc99f 100644 --- a/lib/banzai/filter/upload_link_filter.rb +++ b/lib/banzai/filter/upload_link_filter.rb @@ -10,11 +10,11 @@ module Banzai def call return doc unless project - doc.search('a').each do |el| + doc.xpath('descendant-or-self::a[starts-with(@href, "/uploads/")]').each do |el| process_link_attr el.attribute('href') end - doc.search('img').each do |el| + doc.xpath('descendant-or-self::img[starts-with(@src, "/uploads/")]').each do |el| process_link_attr el.attribute('src') end @@ -24,12 +24,7 @@ module Banzai protected def process_link_attr(html_attr) - return if html_attr.blank? - - uri = html_attr.value - if uri.starts_with?("/uploads/") - html_attr.value = build_url(uri).to_s - end + html_attr.value = build_url(html_attr.value).to_s end def build_url(uri) |