cyberweb 0.12.35 → 0.13.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (204) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +220 -124
  3. data/bin/cyberweb_sanitize +1 -1
  4. data/bin/images_from_this_webpage +1 -1
  5. data/doc/README.gen +209 -98
  6. data/doc/configuration/configuration.md +7 -4
  7. data/doc/todo/todo_for_the_cyberweb_project.md +123 -133
  8. data/examples/html/underlined_text_example/underlined_text_example.html +40 -0
  9. data/examples/misc/table_example.rb +19 -17
  10. data/examples/objectified/objectified_caesar_cipher.cgi +73 -0
  11. data/images/cyberweb_theme.png +0 -0
  12. data/lib/cyberweb/REST/constants.rb +1 -1
  13. data/lib/cyberweb/base/base.rb +19 -27
  14. data/lib/cyberweb/base_module/base_module/base_module.rb +31 -16
  15. data/lib/cyberweb/base_module/colours/colours.rb +0 -8
  16. data/lib/cyberweb/cascading_style_sheets/margin.css +4 -0
  17. data/lib/cyberweb/cascading_style_sheets/misc.css +15 -0
  18. data/lib/cyberweb/cgi/cookie.rb +160 -156
  19. data/lib/cyberweb/cgi/core.rb +7 -7
  20. data/lib/cyberweb/cgi/query_extension.rb +1 -1
  21. data/lib/cyberweb/cgi/session/memory_store.rb +1 -1
  22. data/lib/cyberweb/cgi/session/pstore.rb +2 -2
  23. data/lib/cyberweb/cgi/session.rb +1 -1
  24. data/lib/cyberweb/cgi/util.rb +4 -1
  25. data/lib/cyberweb/cmd/cmd.rb +12 -10
  26. data/lib/cyberweb/coloured_tags/coloured_tags.rb +1 -1
  27. data/lib/cyberweb/colours/colour_chart.rb +1 -2
  28. data/lib/cyberweb/colours/colours.rb +1 -1
  29. data/lib/cyberweb/commandline/commandline_interface.rb +1 -1
  30. data/lib/cyberweb/configuration/load_the_configuration.rb +3 -1
  31. data/lib/cyberweb/constants/http_status_codes.rb +4 -1
  32. data/lib/cyberweb/constants/misc.rb +8 -6
  33. data/lib/cyberweb/constants/registered_html_tags.rb +6 -5
  34. data/lib/cyberweb/constants/user_x.rb +7 -0
  35. data/lib/cyberweb/css_manager/css_manager.rb +5 -2
  36. data/lib/cyberweb/encoding/encoding.rb +1 -1
  37. data/lib/cyberweb/erb/test.rhtml +7 -2
  38. data/lib/cyberweb/experimental/html_template_powered_by_rack.rb +3 -1
  39. data/lib/cyberweb/foto_gallery/foto_gallery.rb +3 -0
  40. data/lib/cyberweb/generator/cgi.rb +1 -1
  41. data/lib/cyberweb/html_template/html_template.rb +262 -253
  42. data/lib/cyberweb/images/images.rb +2 -2
  43. data/lib/cyberweb/images/remove_this_substring_from_all_images.rb +5 -1
  44. data/lib/cyberweb/images/standard_images/standard_images.html +3 -4
  45. data/lib/cyberweb/information/README.md +2 -2
  46. data/lib/cyberweb/information/information.cgi +1 -1
  47. data/lib/cyberweb/javascript/dragula_collection.rb +4 -1
  48. data/lib/cyberweb/javascript/javascript_magic.rb +2 -2
  49. data/lib/cyberweb/javascript/on_click_change_opacity.rb +2 -1
  50. data/lib/cyberweb/javascript/popup.rb +8 -1
  51. data/lib/cyberweb/javascript/snoweffect.rb +5 -1
  52. data/lib/cyberweb/javascript_code/custom_functions.js +50 -32
  53. data/lib/cyberweb/objectified/html_tags/README.md +7 -9
  54. data/lib/cyberweb/objectified/html_tags/a.rb +62 -3
  55. data/lib/cyberweb/objectified/html_tags/abbr.rb +33 -3
  56. data/lib/cyberweb/objectified/html_tags/audio.rb +33 -3
  57. data/lib/cyberweb/objectified/html_tags/base.rb +661 -588
  58. data/lib/cyberweb/objectified/html_tags/blockquote.rb +33 -3
  59. data/lib/cyberweb/objectified/html_tags/body.rb +43 -3
  60. data/lib/cyberweb/objectified/html_tags/button.rb +75 -5
  61. data/lib/cyberweb/objectified/html_tags/canvas.rb +43 -3
  62. data/lib/cyberweb/objectified/html_tags/cite.rb +43 -3
  63. data/lib/cyberweb/objectified/html_tags/div.rb +70 -7
  64. data/lib/cyberweb/objectified/html_tags/embed.rb +43 -3
  65. data/lib/cyberweb/objectified/html_tags/fieldset.rb +43 -3
  66. data/lib/cyberweb/objectified/html_tags/figure.rb +43 -3
  67. data/lib/cyberweb/objectified/html_tags/form.rb +78 -3
  68. data/lib/cyberweb/objectified/html_tags/h1.rb +43 -3
  69. data/lib/cyberweb/objectified/html_tags/h2.rb +43 -3
  70. data/lib/cyberweb/objectified/html_tags/h3.rb +43 -3
  71. data/lib/cyberweb/objectified/html_tags/h4.rb +43 -3
  72. data/lib/cyberweb/objectified/html_tags/h5.rb +43 -3
  73. data/lib/cyberweb/objectified/html_tags/h6.rb +43 -3
  74. data/lib/cyberweb/objectified/html_tags/head.rb +34 -1
  75. data/lib/cyberweb/objectified/html_tags/i.rb +112 -0
  76. data/lib/cyberweb/objectified/html_tags/img.rb +65 -18
  77. data/lib/cyberweb/objectified/html_tags/input.rb +86 -2
  78. data/lib/cyberweb/objectified/html_tags/label.rb +103 -0
  79. data/lib/cyberweb/objectified/html_tags/legend.rb +129 -0
  80. data/lib/cyberweb/objectified/html_tags/li.rb +111 -0
  81. data/lib/cyberweb/objectified/html_tags/map.rb +43 -3
  82. data/lib/cyberweb/objectified/html_tags/meta.rb +13 -2
  83. data/lib/cyberweb/objectified/html_tags/nav.rb +111 -0
  84. data/lib/cyberweb/objectified/html_tags/object.rb +33 -3
  85. data/lib/cyberweb/objectified/html_tags/ol.rb +127 -0
  86. data/lib/cyberweb/objectified/html_tags/p.rb +33 -3
  87. data/lib/cyberweb/objectified/html_tags/pre.rb +41 -4
  88. data/lib/cyberweb/objectified/html_tags/progress.rb +43 -3
  89. data/lib/cyberweb/objectified/html_tags/section.rb +116 -0
  90. data/lib/cyberweb/objectified/html_tags/select.rb +34 -1
  91. data/lib/cyberweb/objectified/html_tags/span.rb +64 -5
  92. data/lib/cyberweb/objectified/html_tags/style.rb +9 -2
  93. data/lib/cyberweb/objectified/html_tags/table.rb +137 -3
  94. data/lib/cyberweb/objectified/html_tags/td.rb +135 -0
  95. data/lib/cyberweb/objectified/html_tags/textarea.rb +37 -3
  96. data/lib/cyberweb/objectified/html_tags/th.rb +114 -0
  97. data/lib/cyberweb/objectified/html_tags/thead.rb +114 -0
  98. data/lib/cyberweb/objectified/html_tags/title.rb +10 -2
  99. data/lib/cyberweb/objectified/html_tags/tr.rb +110 -0
  100. data/lib/cyberweb/objectified/html_tags/ul.rb +45 -4
  101. data/lib/cyberweb/objectified/shorter_helper_methods/shorter_helper_methods.rb +67 -46
  102. data/lib/cyberweb/oop.rb +9 -0
  103. data/lib/cyberweb/predefined_and_freeform_methods/hash_registered_extra_tags.rb +2 -0
  104. data/lib/cyberweb/predefined_and_freeform_methods/header.rb +4 -1
  105. data/lib/cyberweb/project/project.rb +0 -4
  106. data/lib/cyberweb/requires/remove_html.rb +1 -1
  107. data/lib/cyberweb/requires/require_the_cyberweb_project.rb +1 -9
  108. data/lib/cyberweb/route_handler/module/route_handler_module.rb +2 -1
  109. data/lib/cyberweb/standalone_classes/all_css_classes.rb +5 -2
  110. data/lib/cyberweb/standalone_classes/calculator.rb +3 -1
  111. data/lib/cyberweb/toplevel_methods/audio.rb +3 -1
  112. data/lib/cyberweb/toplevel_methods/csv.rb +1 -1
  113. data/lib/cyberweb/toplevel_methods/frames.rb +11 -3
  114. data/lib/cyberweb/toplevel_methods/greek_letters/greek_letters.rb +3 -0
  115. data/lib/cyberweb/toplevel_methods/hfin.rb +5 -1
  116. data/lib/cyberweb/toplevel_methods/html_tags/README.md +8 -7
  117. data/lib/cyberweb/toplevel_methods/html_tags/html_tags.rb +4211 -2827
  118. data/lib/cyberweb/toplevel_methods/html_tags/table.rb +1202 -0
  119. data/lib/cyberweb/toplevel_methods/javascript.rb +9 -1
  120. data/lib/cyberweb/toplevel_methods/jquery.rb +1 -1
  121. data/lib/cyberweb/toplevel_methods/{log_directory.rb → log_directory_and_logging.rb} +36 -1
  122. data/lib/cyberweb/toplevel_methods/params.rb +11 -11
  123. data/lib/cyberweb/toplevel_methods/random.rb +4 -3
  124. data/lib/cyberweb/toplevel_methods/registered_ids.rb +3 -0
  125. data/lib/cyberweb/toplevel_methods/return_head_start.rb +1 -3
  126. data/lib/cyberweb/toplevel_methods/return_html_start.rb +1 -3
  127. data/lib/cyberweb/toplevel_methods/sanitize_url.rb +2 -1
  128. data/lib/cyberweb/toplevel_methods/server_base_directory.rb +0 -1
  129. data/lib/cyberweb/toplevel_methods/textile.rb +2 -1
  130. data/lib/cyberweb/toplevel_methods/{misc.rb → toplevel_methods.rb} +1446 -807
  131. data/lib/cyberweb/toplevel_methods/video.rb +21 -3
  132. data/lib/cyberweb/toplevel_methods/write_what_into.rb +2 -2
  133. data/lib/cyberweb/utility_scripts/autogenerate_drop_shadow_rules/autogenerate_drop_shadow_rules.rb +2 -4
  134. data/lib/cyberweb/utility_scripts/booklet/booklet.rb +0 -4
  135. data/lib/cyberweb/utility_scripts/download_all_images_from_this_website.rb +1 -1
  136. data/lib/cyberweb/utility_scripts/{download_balloon_css.rb → download_balloon_css/download_balloon_css.rb} +1 -1
  137. data/lib/cyberweb/utility_scripts/images_to_html/images_to_html.rb +3 -0
  138. data/lib/cyberweb/utility_scripts/obtain_files_and_directories_from_this_path/obtain_files_and_directories_from_this_path.rb +183 -71
  139. data/lib/cyberweb/utility_scripts/pdf_to_html/pdf_to_html.rb +160 -65
  140. data/lib/cyberweb/version/version.rb +2 -2
  141. data/lib/cyberweb/web_images/map_symbol_to_image_location.rb +13 -2
  142. data/lib/cyberweb/web_object/web_object.rb +62 -20
  143. data/lib/cyberweb/web_scraper/scrape_this_url.rb +3 -1
  144. data/lib/cyberweb/webmin/biology_server.cgi +1 -1
  145. data/lib/cyberweb/webmin/calculator.cgi +1 -1
  146. data/lib/cyberweb/webmin/colour_chart.cgi +1 -1
  147. data/lib/cyberweb/webmin/comments.cgi +2 -2
  148. data/lib/cyberweb/webmin/constants.rb +1 -1
  149. data/lib/cyberweb/webmin/dictionary.cgi +2 -2
  150. data/lib/cyberweb/webmin/simple_forum/index.cgi +2 -2
  151. data/lib/cyberweb/webmin/sys_info.cgi +3 -3
  152. data/lib/cyberweb/webmin/webforum.cgi +1 -1
  153. data/lib/cyberweb/yaml/registered_html_tags.yml +3 -1
  154. data/test/simple_tests/testing_return_dataset_without_any_comments.rb +1 -1
  155. metadata +23 -57
  156. data/lib/cyberweb/html_tags/README.md +0 -3
  157. data/lib/cyberweb/html_tags/a.rb +0 -67
  158. data/lib/cyberweb/html_tags/accesskey.rb +0 -25
  159. data/lib/cyberweb/html_tags/blockquote.rb +0 -56
  160. data/lib/cyberweb/html_tags/body.rb +0 -14
  161. data/lib/cyberweb/html_tags/br.rb +0 -19
  162. data/lib/cyberweb/html_tags/button.rb +0 -150
  163. data/lib/cyberweb/html_tags/canvas.rb +0 -59
  164. data/lib/cyberweb/html_tags/chtml.rb +0 -14
  165. data/lib/cyberweb/html_tags/div.rb +0 -170
  166. data/lib/cyberweb/html_tags/fieldset.rb +0 -69
  167. data/lib/cyberweb/html_tags/figure.rb +0 -72
  168. data/lib/cyberweb/html_tags/form.rb +0 -203
  169. data/lib/cyberweb/html_tags/h1.rb +0 -77
  170. data/lib/cyberweb/html_tags/h2.rb +0 -81
  171. data/lib/cyberweb/html_tags/h3.rb +0 -60
  172. data/lib/cyberweb/html_tags/h4.rb +0 -66
  173. data/lib/cyberweb/html_tags/h5.rb +0 -64
  174. data/lib/cyberweb/html_tags/h6.rb +0 -60
  175. data/lib/cyberweb/html_tags/hr.rb +0 -22
  176. data/lib/cyberweb/html_tags/html_tags.rb +0 -267
  177. data/lib/cyberweb/html_tags/i.rb +0 -52
  178. data/lib/cyberweb/html_tags/img.rb +0 -294
  179. data/lib/cyberweb/html_tags/input.rb +0 -354
  180. data/lib/cyberweb/html_tags/label.rb +0 -65
  181. data/lib/cyberweb/html_tags/legend.rb +0 -56
  182. data/lib/cyberweb/html_tags/li.rb +0 -67
  183. data/lib/cyberweb/html_tags/map.rb +0 -38
  184. data/lib/cyberweb/html_tags/nav.rb +0 -63
  185. data/lib/cyberweb/html_tags/object.rb +0 -57
  186. data/lib/cyberweb/html_tags/ol.rb +0 -57
  187. data/lib/cyberweb/html_tags/option.rb +0 -64
  188. data/lib/cyberweb/html_tags/p.rb +0 -88
  189. data/lib/cyberweb/html_tags/pre.rb +0 -162
  190. data/lib/cyberweb/html_tags/section.rb +0 -33
  191. data/lib/cyberweb/html_tags/select.rb +0 -104
  192. data/lib/cyberweb/html_tags/span.rb +0 -344
  193. data/lib/cyberweb/html_tags/strong.rb +0 -42
  194. data/lib/cyberweb/html_tags/table.rb +0 -284
  195. data/lib/cyberweb/html_tags/tbody.rb +0 -26
  196. data/lib/cyberweb/html_tags/td.rb +0 -212
  197. data/lib/cyberweb/html_tags/textarea.rb +0 -173
  198. data/lib/cyberweb/html_tags/th.rb +0 -70
  199. data/lib/cyberweb/html_tags/thead.rb +0 -41
  200. data/lib/cyberweb/html_tags/tr.rb +0 -99
  201. data/lib/cyberweb/html_tags/ul.rb +0 -51
  202. data/lib/cyberweb/requires/require_html_tags_files.rb +0 -23
  203. data/lib/cyberweb/toplevel_methods/logging.rb +0 -42
  204. data/lib/cyberweb/web_base/web_base.rb +0 -33
@@ -25,6 +25,11 @@ class PdfToHtml < ::Cyberweb::ObtainFilesAndDirectoriesFromThisPath # === Cyberw
25
25
  require 'pdf_paradise/utility_scripts/pdf_file_n_total_pages.rb'
26
26
  rescue LoadError; end
27
27
 
28
+ # ========================================================================= #
29
+ # === REMOTE_PATH_TO_THE_PDF_LOGO
30
+ # ========================================================================= #
31
+ REMOTE_PATH_TO_THE_PDF_LOGO = 'https://i.imgur.com/dNvPea4.png'
32
+
28
33
  # ========================================================================= #
29
34
  # === RIGHT_ARROW
30
35
  # ========================================================================= #
@@ -40,11 +45,20 @@ class PdfToHtml < ::Cyberweb::ObtainFilesAndDirectoriesFromThisPath # === Cyberw
40
45
  # ========================================================================= #
41
46
  GERMAN_TITLE = 'PDF Dokumente'
42
47
 
48
+ # ========================================================================= #
49
+ # === USE_THIS_CSS_STYLE_FOR_THE_HREF_LINK
50
+ # ========================================================================= #
51
+ USE_THIS_CSS_STYLE_FOR_THE_HREF_LINK =
52
+ 'font-size: 1.1em; margin-left: 1em; '\
53
+ 'padding: 8px; '\
54
+ 'color: saddlebrown; font-weight: bold;'
55
+
43
56
  # ========================================================================= #
44
57
  # === TARGET_TO_INGRID
45
58
  # ========================================================================= #
46
59
  TARGET_TO_INGRID = 'C:\\ingrid\\dokumente_von_ingrid_k****nz_und_peter_k****nz_vor_dem_jahr_2015\\'.
47
- squeeze('*').tr('*','u')
60
+ squeeze('*').
61
+ tr('*','u')
48
62
 
49
63
  # ========================================================================= #
50
64
  # === initialize
@@ -76,6 +90,13 @@ class PdfToHtml < ::Cyberweb::ObtainFilesAndDirectoriesFromThisPath # === Cyberw
76
90
  set_body_css_style :default_for_white_background
77
91
  end
78
92
 
93
+ # ========================================================================= #
94
+ # === title_to_use?
95
+ # ========================================================================= #
96
+ def title_to_use?
97
+ @title_to_use
98
+ end
99
+
79
100
  # ========================================================================= #
80
101
  # === run (run tag)
81
102
  # ========================================================================= #
@@ -102,77 +123,151 @@ class PdfToHtml < ::Cyberweb::ObtainFilesAndDirectoriesFromThisPath # === Cyberw
102
123
  files = ::Cyberweb.sort_this_array_by_time(files).reverse # Reverse-sort them by time, always.
103
124
  consider_appending_the_jquery_string
104
125
  addnl('<div style="color: lightgreen; margin: 8px">')
126
+ possible_name_for_the_html_file_below = ''.dup
127
+ possible_results = Dir['../*.html']
128
+ unless possible_results.empty?
129
+ possible_name_for_the_html_file_below = possible_results.first.to_s
130
+ end
131
+ # ======================================================================= #
132
+ # Next add the top-title of the page:
133
+ # ======================================================================= #
105
134
  addnl(
106
- HtmlTags.h1(
107
- '<img src="https://i.imgur.com/dNvPea4.png" style="margin-right: 0.4em">'+
108
- @title_to_use+' ('+files.size.to_s+' in total)',
135
+ HtmlTags.h1( # The hyperlink was added in February 2024.
136
+ '<a href="'+possible_name_for_the_html_file_below+'">
137
+ <img src="'+REMOTE_PATH_TO_THE_PDF_LOGO+'" style="margin-right: 0.35em">
138
+ </a>'+
139
+ title_to_use?+' ('+files.size.to_s+' in total) - <span class="smaller lightblue">'+
140
+ return_the_pretty_name_of_the_webpage+'</span>',
109
141
  'lightgreen pad12px BG_Black rounded_border'
110
142
  )
111
143
  )
112
144
  addnl('</div>')
113
- files.each_with_index {|this_file, index| index += 1
114
- puts ::Colours.rev+'Going through '+sfile(this_file)+
115
- ::Colours.rev+' (index: '+index.to_s+')'
116
- target_to_use = TARGET_TO_INGRID+
117
- File.basename(this_file)
118
- if return_pwd.include?('/home/x/data/')
119
- target_to_use = this_file
120
- end
121
- addnl(
122
- HtmlTags.a(
123
- target_to_use,
124
- css_style: 'font-size: 1.2em; color: brown; font-weight: bold;'
125
- )
126
- )
127
- addnl('<br>')
128
- # ===================================================================== #
129
- # Next we can determine the title of the .pdf file at hand.
130
- # ===================================================================== #
131
- if Object.const_defined? :PdfParadise
132
- _title_of_the_pdf_file = PdfParadise.return_title_of_this_pdf_file(this_file).to_s
133
- else
134
- _title_of_the_pdf_file = 'title is unknown'
135
- end
136
- # ===================================================================== #
137
- # Next the content in green colour, aka olivedrab, specifically:
138
- # ===================================================================== #
139
- basename = File.basename(this_file)
140
- if return_pwd.include?('/home/x/data/personal/roebe/data/gehalt/')
141
- basename = this_file.delete_suffix(
142
- '/home/x/data/personal/roebe/data/gehalt/'
145
+ # ======================================================================= #
146
+ # First, check if we want to use a more complex HTML Table layout:
147
+ # ======================================================================= #
148
+ if use_HTML_table_layout?
149
+ _ = ''.dup
150
+ #_ << '<script src="https://www.kryogenix.org/code/browser/sorttable/sorttable.js"></script>'
151
+ _ << '<table class="sortable" id="table_that_can_be_sorted" style="border-radius: 14px; '\
152
+ 'border: 4px dotted royalblue; margin: 0.25em; padding: 0.3em; font-size: 1.2em;">'.dup
153
+ _ << "\n"+
154
+ '<tr style="font-size: 1.5em">'\
155
+ '<th>Index</th>'\
156
+ '<th>File size</th>'\
157
+ '<th>n pages</th>'\
158
+ '<th>Date</th>'\
159
+ '</tr>'+"\n"
160
+ files.each_with_index {|this_file, index| index += 1
161
+ date = Cyberweb.extract_date(this_file)
162
+ # target_to_use = TARGET_TO_INGRID+
163
+ # File.basename(this_file)
164
+ target_to_use = File.basename(this_file)
165
+ file_size = (File.size(this_file) / 1024).to_s if File.file?(this_file)
166
+ _ << '<tr><td style="background-color: black; padding: 4px">'+
167
+ gold(' # '+index.to_s)+'</td>'\
168
+ '<td style="background-color: black; padding: 4px">'+ # Index
169
+ paleturquoise(' file size: '+file_size.to_s+' kb')+ # file size
170
+ '</td>'+
171
+ '<td style="background-color: black; padding: 4px">'+colour_for_pdf_files(
172
+ ' n pages: '+PdfParadise.n_pages?(this_file).to_s)+
173
+ '</td>'+ # n pages
174
+ '<td style="font-weight: bold; background-color: black; padding: 4px; color: lightgreen">'+
175
+ date+ # Date
176
+ '</td>'+
177
+ '</tr>'+
178
+ "\n"
179
+ shortened_description = File.basename(target_to_use)
180
+ if shortened_description.include? '\\'
181
+ shortened_description = shortened_description.split('\\').last
182
+ end
183
+ shortened_description = shortened_description.
184
+ delete_suffix('.pdf').
185
+ tr('_',' ')
186
+ # =================================================================== #
187
+ # Shorten the content if it exceeds a certain threshold:
188
+ # =================================================================== #
189
+ threshold_to_use = 92
190
+ if shortened_description.size > threshold_to_use
191
+ shortened_description = shortened_description[0 .. threshold_to_use]+' [...]'
192
+ end
193
+ # =================================================================== #
194
+ # Add the <href> tag next:
195
+ # =================================================================== #
196
+ _ << '<tr><td colspan="4">'+HtmlTags.a(
197
+ target_to_use,
198
+ css_style: USE_THIS_CSS_STYLE_FOR_THE_HREF_LINK,
199
+ description: RIGHT_ARROW+' '+
200
+ shortened_description
201
+ )+'</td></tr>'+"\n"
202
+ }
203
+ _ << '</table><br><br>'
204
+ addnl(_) # And finally add it here.
205
+ else
206
+ files.each_with_index {|this_file, index| index += 1
207
+ puts ::Colours.rev+'Going through '+sfile(this_file)+
208
+ ::Colours.rev+' (index: '+index.to_s+')'
209
+ target_to_use = TARGET_TO_INGRID+
210
+ File.basename(this_file)
211
+ if return_pwd.include?('/home/x/data/')
212
+ target_to_use = this_file
213
+ end
214
+ # Add the HTML-link next:
215
+ addnl(
216
+ HtmlTags.a(
217
+ target_to_use,
218
+ css_style: 'font-size: 1.1em; color: brown; font-weight: bold;'
219
+ )
143
220
  )
144
- end
145
- file_size = (File.size(this_file) / 1024).to_s if File.file?(this_file)
146
- # ===================================================================== #
147
- # Build up the "floating"-div next; it actually is no longer floating.
148
- # ===================================================================== #
149
- floating_div = '<div class="NO_BLOCK" style="margin-left: 14px; border-radius: 12px; padding: 8px; background-color: black;">'+
150
- gold(' # '+index.to_s)+
151
- mediumseagreen(
152
- ' file size: '+file_size+' kb'
153
- )+'; '+
154
- colour_for_pdf_files(
155
- ' n pages: '+PdfParadise.n_pages?(this_file).to_s
156
- )+
157
- '</div>'
158
- addnl(
159
- '<br>'+ # Next the hyperlink.
160
- HtmlTags.a(
161
- basename,
162
- description: "#{RIGHT_ARROW} "+
163
- File.basename(this_file).delete_suffix('.pdf').
164
- tr('_',' ')+
165
- floating_div,
166
- css_class: 'BOLD',
167
- css_style: 'font-size: 1.1em;
168
- margin-left: 0.8em;
169
- font-weight: bold;
170
- color: darkblue;',
171
- open_new_tab: true
221
+ addnl('<br>')
222
+ # ===================================================================== #
223
+ # Next we can determine the title of the .pdf file at hand.
224
+ # ===================================================================== #
225
+ if Object.const_defined? :PdfParadise
226
+ _title_of_the_pdf_file = PdfParadise.return_title_of_this_pdf_file(this_file).to_s
227
+ else
228
+ _title_of_the_pdf_file = 'title is unknown'
229
+ end
230
+ # ===================================================================== #
231
+ # Next the content in green colour, aka olivedrab, specifically:
232
+ # ===================================================================== #
233
+ basename = File.basename(this_file)
234
+ if return_pwd.include?('/home/x/data/personal/roebe/data/gehalt/')
235
+ basename = this_file.delete_suffix(
236
+ '/home/x/data/personal/roebe/data/gehalt/'
237
+ )
238
+ end
239
+ file_size = (File.size(this_file) / 1024).to_s if File.file?(this_file)
240
+ # ===================================================================== #
241
+ # Build up the "floating"-div next; it actually is no longer floating.
242
+ # ===================================================================== #
243
+ floating_div = '<div class="NO_BLOCK" style="margin-left: 14px; border-radius: 12px; padding: 8px; background-color: black;">'+
244
+ gold(' # '+index.to_s)+
245
+ mediumseagreen(
246
+ ' file size: '+file_size+' kb'
247
+ )+'; '+
248
+ colour_for_pdf_files(
249
+ ' n pages: '+PdfParadise.n_pages?(this_file).to_s
250
+ )+
251
+ '</div>'
252
+ addnl(
253
+ '<br>'+ # Next the hyperlink.
254
+ HtmlTags.a(
255
+ basename,
256
+ description: "#{RIGHT_ARROW} "+
257
+ File.basename(this_file).delete_suffix('.pdf').
258
+ tr('_',' ')+
259
+ floating_div,
260
+ css_class: 'BOLD',
261
+ css_style: 'font-size: 1.1em;
262
+ margin-left: 0.8em;
263
+ font-weight: bold;
264
+ color: darkblue;',
265
+ open_new_tab: true
266
+ )
172
267
  )
173
- )
174
- addnl('<br><br>')
175
- }
268
+ addnl('<br><br>')
269
+ }
270
+ end
176
271
  if add_hyperlinks_to_subdirectories?
177
272
  # ===================================================================== #
178
273
  # Yes, we need .html files here. As of December 2023 we will also
@@ -9,12 +9,12 @@ module Cyberweb
9
9
  # ========================================================================= #
10
10
  # === VERSION
11
11
  # ========================================================================= #
12
- VERSION = '0.12.35'
12
+ VERSION = '0.13.11'
13
13
 
14
14
  # ========================================================================= #
15
15
  # === LAST_UPDATE
16
16
  # ========================================================================= #
17
- LAST_UPDATE = '07.01.2024'
17
+ LAST_UPDATE = '28.02.2024'
18
18
 
19
19
  # ========================================================================= #
20
20
  # === URL_TO_THE_DOCUMENTATION
@@ -12,10 +12,10 @@ module Cyberweb
12
12
 
13
13
  module WebImages
14
14
 
15
+ require 'cyberweb/constants/constants.rb'
15
16
  require 'cyberweb/web_images/array_listing_all_project_images.rb'
16
17
  require 'cyberweb/configuration/configuration.rb'
17
18
  require 'cyberweb/project/project.rb'
18
- require 'cyberweb/constants/constants.rb'
19
19
 
20
20
  # ========================================================================= #
21
21
  # === Cyberweb::WebImages::IMG_DIR
@@ -1015,7 +1015,9 @@ module WebImages
1015
1015
  # ======================================================================= #
1016
1016
  # === :pfeil1
1017
1017
  # ======================================================================= #
1018
- when :pfeil1, :kleiner_pfeil, :rechter_pfeil
1018
+ when :pfeil1,
1019
+ :kleiner_pfeil,
1020
+ :rechter_pfeil
1019
1021
  _ = "#{IMG_DIR}PFEIL1.png"
1020
1022
  # ======================================================================= #
1021
1023
  # === :pfeil2
@@ -1517,11 +1519,20 @@ module WebImages
1517
1519
  when :five_star,
1518
1520
  :five_stars
1519
1521
  _ = "#{IMG_DIR}EVAL/05_STAR.png"
1522
+ # ======================================================================= #
1523
+ # === :spiderman_head
1524
+ # ======================================================================= #
1520
1525
  when :spiderman_head,
1521
1526
  :pilothead
1522
1527
  _ = "#{IMG_DIR}SPIDERMAN_HEAD.png"
1528
+ # ======================================================================= #
1529
+ # === :sun
1530
+ # ======================================================================= #
1523
1531
  when :sun
1524
1532
  _ = "#{IMG_DIR}SUN.png"
1533
+ # ======================================================================= #
1534
+ # === :sync
1535
+ # ======================================================================= #
1525
1536
  when :sync
1526
1537
  _ = "#{IMG_DIR}SYNC.png"
1527
1538
  # ======================================================================= #
@@ -51,6 +51,7 @@
51
51
  #
52
52
  # =========================================================================== #
53
53
  # require 'cyberweb/web_object/web_object.rb'
54
+ # include Cyberweb::WebObject
54
55
  # =========================================================================== #
55
56
  require 'cyberweb/requires/require_the_html_template.rb'
56
57
 
@@ -69,14 +70,7 @@ class WebObject < ::Cyberweb::HtmlTemplate # === Cyberweb::WebObject
69
70
  require 'cyberweb/modules/css_style.rb'
70
71
  require 'cyberweb/modules/favicon.rb'
71
72
  require 'cyberweb/coloured_tags/coloured_tags.rb'
72
- require 'cyberweb/html_tags/fieldset.rb'
73
- require 'cyberweb/html_tags/form.rb'
74
- require 'cyberweb/html_tags/img.rb'
75
- require 'cyberweb/html_tags/input.rb'
76
- require 'cyberweb/html_tags/table.rb'
77
- require 'cyberweb/html_tags/textarea.rb'
78
73
  require 'cyberweb/web_images/map_symbol_to_image_location.rb'
79
- require 'cyberweb/html_tags/html_tags.rb'
80
74
  require 'cyberweb/web_object/toplevel_web_object.rb'
81
75
  require 'cyberweb/web_object/javascript_and_jquery.rb'
82
76
 
@@ -1563,6 +1557,13 @@ class WebObject < ::Cyberweb::HtmlTemplate # === Cyberweb::WebObject
1563
1557
  self_abr(remote_url, optional_hash)
1564
1558
  end
1565
1559
 
1560
+ # ========================================================================= #
1561
+ # === include_onto_the_webobject
1562
+ # ========================================================================= #
1563
+ def include_onto_the_webobject(i) # Pass a constant to this method.
1564
+ self.class.include(i)
1565
+ end
1566
+
1566
1567
  # ========================================================================= #
1567
1568
  # === display_simple_clock
1568
1569
  #
@@ -1749,6 +1750,11 @@ function simple_clock_timer() {
1749
1750
 
1750
1751
  # ========================================================================= #
1751
1752
  # === cheader_h2
1753
+ #
1754
+ # Usage example:
1755
+ #
1756
+ # cheader_h2 'Das WASB-Schema', id: 'WASB'
1757
+ #
1752
1758
  # ========================================================================= #
1753
1759
  def cheader_h2(
1754
1760
  i = '',
@@ -5025,6 +5031,14 @@ EOF
5025
5031
  # ===================================================================== #
5026
5032
  optional_the_id = Cyberweb.remove_html(i).tr(' ','_')
5027
5033
  end
5034
+ # ======================================================================= #
5035
+ # === Handle Hashes next
5036
+ # ======================================================================= #
5037
+ if optional_css_class.is_a? Hash
5038
+ if optional_css_class.has_key? :id
5039
+ optional_the_id = optional_css_class.delete(:id)
5040
+ end
5041
+ end
5028
5042
  if use_fancy_id
5029
5043
  method_name = "#{use_this_tag}_fancy_id".to_sym # For instance, h1_fancy_id().
5030
5044
  send(method_name,
@@ -6067,6 +6081,25 @@ EOF
6067
6081
  end
6068
6082
  end
6069
6083
  # ======================================================================= #
6084
+ # === Check for Hashes as second argument to this method next:
6085
+ # ======================================================================= #
6086
+ if optional_css_class.is_a?(Hash)
6087
+ # ===================================================================== #
6088
+ # Usage example:
6089
+ #
6090
+ # display_this_file 'SLOGANS.md', css_style: 'font-size: 1.2em'
6091
+ #
6092
+ # ===================================================================== #
6093
+ # === :css_style
6094
+ # ===================================================================== #
6095
+ if optional_css_class.has_key? :css_style
6096
+ optional_css_style = optional_css_class.delete(:css_style)
6097
+ end
6098
+ if optional_css_class.is_a?(Hash) and optional_css_class.empty?
6099
+ optional_css_class = 'FS1_5em' # This is the default.
6100
+ end
6101
+ end
6102
+ # ======================================================================= #
6070
6103
  # === Handle blocks next
6071
6104
  # ======================================================================= #
6072
6105
  if block_given?
@@ -7997,7 +8030,7 @@ end
7997
8030
  # ========================================================================= #
7998
8031
  def add_dynamic_text_shadow(
7999
8032
  optional_hash = {
8000
- padding_to_use: '5vmin',
8033
+ padding_to_use: '4vmin',
8001
8034
  background_hsl: 'hsl(200 50% 50%)'
8002
8035
  }
8003
8036
  )
@@ -8694,7 +8727,6 @@ SQL
8694
8727
  end
8695
8728
  end
8696
8729
 
8697
- require 'cyberweb/html_tags/section.rb'
8698
8730
  # ========================================================================= #
8699
8731
  # === csection
8700
8732
  # ========================================================================= #
@@ -9197,11 +9229,20 @@ EOF
9197
9229
  }
9198
9230
  )
9199
9231
  _ = optional_hash
9232
+ # ======================================================================= #
9233
+ # === :padding
9234
+ # ======================================================================= #
9200
9235
  if _.has_key? :padding
9201
9236
  padding_to_use = _[:padding].to_s
9237
+ # ======================================================================= #
9238
+ # === :padding_to_use
9239
+ # ======================================================================= #
9202
9240
  elsif _.has_key? :padding_to_use
9203
9241
  padding_to_use = _[:padding_to_use].to_s
9204
9242
  end
9243
+ # ======================================================================= #
9244
+ # === :background_hsl
9245
+ # ======================================================================= #
9205
9246
  if _.has_key? :background_hsl
9206
9247
  background_hsl = _[:background_hsl].to_s
9207
9248
  else # else use a default
@@ -9211,17 +9252,18 @@ EOF
9211
9252
  # Next add these to the main CSS rules:
9212
9253
  # ======================================================================= #
9213
9254
  return '
9214
- .dynamic_text_shadow {
9215
- /* larger font size, more shadow distance */
9216
- text-shadow: .1em .1em 0 hsl(200 50% 30%);
9217
- block-size: 100%;
9218
- background: '+background_hsl+';
9219
- color: hsl(200 50% 90%);
9220
- font-family: "Fugaz One", cursive;
9221
- min-block-size: 100%;
9222
- padding: '+padding_to_use+';
9223
- display: grid;
9224
- }'
9255
+ .dynamic_text_shadow {
9256
+
9257
+ /* larger font size, more shadow distance */
9258
+ font-family: "Fugaz One", cursive;
9259
+ text-shadow: .1em .1em 0 hsl(200 50% 30%);
9260
+ background: '+background_hsl+';
9261
+ color: hsl(200 50% 90%);
9262
+ padding: '+padding_to_use+';
9263
+ block-size: 100%;
9264
+ display: grid;
9265
+
9266
+ }' # min-block-size: 100%;
9225
9267
  end; alias return_dynamic_text_shadow dynamic_text_shadow # === return_dynamic_text_shadow
9226
9268
  alias dynamic_header dynamic_text_shadow # === dynamic_header
9227
9269
 
@@ -106,7 +106,9 @@ class ScrapeThisUrl < ::Kimurai::Base # === Cyberweb::ScrapeThisUrl
106
106
  # The variable url will point to the remote URL.
107
107
  # ========================================================================= #
108
108
  def parse(
109
- response, url: , data: {}
109
+ response,
110
+ url: ,
111
+ data: {}
110
112
  )
111
113
  @remote_url = url
112
114
  @result = response
@@ -47,7 +47,7 @@ RUBY_SRC = '/home/x/programming/ruby/src/'
47
47
  STD_BIO_FILE = RUBY_SRC+'bioroebe/lib/bioroebe/std_biology.rb'
48
48
  SCI = SCIENCE_DIR = '/home/x/data/science/'
49
49
 
50
- doc('s0_5em','','margin:1px; min-height:20em'){
50
+ default_width('s0_5em','','margin:1px; min-height:20em'){
51
51
  h1 sg(:leaf,'marr5px')+'<a href="'+$PROGRAM_NAME.split('/').last+'">Biology</a>',
52
52
  's0_5em mart2px slateblue'
53
53
 
@@ -22,7 +22,7 @@ body_css_class 's12px padt4px marpad2px VERDANAs'
22
22
  body_css_style 'background-color: #d3d2d1;'
23
23
  font_size 'larger'
24
24
 
25
- doc {
25
+ preferred_width {
26
26
  # ========================================================================= #
27
27
  # Obtain the parameters first.
28
28
  # ========================================================================= #
@@ -13,7 +13,7 @@ body_css_class 's2px padt2px marpad2px VERDANAs'
13
13
  body_css_style 'background-color: #d3d2d1;'
14
14
  default_font_size_and_hyperlinks
15
15
 
16
- doc {
16
+ preferred_width {
17
17
  h1 sg(:cat)+
18
18
  'Displaying the <b>colour chart</b> next',
19
19
  'mart4px'
@@ -68,7 +68,7 @@ body {text-align:left;}'
68
68
  fav 'PC/RUBY/RUBY_FAVICON.png'
69
69
  body_css_class 'wid97 BG_Black pad0_7em'
70
70
  body_css_style 'border-top:1px solid orange;border-left:1px solid orange;color:#ceffce;'
71
- default_font_size
71
+ default_font_size_and_hyperlinks
72
72
 
73
73
  PARAMS = params?
74
74
  # =========================================================================== #
@@ -78,7 +78,7 @@ def date_today
78
78
  w.date_today # w() is a call to a web object.
79
79
  end
80
80
 
81
- doc_preferred_width('s0_5em','min-height:50em') {
81
+ preferred_width('s0_5em','min-height:50em') {
82
82
  fancy3 'Comments',
83
83
  's2em limegreen'
84
84
  # ========================================================================= #
@@ -36,7 +36,7 @@ module Webmin # === Cyberweb::Webmin
36
36
  registered_webmin_components?.each {|entry|
37
37
  abr(
38
38
  entry,
39
- content: entry,
39
+ content: entry,
40
40
  css_class: css_to_use
41
41
  )
42
42
  }
@@ -12,7 +12,7 @@ default_template
12
12
  ruby_favicon
13
13
  body_css_class 's12px padt4px marpad2px VERDANAs'
14
14
  body_css_style 'background-color: #d3d2d1;'
15
- default_font_size
15
+ default_font_size_and_hyperlinks
16
16
 
17
17
  PARAMS = params?
18
18
 
@@ -23,7 +23,7 @@ def translate(i)
23
23
  Dictionaries.translate(i)
24
24
  end
25
25
 
26
- doc_preferred_width {
26
+ preferred_width {
27
27
  h2 'Dictionary'
28
28
  p('mars2em') {
29
29
  e 'Input the word that you wish to query via the URL.'
@@ -14,9 +14,9 @@ ruby_favicon
14
14
  default_template
15
15
  body_css_class 'mar0px s2px padt2px VERDANAs'
16
16
  body_css_style 'background-color: #d3d2d1;'
17
- default_font_size
17
+ default_font_size_and_hyperlinks
18
18
 
19
- doc('mar0px pad0px s0_6em') {
19
+ preferred_width('mar0px pad0px s0_6em') {
20
20
  h1 dot(106, 'marr8px')+
21
21
  title?,
22
22
  'mart1px marb0_5em'
@@ -2,9 +2,9 @@
2
2
  # Encoding: UTF-8
3
3
  # frozen_string_literal: true
4
4
  # =========================================================================== #
5
- # http://localhost/programming/ruby/src/cyberweb/lib/cyberweb/webmin/sys_info.cgi
5
+ # Gives us info about system stuff. Should be easy to use for the user.
6
6
  # =========================================================================== #
7
- # Gives us info about system stuff. Should be easy for the user.
7
+ # http://localhost/programming/ruby/src/cyberweb/lib/cyberweb/webmin/sys_info.cgi
8
8
  # =========================================================================== #
9
9
  require 'cyberweb/autoinclude'
10
10
 
@@ -15,7 +15,7 @@ body_css_class 'pad0_2em BG_Black White'
15
15
  body_css_style 'pre { font-size: larger; }'
16
16
  # font_family 'sans-serif'
17
17
  }
18
- doc {
18
+ preferred_width {
19
19
  rubyinfo() # Like phpinfo().
20
20
  p('s1em') {
21
21
  abr 'FRAGEN.cgi?10', content: '10-Fragen', css_class: 'slateblue'
@@ -33,7 +33,7 @@ def check_the_arguments(
33
33
  end
34
34
  end
35
35
 
36
- doc('mar0px pad0px') {
36
+ preferred_width('mar0px pad0px') {
37
37
  h2 'Webforum example','mart1px marb1em'
38
38
  form('SELF', :get, 'mars2em') {
39
39
  label 'User name: '
@@ -1,6 +1,7 @@
1
1
  # =========================================================================== #
2
2
  # x = YAML.load_file('registered_html_tags.yml')
3
3
  # =========================================================================== #
4
+
4
5
  - !ruby/symbol a
5
6
  - !ruby/symbol abbr
6
7
  - !ruby/symbol blockquote
@@ -28,4 +29,5 @@
28
29
  - !ruby/symbol span
29
30
  - !ruby/symbol table
30
31
  - !ruby/symbol textarea
31
- - !ruby/symbol title
32
+ - !ruby/symbol title
33
+ - !ruby/symbol thead
@@ -4,7 +4,7 @@
4
4
  # =========================================================================== #
5
5
  # cyberweb/test/simple_tests
6
6
  # =========================================================================== #
7
- require 'cyberweb/toplevel_methods/misc.rb'
7
+ require 'cyberweb/toplevel_methods/toplevel_methods.rb'
8
8
 
9
9
  this_file = '/home/x/data/personal/yaml/my_weight.md'
10
10