Sha256: 4b2ae6f2ec9c1581df8d8d7cb1b8ff39f908e9ff01cc393aee45790c80850f48
Contents?: true
Size: 1.77 KB
Versions: 1
Compression:
Stored size: 1.77 KB
Contents
# frozen_string_literal: true module Iev module Utilities SIMG_PATH_REGEX = "<simg .*\\/\\$file\\/([\\d\\-\\w\.]+)>" FIGURE_ONE_REGEX = '<p><b>\\s*Figure\\s+(\\d)\\s+[–-]\\s+(.+)\\s*<\\/b>(<\\/p>)?' FIGURE_TWO_REGEX = "#{FIGURE_ONE_REGEX}\\s*#{FIGURE_ONE_REGEX}".freeze IMAGE_PATH_PREFIX = "image::/assets/images/parts" def parse_anchor_tag(text, term_domain) return unless text # Convert IEV term references # Convert href links # Need to take care of this pattern: # `inverse de la <a href="IEV103-06-01">période<a>` text.gsub( %r{<a href="?(IEV)\s*(\d\d\d-\d\d-\d\d\d?)"?>(.*?)</?a>}, '{{\3, \1:\2}}', ).gsub( %r{<a href="?\s*(\d\d\d-\d\d-\d\d\d?)"?>(.*?)</?a>}, '{{\3, IEV:\2}}', ).gsub( # To handle <a> tags without ending tag like # `Voir <a href=IEV103-05-21>IEV 103-05-21` # for concept '702-03-11' in `fr` /<a href="?(IEV)?\s*(\d\d\d-\d\d-\d\d\d?)"?>(.*?)$/, '{{\3, IEV:\2}}', ).gsub( %r{<a href="?([^<>]*?)"?>(.*?)</a>}, '\1[\2]', ).gsub( Regexp.new([SIMG_PATH_REGEX, '\\s*', FIGURE_TWO_REGEX].join), "#{IMAGE_PATH_PREFIX}/#{term_domain}/\\1[Figure \\2 - \\3; \\6]", ).gsub( Regexp.new([SIMG_PATH_REGEX, '\\s*', FIGURE_ONE_REGEX].join), "#{IMAGE_PATH_PREFIX}/#{term_domain}/\\1[Figure \\2 - \\3]", ).gsub( /<img\s+([^<>]+?)\s*>/, "#{IMAGE_PATH_PREFIX}/#{term_domain}/\\1[]", ).gsub( /<br>/, "\n", ).gsub( %r{<b>(.*?)</b>}, '*\\1*', ) end def replace_newlines(input) input.gsub('\n', "\n\n") .gsub(/<[pbr]+>/, "\n\n") .gsub(/\s*\n[\n\s]+/, "\n\n") .strip end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
iev-0.3.5 | lib/iev/utilities.rb |