Class: Roebe::GenerateOverviewOfTheLocallyAvailableBooks
- Inherits:
-
Base
- Object
- Base
- Roebe::GenerateOverviewOfTheLocallyAvailableBooks
show all
- Defined in:
- lib/roebe/classes/generate_overview_of_the_locally_available_books.rb
Overview
Roebe::GenerateOverviewOfTheLocallyAvailableBooks
Constant Summary
collapse
- BOOK_EMOJI =
EmojiParadise.book_emoji?
- BASE_DIRECTORY =
#
BASE_DIRECTORY
Denote the directory for where the local .pdf files are kept, e. g. the books.
#
"#{HOME_OF_THE_USER_CALLED_X}books/"
- USE_THIS_TITLE_FOR_THE_WEBPAGE =
#
USE_THIS_TITLE_FOR_THE_WEBPAGE
#
'Available local books (.pdf files)'
Constants inherited
from Base
Base::COLOURS, Base::HOME_DIRECTORY_OF_USER_X, Base::N, Base::NAMESPACE
Class Method Summary
collapse
-
.[](i = ARGV) ⇒ Object
# === Roebe::GenerateOverviewOfTheLocallyAvailableBooks[] ========================================================================= #.
Instance Method Summary
collapse
Methods inherited from Base
#actions, #append_this_onto_that_file, #append_what_into, #be_silent, #be_verbose?, #beautiful_url, #burlywood, #call_next, #chdir, #cheerful_guy, #cliner, #complex_esystem, #convert_global_env, #copy_directory, #copy_file, #cornflowerblue, #create_directory, #crimson, #current_month?, #current_time?, #current_year?, #cyan, #darkcyan, #darkgreen, #darkkhaki, #darkslateblue, #deeppink, #delete_symlink, #do_not_use_the_base_colours, #do_use_the_base_colours, #e, #ecomment, #editor_to_use?, #efancy, #eimp, #emphasis, #ensure_main_encoding, #ensure_utf_encoding, #eparse, #erev, #esteelblue, #etomato, #ewarn, #exit_program, #firebrick, #get_current_day, #get_current_month, #get_files_and_directories, #get_files_from, #get_german_name_for_this_weekday, #gold, #green, #grey, #hh_mm_ss, #hh_mm_ss_day_month_year, #home_dir?, #home_directory_of_user_x?, #infer_the_namespace, #internal_hash?, #is_a_directory?, #is_a_file?, #is_a_jpg_file?, #is_an_image_file?, #is_archive?, #is_audio_file?, #is_in_studium_dir?, #is_multimedia_file?, #is_on_roebe?, #is_on_windows?, #is_studium_available?, #is_symlink?, #is_this_a_ruby_file?, #is_video_file?, #iso_encoding?, #le, #left_colour, #lightblue, #lightgreen, #lightseagreen, #lightsteelblue, #lime, #limegreen, #localhost_to_data, #log_directory?, #main_encoding?, #mediumorchid, #mediumpurple, #mediumseagreen, #mediumslateblue, #mediumspringgreen, #mediumturquoise, #mkdir_p, #mv, #n_days_in_this_month, #n_pages_in_this_pdf_file?, #namespace?, #no_file_exists_at, #ogrey, #olive, #olivedrab, #open_in_browser, #opne, #opnesystem, #opnn, #orange, #orchid, #orev, #palegoldenrod, #palevioletred, #pink, #powderblue, #programs_dir?, #project_base_dir?, #random_html_colour, #rds, #read_file_in_iso_encoding, #read_file_via_the_default_encoding, #read_lines_via_iso_encoding, #readlines_with_main_encoding, #red, #register_sigint, #remove, #remove_directory, #remove_file, #rename_kde_konsole_tab, #replace_localhost_with_data, #report_pwd, #require_rescue, #reset_the_internal_hash, #return_all_directories_from_this_directory, #return_all_files_from_this_directory, #return_current_directory, #return_dd_mm_yyyy, #return_file_or_directory_of, #return_files_from_pwd, #return_last_part_of_the_current_directory, #return_utc, #rev, #right_arrow?, #right_colour, #roebe_log_directory?, #rosybrown, #royalblue, #ruby_base_directory?, #run_in_background, #run_rcfiles_then_run_ata_via_qdbus, #sandybrown, #sdir, #seagreen, #set_be_verbose, #set_xorg_buffer, #sfancy, #sfile, #show_help, #silent_redirection?, #simp, #simple_esystem, #skyblue, #slateblue, #slategray, #springgreen, #steelblue, #string_italic, #swarn, #symlink, #teal, #temp_dir?, #to_camelcase, #to_counted_hash, #tomato, #touch, #try_to_require_the_beautiful_url_gem, #try_to_require_the_html_template, #try_to_require_the_open_gem, #try_to_require_the_program_information_gem, #try_to_require_the_xorg_buffer, #use_colours?, #verbose_truth, #weekday?, #word_wrap, #write_what_into, #yellow
#append_onto_the_commandline_arguments, #clear_commandline_arguments, #commandline_arguments?, #commandline_arguments_as_string?, #commandline_arguments_without_leading_hyphens?, #first_argument?, #first_argument_without_leading_hyphens?, #has_an_argument_been_passed?, #remove_hyphened_arguments_from_the_commandline_arguments, #return_commandline_arguments_with_leading_hyphens, #second_argument?, #set_commandline_arguments
Constructor Details
65
66
67
68
69
70
71
72
73
74
|
# File 'lib/roebe/classes/generate_overview_of_the_locally_available_books.rb', line 65
def initialize(
commandline_arguments = nil,
run_already = true
)
reset
set_commandline_arguments(
commandline_arguments
)
run if run_already
end
|
Class Method Details
.[](i = ARGV) ⇒ Object
#
Roebe::GenerateOverviewOfTheLocallyAvailableBooks[]
#
267
268
269
|
# File 'lib/roebe/classes/generate_overview_of_the_locally_available_books.rb', line 267
def self.[](i = ARGV)
new(i)
end
|
Instance Method Details
#add(i, append_newline = true) ⇒ Object
122
123
124
125
126
127
128
129
130
|
# File 'lib/roebe/classes/generate_overview_of_the_locally_available_books.rb', line 122
def add(
i,
append_newline = true
)
if append_newline
i = "#{i}\n"
end
@_ << i
end
|
247
248
249
|
# File 'lib/roebe/classes/generate_overview_of_the_locally_available_books.rb', line 247
def addbr
add "<br>\n"
end
|
#gather_all_local_pdf_files ⇒ Object
#
gather_all_local_pdf_files
#
165
166
167
|
# File 'lib/roebe/classes/generate_overview_of_the_locally_available_books.rb', line 165
def gather_all_local_pdf_files
@all_pdf_files = Dir["#{BASE_DIRECTORY}**/**.pdf"]
end
|
#generate_the_html_file(what = @_, into = "#{@into}locally_available_books.html") ⇒ Object
#
generate_the_html_file
#
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
|
# File 'lib/roebe/classes/generate_overview_of_the_locally_available_books.rb', line 142
def generate_the_html_file(
what = @_,
into = "#{@into}locally_available_books.html"
)
opne "#{rev}Storing into the file `#{sfile(into)}#{rev}`."
dataset = Cyberweb.html_template({
title: USE_THIS_TITLE_FOR_THE_WEBPAGE, css_style: return_CSS_rules_to_use,
use_these_css_classes: 'midnightblue',
body: @_.to_s
})
write_what_into(dataset, into) if is_on_roebe?
open_in_browser(into)
end
end
|
#iterate_over_the_pdf_files(regexp_quote = Regexp.quote(BASE_DIRECTORY)) ⇒ Object
#
iterate_over_the_pdf_files
#
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
|
# File 'lib/roebe/classes/generate_overview_of_the_locally_available_books.rb', line 172
def iterate_over_the_pdf_files(
regexp_quote = Regexp.quote(BASE_DIRECTORY) )
@all_pdf_files.each_with_index {|this_pdf_file, index| index += 1
subdir = File.dirname(
this_pdf_file.sub(regexp_quote, '')
)
if @last_subdirectory == subdir
else
register_last_subdirectory(subdir)
subdir_as_html_string = '<h2 style="color: royalblue">'+
'('+index.to_s+') '+
subdir.tr('_',' ')+
'</h2>'
add(subdir_as_html_string)
e "#{tomato(BOOK_EMOJI)} #{slateblue(subdir)}" end
e royalblue(" #{this_pdf_file}")
n_pdf_pages_in_this_pdf_file = PdfParadise.n_pdf_pages_in_this_pdf_file(this_pdf_file)
add(
'<span style="font-weight: bold">'+
File.basename(this_pdf_file)+
'</span> (<b class="midnightblue">'+
n_pdf_pages_in_this_pdf_file.to_s+' pages</b>)'
)
addbr
title = PdfParadise.return_pdf_title_of(this_pdf_file).to_s
unless title.empty?
addbr
add(
'<span style="margin-left: 1.2em">Title: <b style="color:darkblue">'+
title+'</b></span>'
)
addbr
end
addbr
add(
HtmlTags.a(
href_target: this_pdf_file,
description: "→ #{BOOK_EMOJI} #{this_pdf_file}",
css_style: 'margin-left: 2.2em; font-weight: bold; ',
linebreak: true,
open_new_tab: true
)
)
addbr
}
end
|
#register_last_subdirectory(i) ⇒ Object
#
register_last_subdirectory
#
135
136
137
|
# File 'lib/roebe/classes/generate_overview_of_the_locally_available_books.rb', line 135
def register_last_subdirectory(i)
@last_subdirectory = i
end
|
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
# File 'lib/roebe/classes/generate_overview_of_the_locally_available_books.rb', line 79
def reset
super()
infer_the_namespace
try_to_require_the_html_template
@_ = ''.dup
@into = BASE_DIRECTORY.dup
@last_subdirectory = nil
end
|
#return_CSS_rules_to_use ⇒ Object
#
return_CSS_rules_to_use (CSS tag, css tag)
This method will return the content for the CSS <style> tag.
#
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
# File 'lib/roebe/classes/generate_overview_of_the_locally_available_books.rb', line 99
def return_CSS_rules_to_use
return <<-EOF
a,
a:visited {
color: steelblue;
text-decoration: none;
}
a:hover {
color: royalblue;
text-decoration: underline;
}
body {
font-size: 1.7em; /* Specify the font-size for the generated webpage. */
padding: 12px;
margin-left: 4px;
margin-right: 4px;
}
EOF
end
|
254
255
256
257
258
259
260
261
262
|
# File 'lib/roebe/classes/generate_overview_of_the_locally_available_books.rb', line 254
def run
require 'pdf_paradise/toplevel_methods/query_pdf_title.rb'
gather_all_local_pdf_files
iterate_over_the_pdf_files
generate_the_html_file
end
|