Sha256: 14f990cb9ceab16845d8ec24eb36c9f2871fd6c960043711839fd0f110162279
Contents?: true
Size: 851 Bytes
Versions: 1
Compression:
Stored size: 851 Bytes
Contents
# frozen_string_literal: true class MyPDFKit module HTMLPreprocessor # Change relative paths to absolute, and relative protocols to absolute protocols def self.process(html, root_url, protocol) html = translate_relative_paths(html, root_url) if root_url html = translate_relative_protocols(html, protocol) if protocol html end private def self.translate_relative_paths(html, root_url) # Try out this regexp using rubular http://rubular.com/r/hiAxBNX7KE html.gsub(/(href|src)=(['"])\/([^\/"']([^\"']*|[^"']*))?['"]/, "\\1=\\2#{root_url}\\3\\2") end def self.translate_relative_protocols(body, protocol) # Try out this regexp using rubular http://rubular.com/r/0Ohk0wFYxV body.gsub(/(href|src)=(['"])\/\/([^\"']*|[^"']*)['"]/, "\\1=\\2#{protocol}://\\3\\2") end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
my_pdfkit-0.1.0.0 | lib/my_pdfkit/html_preprocessor.rb |