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
@@ -1,284 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'cyberweb/html_tags/table.rb'
6
- # =========================================================================== #
7
- module Cyberweb
8
-
9
- require 'cyberweb/toplevel_methods/css.rb'
10
- require 'cyberweb/web_base/web_base.rb'
11
- require 'cyberweb/html_tags/tr.rb'
12
- require 'cyberweb/html_tags/td.rb'
13
-
14
- # ========================================================================= #
15
- # === @array_tables
16
- #
17
- # All table-strings are stored in this Array as well.
18
- # ========================================================================= #
19
- @array_tables = []
20
-
21
- # ========================================================================= #
22
- # === Cyberweb.array_tables?
23
- # ========================================================================= #
24
- def self.array_tables?
25
- @array_tables
26
- end; self.instance_eval { alias tables? array_tables? } # === Cyberweb.tables?
27
-
28
- # ========================================================================= #
29
- # === Cyberweb.append_to_tables
30
- # ========================================================================= #
31
- def self.append_to_tables(i = nil)
32
- @array_tables << i if i
33
- end; self.instance_eval { alias add_this_to_the_registered_tables append_to_tables } # === Cyberweb.add_this_to_the_registered_tables
34
-
35
- # ========================================================================= #
36
- # === Cyberweb::Table
37
- #
38
- # Usage example for setting to a default CSS class to use in <table>
39
- # tags goes like so:
40
- #
41
- # Table.set_css_class 'red'
42
- #
43
- # This will then have set a new default for all <table> tags, as
44
- # they will be red from this point on.
45
- #
46
- # To test it, try:
47
- #
48
- # Cyberweb::Table.to_s
49
- #
50
- # ========================================================================= #
51
- class Table < WebBase # This module allows us to style it a bit.
52
-
53
- # ======================================================================= #
54
- # === @table_css_class
55
- # ======================================================================= #
56
- @table_css_class = nil
57
-
58
- # ======================================================================= #
59
- # === Cyberweb::Table.return_alternate_backgrounds
60
- #
61
- # This table will use alternative backgrounds.
62
- # ======================================================================= #
63
- def self.return_alternate_backgrounds(
64
- array = [],
65
- optional_css_class = '',
66
- &block
67
- )
68
- _use_this_class_for_even_rows = 'dark_background'
69
- _use_this_class_for_odd_rows = 'light_background'
70
- # ===================================================================== #
71
- # === Handle blocks next
72
- # ===================================================================== #
73
- if block_given?
74
- yielded = yield
75
- if array.empty? and !yielded.empty?
76
- array = yielded
77
- end
78
- end
79
- table = Cyberweb::Objectified::HtmlTags::Table.new(optional_css_class)
80
- table.alternate_backgrounds(
81
- array,
82
- optional_css_class
83
- )
84
- # ===================================================================== #
85
- # The old code in October 2021 was the following:
86
- # _ = '<table'.dup
87
- # _ << ::Cyberweb.return_css_class(optional_css_class)
88
- # _ << '>'
89
- # array.each_with_index {|entry, index|
90
- # _ << "<tr>#{N}"
91
- # case index % 2
92
- # when 0
93
- # _ << '<td class="'+use_this_class_for_even_rows+'">'+N
94
- # when 1
95
- # _ << '<td class="'+use_this_class_for_odd_rows+'">'+N
96
- # end
97
- # _ << entry+N
98
- # _ << '</td>'+N
99
- # _ << '</tr>'+N
100
- # }
101
- # _ << '</table>'+N
102
- # return _
103
- #
104
- # It will be retained for a bit longer in the comment above.
105
- # ===================================================================== #
106
- return table.to_s
107
- end
108
-
109
- # ======================================================================= #
110
- # === Cyberweb::Table.set_css_class
111
- # ======================================================================= #
112
- def self.set_css_class(i = DEFAULT_CSS_CLASS)
113
- @table_css_class = i
114
- end
115
-
116
- # ======================================================================= #
117
- # === Cyberweb::Table.to_s
118
- # ======================================================================= #
119
- def self.to_s
120
- @table_css_class
121
- end
122
-
123
- # ======================================================================= #
124
- # === Cyberweb::Table.enable_padding
125
- # ======================================================================= #
126
- def self.enable_padding # This is supposed to enable padding.
127
- Table.set_css_class 'pad15px'
128
- end
129
-
130
- # ======================================================================= #
131
- # === Cyberweb::Table.padding=
132
- #
133
- # This is an alias towards "bspace", aka the "border-spacing" property.
134
- # ======================================================================= #
135
- def self.padding=(i)
136
- Table.set_css_class('bspace'+i.to_s)
137
- end
138
-
139
- # ======================================================================= #
140
- # === Cyberweb::Table.clear
141
- # ======================================================================= #
142
- def self.clear
143
- @table_css_class = nil
144
- end; self.instance_eval { alias reset clear } # === Cyberweb::Table.reset
145
-
146
- # ======================================================================= #
147
- # === Cyberweb::Table.alternate_backgrounds
148
- #
149
- # Next, define the method Table.alternate_backgrounds().
150
- #
151
- # The first argument to this method must be an Array.
152
- #
153
- # Usage examples:
154
- #
155
- # Cyberweb::Table.alternate_backgrounds(%w( one two three four ), 'bblack1 pad0_5em')
156
- # Table.alternate_backgrounds(%w( one two three four ), 'bblack1 pad0_5em')
157
- #
158
- # ======================================================================= #
159
- def self.alternate_backgrounds(
160
- array, optional_css_class = ''
161
- )
162
- ee ::Cyberweb::Table.return_alternate_backgrounds(array, optional_css_class)
163
- end
164
-
165
- end
166
-
167
- # ========================================================================= #
168
- # === table_with_caption
169
- #
170
- # This is a table with a leading "caption".
171
- # ========================================================================= #
172
- def table_with_caption(
173
- caption = 'README',
174
- css_class = Table.to_s,
175
- the_id = '',
176
- css_style = ''
177
- )
178
- fieldset(style: 'width: 70%;margin-left:1em'){
179
- legend caption
180
- table(css_class, the_id, css_style) { yield if block_given? }
181
- }
182
- end
183
-
184
- # ========================================================================= #
185
- # === Cyberweb.ctable
186
- # ========================================================================= #
187
- def self.ctable
188
- eclose :table
189
- end
190
-
191
- # ========================================================================= #
192
- # === ctable
193
- # ========================================================================= #
194
- def ctable
195
- ::Cyberweb.ctable
196
- end
197
-
198
- # ========================================================================= #
199
- # === Table.parse
200
- # ========================================================================= #
201
- def Table.parse(*i)
202
- ::Cyberweb.parse_table(i)
203
- end
204
-
205
- # ========================================================================= #
206
- # === table
207
- #
208
- # The last argument allows us to easily pass blocks to the parent method.
209
- #
210
- # Usage example:
211
- #
212
- # table('mars1em','test_table','border:1px solid rand') { %w( abc def ghi jkl ) }
213
- #
214
- # ========================================================================= #
215
- def table(
216
- a = Table.to_s, b = '', c = '', &block
217
- )
218
- ::Cyberweb.table(a,b,c, &block)
219
- end
220
-
221
- # ========================================================================= #
222
- # === Cyberweb.table (table tag)
223
- #
224
- # This will simply create a <table> tag.
225
- #
226
- # You can optionally pass a block, which will then be used as input for
227
- # the method (its dataset). We need an array for it to work.
228
- #
229
- # In case the input is a Hash, we convert it into array format first.
230
- #
231
- # Usage example:
232
- #
233
- # Cyberweb.table('mars1em','test_table','border:1px solid rand') { %w( abc def ghi jkl ) }
234
- #
235
- # ========================================================================= #
236
- def self.table(
237
- css_class = Table.to_s,
238
- the_id = '',
239
- css_style = '',
240
- &block
241
- )
242
- result = ''.dup
243
- result << string_tag(:table, css_class, the_id, css_style) # Delegate towards tag().
244
- css_class = Table.to_s if css_class == 'DEF' # Use default here.
245
- yielded = nil
246
- yielded = yield if block_given?
247
- if yielded
248
- yielded = yielded.to_a.flatten if yielded.is_a? Hash # Convert into Array in this case.
249
- if yielded.is_a? Array # If we pass in an array.
250
- yielded.each_with_index { |entry, index|
251
- if (index % 2) == 0
252
- result << string_tr
253
- result << string_td(entry)
254
- else
255
- result << string_td(entry)
256
- result << string_ctr
257
- end
258
- }
259
- end
260
- result << string_ctable # Close the table again if we passed a block.
261
- end
262
- # self.append_to_tables << result if result # Store the result in our Tables.
263
- ee result # Output the result too.
264
- end
265
-
266
- # ========================================================================= #
267
- # === Cyberweb.string_ctable
268
- #
269
- # This returns a properly closed </table> tag.
270
- # ========================================================================= #
271
- def self.string_ctable
272
- HtmlTags.ctable
273
- end
274
-
275
- # ========================================================================= #
276
- # === string_ctable
277
- #
278
- # This returns a properly closed </table> tag.
279
- # ========================================================================= #
280
- def string_ctable
281
- ::Cyberweb.ctable
282
- end
283
-
284
- end
@@ -1,26 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- module Cyberweb
6
-
7
- # ========================================================================= #
8
- # === tbody
9
- #
10
- # For the <tbody> tag we will simply delegate towards the HtmlTags
11
- # project.
12
- #
13
- # Documentation for the <tbody> tag can be found here:
14
- #
15
- # https://www.w3schools.com/tags/tag_tbody.asp
16
- #
17
- # ========================================================================= #
18
- def tbody(
19
- css_class = '',
20
- the_id = '',
21
- css_style = ''
22
- )
23
- HtmlTags.tbody(css_class, the_id, css_style) # Delegate to HtmlTags here.
24
- end
25
-
26
- end
@@ -1,212 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'cyberweb/html_tags/td.rb'
6
- # =========================================================================== #
7
- module Cyberweb
8
-
9
- # ========================================================================= #
10
- # === Cyberweb::Td
11
- #
12
- # To use class Td, do this:
13
- #
14
- # Td.set_css_class 'marl1em'
15
- # table(Td.to_s,'test_table2','') { %w( cat dog hamster ) }
16
- #
17
- # ========================================================================= #
18
- class Td < WebBase
19
-
20
- # ======================================================================= #
21
- # === @td_css_class
22
- # ======================================================================= #
23
- @td_css_class = nil
24
-
25
- # ======================================================================= #
26
- # === Cyberweb::Td.set_css_class
27
- # ======================================================================= #
28
- def self.set_css_class(i = DEFAULT_CSS_CLASS) # DEFAULT_CSS_CLASS is defined in cyberweb/toplevel_methods/css.rb
29
- @td_css_class = i
30
- end
31
-
32
- # ======================================================================= #
33
- # === Cyberweb::Td.to_s
34
- # ======================================================================= #
35
- def self.to_s; @td_css_class.to_s; end
36
-
37
- # ======================================================================= #
38
- # === Cyberweb::Td.padding=
39
- #
40
- # This is an alias towards "bspace", aka the "border-spacing" property.
41
- # ======================================================================= #
42
- def self.padding=(i)
43
- Td.set_css_class('bspace'+i.to_s)
44
- end
45
-
46
- # ======================================================================= #
47
- # === Cyberweb::Td.reset
48
- # ======================================================================= #
49
- def self.reset
50
- @td_css_class = nil
51
- end; self.instance_eval { alias clear reset } # === Td.clear
52
-
53
- end
54
-
55
- # ========================================================================= #
56
- # === Cyberweb.string_td (td tag)
57
- #
58
- # This creates a '<td>' tag, as String, which can be used in HTML Tables.
59
- #
60
- # Right now we will always close this tag.
61
- # ========================================================================= #
62
- def self.string_td(
63
- optional_input = '',
64
- css_class = Td.to_s,
65
- the_id = '',
66
- css_style = ''
67
- )
68
- result = ''.dup
69
- result << string_tag('td', css_class, the_id, css_style)
70
- # ======================================================================= #
71
- # === Handle blocks if given
72
- #
73
- # Yield if a block was given.
74
- # ======================================================================= #
75
- if block_given?
76
- result << yield.to_s
77
- elsif optional_input.to_s.empty? # Pass through as we did not pass in anything.
78
- else
79
- result << string_s2(optional_input) # Else, display it.
80
- end
81
- result << string_ctd
82
- result
83
- end
84
-
85
- # ========================================================================= #
86
- # === ctdtd
87
- # ========================================================================= #
88
- def ctdtd(optional_input = '')
89
- ctd {
90
- ee optional_input unless optional_input.empty?
91
- }
92
- end
93
-
94
- # ========================================================================= #
95
- # === ctdtr
96
- # ========================================================================= #
97
- def ctdtr
98
- ctd
99
- tr
100
- end
101
-
102
- # ========================================================================= #
103
- # === Cyberweb.ctrctd
104
- # ========================================================================= #
105
- def self.ctrctd
106
- ctr; ctd
107
- end
108
-
109
- # ========================================================================= #
110
- # === ctrctd
111
- # ========================================================================= #
112
- def ctrctd
113
- ::Cyberweb.ctrctd
114
- end
115
-
116
- # ========================================================================= #
117
- # === trtd
118
- #
119
- # This method generates a <tr> and a <td> tag.
120
- # ========================================================================= #
121
- def trtd(
122
- optional_input = '',
123
- css = '',
124
- the_id = '',
125
- css_style = ''
126
- )
127
- tr css, the_id, css_style
128
- ee '<td>'
129
- s2 optional_input unless optional_input.empty?
130
- if block_given?
131
- yield
132
- ctd
133
- ctr
134
- end
135
- end
136
-
137
- # ========================================================================= #
138
- # === Cyberweb.td
139
- # ========================================================================= #
140
- def self.td(
141
- a = '', b = Td.to_s, c = '', d = '', &block
142
- )
143
- ee ::Cyberweb.string_td(a, b, c, d, &block)
144
- end
145
-
146
- # ========================================================================= #
147
- # === ctd
148
- # ========================================================================= #
149
- def ctd(&block)
150
- ::Cyberweb.ctd(&block)
151
- end
152
-
153
- # ========================================================================= #
154
- # === Cyberweb.ctd
155
- # ========================================================================= #
156
- def self.ctd(&block)
157
- ee ::Cyberweb.string_ctd(&block)
158
- end
159
-
160
- # ========================================================================= #
161
- # === Cyberweb.string_ctd
162
- # ========================================================================= #
163
- def self.string_ctd(&block)
164
- result = ''.dup
165
- if block
166
- result << block # Yield the content, then close the tag.
167
- end
168
- result << string_close(:td)
169
- result
170
- end
171
-
172
- # ========================================================================= #
173
- # === string_ctr
174
- # ========================================================================= #
175
- def string_ctr
176
- ::Cyberweb.string_ctr
177
- end
178
-
179
- # ========================================================================= #
180
- # === Cyberweb.string_ctr
181
- #
182
- # This is equivalent to the string '</tr>', usually surrounded by two
183
- # newlines - so "\n</tr>\n".
184
- # ========================================================================= #
185
- def self.string_ctr
186
- string_close(:tr)
187
- end; self.instance_eval { alias ctr string_ctr } # === Cyberweb.ctr
188
-
189
- # ========================================================================= #
190
- # === td
191
- # ========================================================================= #
192
- def td(
193
- a = '', b = Td.to_s, c = '', d = '', &block
194
- )
195
- ::Cyberweb.td(a, b, c, d, &block)
196
- end
197
-
198
- # ========================================================================= #
199
- # === ctdctr
200
- # ========================================================================= #
201
- def ctdctr
202
- ctd; ctr
203
- end
204
-
205
- # ========================================================================= #
206
- # === ctr
207
- # ========================================================================= #
208
- def ctr
209
- ee ::Cyberweb.string_ctr
210
- end
211
-
212
- end
@@ -1,173 +0,0 @@
1
- #!/usr/bin/ruby -w
2
- # Encoding: UTF-8
3
- # frozen_string_literal: true
4
- # =========================================================================== #
5
- # require 'cyberweb/html_tags/textarea.rb'
6
- # Cyberweb.string_textarea()
7
- # =========================================================================== #
8
- module Cyberweb
9
-
10
- require 'cyberweb/javascript/javascript.rb'
11
-
12
- # ========================================================================= #
13
- # === Cyberweb::Textarea
14
- # ========================================================================= #
15
- class Textarea < WebBase # === Cyberweb::Textarea
16
-
17
- # ======================================================================= #
18
- # === @textarea_css_class
19
- # ======================================================================= #
20
- @textarea_css_class = nil
21
-
22
- # ======================================================================= #
23
- # === Cyberweb::Textarea.set_css_class
24
- # ======================================================================= #
25
- def self.set_css_class(i = DEFAULT_CSS_CLASS)
26
- @textarea_css_class = i
27
- end
28
-
29
- # ======================================================================= #
30
- # === Cyberweb::Textarea.to_s
31
- # ======================================================================= #
32
- def self.to_s; @textarea_css_class; end
33
-
34
- end
35
-
36
- # ========================================================================= #
37
- # === Cyberweb.string_textarea
38
- #
39
- # This method will create a <textarea> tag, in a String representation.
40
- # Thus, a String will be returned from this method.
41
- #
42
- # print string_textarea('css_class','css_style','textarea_name',cols,rows,
43
- # 'def content','javascript')
44
- #
45
- # Keep in mind that the following input is valid as well:
46
- #
47
- # textarea {{ css_class: 'bblack' }}
48
- #
49
- # And so is this variant:
50
- #
51
- # add_textfield {{
52
- # width: 50,
53
- # height: 50
54
- # }}
55
- #
56
- # ========================================================================= #
57
- def self.string_textarea(
58
- default_content = '', # (1) content
59
- css_class = '', # (2) css-class
60
- the_id = '', # (3) the id
61
- css_style = '', # (4) css_style
62
- n_cols = 25, # (5) n columns (top-to-bottom)
63
- n_rows = 8, # (6) n rows (left-to-right)
64
- javascript = '', # (7) javascript
65
- name = '', # (8) name
66
- &block
67
- )
68
- # ======================================================================= #
69
- # === Handle blocks given to this method first
70
- # ======================================================================= #
71
- if block_given?
72
- yielded = yield
73
- if yielded.is_a? Hash
74
- # =================================================================== #
75
- # === :css_class
76
- # =================================================================== #
77
- if yielded.has_key? :css_class
78
- css_class = yielded.delete(:css_class)
79
- end
80
- # =================================================================== #
81
- # === :width
82
- # =================================================================== #
83
- if yielded.has_key? :width
84
- n_cols = yielded.delete(:width)
85
- end
86
- # =================================================================== #
87
- # === :height
88
- # =================================================================== #
89
- if yielded.has_key? :height
90
- n_rows = yielded.delete(:height)
91
- end
92
- # =================================================================== #
93
- # === :css_class
94
- # =================================================================== #
95
- if yielded.has_key? :css_class
96
- css_class = yielded.delete(:css_class)
97
- end
98
- end
99
- end
100
- # ======================================================================= #
101
- # === Handle Hashes next
102
- # ======================================================================= #
103
- if default_content.is_a? Hash
104
- if default_content.has_key? :css_class
105
- css_class = default_content.delete :css_class
106
- end
107
- # ===================================================================== #
108
- # === :css_style
109
- # ===================================================================== #
110
- if default_content.has_key? :css_style
111
- css_style = default_content.delete :css_style
112
- end
113
- end
114
- unless default_content.is_a? String
115
- if default_content.is_a? Hash and default_content.empty?
116
- default_content = ''
117
- end
118
- default_content = default_content.to_s
119
- end
120
- formtag = '<textarea'.dup
121
- formtag << ' cols="'+n_cols.to_s+'"'
122
- formtag << ' rows="'+n_rows.to_s+'"'
123
-
124
- formtag << return_css_class(css_class)
125
- formtag << return_the_id(the_id)
126
- formtag << return_css_style(css_style)
127
-
128
- if javascript
129
- formtag << ' '
130
- formtag << sanitize_javascript(javascript)
131
- end
132
- # ======================================================================= #
133
- # Disable spellchecking:
134
- # ======================================================================= #
135
- formtag << ' spellcheck="false"'
136
- if name and name.is_a?(String) and !name.empty?
137
- formtag << " name=#{name}"
138
- end
139
- formtag << '>'
140
- formtag << default_content
141
- formtag << '</textarea>'
142
- return formtag
143
- end; self.instance_eval { alias stextarea string_textarea } # === Cyberweb.stextarea
144
- self.instance_eval { alias add_textfield string_textarea } # === Cyberweb.add_textfield
145
-
146
- # ========================================================================= #
147
- # === textarea.
148
- #
149
- # Makes a html textarea, by delegating to the method stextarea().
150
- #
151
- # Cyberweb.textarea
152
- #
153
- # x.textarea('Fill Me up')
154
- #
155
- # ========================================================================= #
156
- def textarea(
157
- default_content = '',
158
- css_class = Textarea.to_s,
159
- the_id = '',
160
- css_style = 'padding:5px',
161
- n_cols = 60,
162
- n_rows = 8,
163
- javascript = '',
164
- name = ''
165
- )
166
- ee string_textarea(default_content,
167
- css_class, the_id, css_style,
168
- n_cols, n_rows, javascript, name
169
- )
170
- newline
171
- end; alias add_write_area textarea # === add_write_area
172
-
173
- end