Class: Cyberweb::FixIncorrectLinksToLocallyExistingImagesInThisFile
- Defined in:
- lib/cyberweb/utility_scripts/fix_incorrect_links_to_locally_existing_images_in_this_file.rb
Overview
Cyberweb::FixIncorrectLinksToLocallyExistingImagesInThisFile
Constant Summary collapse
- LOCAL_PATH_TO_THE_IMAGES =
#
LOCAL_PATH_TO_THE_IMAGES
This constant is probably not needed, but it is kept here just in case.
#
'/home/x/data/images/'
Constants inherited from Base
Base::HOME_DIRECTORY_OF_THE_USER_X, Base::NAMESPACE
Class Method Summary collapse
-
.[](i = ARGV) ⇒ Object
# === Cyberweb::FixIncorrectLinksToLocallyExistingImagesInThisFile[] ========================================================================= #.
Instance Method Summary collapse
-
#initialize(commandline_arguments = nil, run_already = true) ⇒ FixIncorrectLinksToLocallyExistingImagesInThisFile
constructor
# === initialize ========================================================================= #.
-
#reset ⇒ Object
# === reset (reset tag) ========================================================================= #.
-
#run ⇒ Object
# === run (run tag) ========================================================================= #.
Methods inherited from Base
#be_verbose, #be_verbose?, #cascading_style_sheets_directory?, #cd, #commandline_mode?, #copyright?, #css_comment, #delete_directory, #do_toggle, #e, #echo_raw, #filename?, #full_path_to_image_directory?, #html_colours?, #html_image, #htmlentities, #img_dir?, #infer_the_namespace, #initialize_the_configuration, #is_a_file?, #is_a_video_file?, #is_an_image_file?, #is_on_roebe?, #last_tag_used?, #last_tag_used_first_element?, #last_tag_used_id?, #mkdir, #mode?, #namespace?, #open_in_browser, #opne, #opnn, #remove_comments_from_this_string_but_preserve_CSS_rules, #remove_html, #return_all_directories, #return_date, #return_program_name, #return_pwd, #ruby_header?, #server_base_directory?, #set_commandline_mode, #set_last_tag_used, #update_the_image_directory, #use_this_relative_directory_for_custom_images?, #www_mode?
Methods included from BaseModule::FileRelatedFunctionality
#copy_this_file, #cpr, #delete_file, #filename_without_extension?, #read_file_via_utf8_encoding
Methods included from BaseModule
#attach_these_constants, #base_dir?, #beautiful_url, #cd, #create_the_internal_hash, #doctype?, #ee, #ensure_main_encoding, #esystem, #html_templates, #initialize_the_config_if_the_config_hash_is_empty, #internal_hash?, #log_dir?, #no_http, #random_alphabet_characters, #rarrow?, #rds, #remove_comments_from_this_string, #remove_numbers, #require_the_html_templates, #require_these, #return_file_size_in_kb_of, #return_html_comment, #ruby_sitelib_dir?, #sanitize_this_id, #server_base_directory?, #string_remote_image, #today?, #try_to_require_rack, #try_to_require_the_open_gem, #write_what_into
Methods included from BaseModule::ContentType
#content_type_is_html, #content_type_is_jpeg, #content_type_is_json, #content_type_is_plain_text
Methods included from BaseModule::CommandlineArguments
#append_to_the_commandline_arguments, #commandline_arguments?, #first_argument?, #parse_these_commandline_arguments, #second_argument?, #set_commandline_arguments
Methods included from BaseModule::Colours
#all_html_colours, #lightgreen, #rev, #sdir, #sfancy, #sfile, #simp, #steelblue, #tomato
Constructor Details
#initialize(commandline_arguments = nil, run_already = true) ⇒ FixIncorrectLinksToLocallyExistingImagesInThisFile
#
initialize
#
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/cyberweb/utility_scripts/fix_incorrect_links_to_locally_existing_images_in_this_file.rb', line 33 def initialize( commandline_arguments = nil, run_already = true ) reset set_commandline_arguments( commandline_arguments ) run if run_already end |
Class Method Details
Instance Method Details
#reset ⇒ Object
#
reset (reset tag)
#
47 48 49 50 |
# File 'lib/cyberweb/utility_scripts/fix_incorrect_links_to_locally_existing_images_in_this_file.rb', line 47 def reset super() infer_the_namespace end |
#run ⇒ Object
#
run (run tag)
#
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/cyberweb/utility_scripts/fix_incorrect_links_to_locally_existing_images_in_this_file.rb', line 55 def run _ = ''.dup if first? and File.exist?(first?) dataset = File.readlines(first?) dataset.each {|line| if line.include?('<img src') # ================================================================= # # The next regex is also kept at rubular.com: # # https://rubular.com/r/6V83P5NiG8pyO9 # # ================================================================= # regex_to_use = /<img src="(.+?)"/ line =~ regex_to_use match = $1.to_s.dup # ← This may be a String such as "../../../data/images/STD/DOT_06.png". # ================================================================= # # Next check whether the image-file exists. If not we can modify # this link. # ================================================================= # unless File.exist? match # =============================================================== # # Do rewrite the line now using another regex. # =============================================================== # if match.include? 'data/images' regex_to_use = /([.\/]+data\/images\/)/ # See: https://rubular.com/r/usU0d1a0ouhtEm else # else use another regex, the one regex_to_use = /<img src="(.+?)"/ end new_target = rds( '../' * (return_pwd.count('/') - 1)+ LOCAL_PATH_TO_THE_IMAGES ) line.gsub!(regex_to_use, new_target) end end _ << "#{line}" # And append it. } end unless _.empty? into = 'foobar.html' puts "Storing into `#{sfile(into)}`." write_what_into(_, into) end end |