cyberweb 0.12.35 → 0.13.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +220 -124
- data/bin/cyberweb_sanitize +1 -1
- data/bin/images_from_this_webpage +1 -1
- data/doc/README.gen +209 -98
- data/doc/configuration/configuration.md +7 -4
- data/doc/todo/todo_for_the_cyberweb_project.md +123 -133
- data/examples/html/underlined_text_example/underlined_text_example.html +40 -0
- data/examples/misc/table_example.rb +19 -17
- data/examples/objectified/objectified_caesar_cipher.cgi +73 -0
- data/images/cyberweb_theme.png +0 -0
- data/lib/cyberweb/REST/constants.rb +1 -1
- data/lib/cyberweb/base/base.rb +19 -27
- data/lib/cyberweb/base_module/base_module/base_module.rb +31 -16
- data/lib/cyberweb/base_module/colours/colours.rb +0 -8
- data/lib/cyberweb/cascading_style_sheets/margin.css +4 -0
- data/lib/cyberweb/cascading_style_sheets/misc.css +15 -0
- data/lib/cyberweb/cgi/cookie.rb +160 -156
- data/lib/cyberweb/cgi/core.rb +7 -7
- data/lib/cyberweb/cgi/query_extension.rb +1 -1
- data/lib/cyberweb/cgi/session/memory_store.rb +1 -1
- data/lib/cyberweb/cgi/session/pstore.rb +2 -2
- data/lib/cyberweb/cgi/session.rb +1 -1
- data/lib/cyberweb/cgi/util.rb +4 -1
- data/lib/cyberweb/cmd/cmd.rb +12 -10
- data/lib/cyberweb/coloured_tags/coloured_tags.rb +1 -1
- data/lib/cyberweb/colours/colour_chart.rb +1 -2
- data/lib/cyberweb/colours/colours.rb +1 -1
- data/lib/cyberweb/commandline/commandline_interface.rb +1 -1
- data/lib/cyberweb/configuration/load_the_configuration.rb +3 -1
- data/lib/cyberweb/constants/http_status_codes.rb +4 -1
- data/lib/cyberweb/constants/misc.rb +8 -6
- data/lib/cyberweb/constants/registered_html_tags.rb +6 -5
- data/lib/cyberweb/constants/user_x.rb +7 -0
- data/lib/cyberweb/css_manager/css_manager.rb +5 -2
- data/lib/cyberweb/encoding/encoding.rb +1 -1
- data/lib/cyberweb/erb/test.rhtml +7 -2
- data/lib/cyberweb/experimental/html_template_powered_by_rack.rb +3 -1
- data/lib/cyberweb/foto_gallery/foto_gallery.rb +3 -0
- data/lib/cyberweb/generator/cgi.rb +1 -1
- data/lib/cyberweb/html_template/html_template.rb +262 -253
- data/lib/cyberweb/images/images.rb +2 -2
- data/lib/cyberweb/images/remove_this_substring_from_all_images.rb +5 -1
- data/lib/cyberweb/images/standard_images/standard_images.html +3 -4
- data/lib/cyberweb/information/README.md +2 -2
- data/lib/cyberweb/information/information.cgi +1 -1
- data/lib/cyberweb/javascript/dragula_collection.rb +4 -1
- data/lib/cyberweb/javascript/javascript_magic.rb +2 -2
- data/lib/cyberweb/javascript/on_click_change_opacity.rb +2 -1
- data/lib/cyberweb/javascript/popup.rb +8 -1
- data/lib/cyberweb/javascript/snoweffect.rb +5 -1
- data/lib/cyberweb/javascript_code/custom_functions.js +50 -32
- data/lib/cyberweb/objectified/html_tags/README.md +7 -9
- data/lib/cyberweb/objectified/html_tags/a.rb +62 -3
- data/lib/cyberweb/objectified/html_tags/abbr.rb +33 -3
- data/lib/cyberweb/objectified/html_tags/audio.rb +33 -3
- data/lib/cyberweb/objectified/html_tags/base.rb +661 -588
- data/lib/cyberweb/objectified/html_tags/blockquote.rb +33 -3
- data/lib/cyberweb/objectified/html_tags/body.rb +43 -3
- data/lib/cyberweb/objectified/html_tags/button.rb +75 -5
- data/lib/cyberweb/objectified/html_tags/canvas.rb +43 -3
- data/lib/cyberweb/objectified/html_tags/cite.rb +43 -3
- data/lib/cyberweb/objectified/html_tags/div.rb +70 -7
- data/lib/cyberweb/objectified/html_tags/embed.rb +43 -3
- data/lib/cyberweb/objectified/html_tags/fieldset.rb +43 -3
- data/lib/cyberweb/objectified/html_tags/figure.rb +43 -3
- data/lib/cyberweb/objectified/html_tags/form.rb +78 -3
- data/lib/cyberweb/objectified/html_tags/h1.rb +43 -3
- data/lib/cyberweb/objectified/html_tags/h2.rb +43 -3
- data/lib/cyberweb/objectified/html_tags/h3.rb +43 -3
- data/lib/cyberweb/objectified/html_tags/h4.rb +43 -3
- data/lib/cyberweb/objectified/html_tags/h5.rb +43 -3
- data/lib/cyberweb/objectified/html_tags/h6.rb +43 -3
- data/lib/cyberweb/objectified/html_tags/head.rb +34 -1
- data/lib/cyberweb/objectified/html_tags/i.rb +112 -0
- data/lib/cyberweb/objectified/html_tags/img.rb +65 -18
- data/lib/cyberweb/objectified/html_tags/input.rb +86 -2
- data/lib/cyberweb/objectified/html_tags/label.rb +103 -0
- data/lib/cyberweb/objectified/html_tags/legend.rb +129 -0
- data/lib/cyberweb/objectified/html_tags/li.rb +111 -0
- data/lib/cyberweb/objectified/html_tags/map.rb +43 -3
- data/lib/cyberweb/objectified/html_tags/meta.rb +13 -2
- data/lib/cyberweb/objectified/html_tags/nav.rb +111 -0
- data/lib/cyberweb/objectified/html_tags/object.rb +33 -3
- data/lib/cyberweb/objectified/html_tags/ol.rb +127 -0
- data/lib/cyberweb/objectified/html_tags/p.rb +33 -3
- data/lib/cyberweb/objectified/html_tags/pre.rb +41 -4
- data/lib/cyberweb/objectified/html_tags/progress.rb +43 -3
- data/lib/cyberweb/objectified/html_tags/section.rb +116 -0
- data/lib/cyberweb/objectified/html_tags/select.rb +34 -1
- data/lib/cyberweb/objectified/html_tags/span.rb +64 -5
- data/lib/cyberweb/objectified/html_tags/style.rb +9 -2
- data/lib/cyberweb/objectified/html_tags/table.rb +137 -3
- data/lib/cyberweb/objectified/html_tags/td.rb +135 -0
- data/lib/cyberweb/objectified/html_tags/textarea.rb +37 -3
- data/lib/cyberweb/objectified/html_tags/th.rb +114 -0
- data/lib/cyberweb/objectified/html_tags/thead.rb +114 -0
- data/lib/cyberweb/objectified/html_tags/title.rb +10 -2
- data/lib/cyberweb/objectified/html_tags/tr.rb +110 -0
- data/lib/cyberweb/objectified/html_tags/ul.rb +45 -4
- data/lib/cyberweb/objectified/shorter_helper_methods/shorter_helper_methods.rb +67 -46
- data/lib/cyberweb/oop.rb +9 -0
- data/lib/cyberweb/predefined_and_freeform_methods/hash_registered_extra_tags.rb +2 -0
- data/lib/cyberweb/predefined_and_freeform_methods/header.rb +4 -1
- data/lib/cyberweb/project/project.rb +0 -4
- data/lib/cyberweb/requires/remove_html.rb +1 -1
- data/lib/cyberweb/requires/require_the_cyberweb_project.rb +1 -9
- data/lib/cyberweb/route_handler/module/route_handler_module.rb +2 -1
- data/lib/cyberweb/standalone_classes/all_css_classes.rb +5 -2
- data/lib/cyberweb/standalone_classes/calculator.rb +3 -1
- data/lib/cyberweb/toplevel_methods/audio.rb +3 -1
- data/lib/cyberweb/toplevel_methods/csv.rb +1 -1
- data/lib/cyberweb/toplevel_methods/frames.rb +11 -3
- data/lib/cyberweb/toplevel_methods/greek_letters/greek_letters.rb +3 -0
- data/lib/cyberweb/toplevel_methods/hfin.rb +5 -1
- data/lib/cyberweb/toplevel_methods/html_tags/README.md +8 -7
- data/lib/cyberweb/toplevel_methods/html_tags/html_tags.rb +4211 -2827
- data/lib/cyberweb/toplevel_methods/html_tags/table.rb +1202 -0
- data/lib/cyberweb/toplevel_methods/javascript.rb +9 -1
- data/lib/cyberweb/toplevel_methods/jquery.rb +1 -1
- data/lib/cyberweb/toplevel_methods/{log_directory.rb → log_directory_and_logging.rb} +36 -1
- data/lib/cyberweb/toplevel_methods/params.rb +11 -11
- data/lib/cyberweb/toplevel_methods/random.rb +4 -3
- data/lib/cyberweb/toplevel_methods/registered_ids.rb +3 -0
- data/lib/cyberweb/toplevel_methods/return_head_start.rb +1 -3
- data/lib/cyberweb/toplevel_methods/return_html_start.rb +1 -3
- data/lib/cyberweb/toplevel_methods/sanitize_url.rb +2 -1
- data/lib/cyberweb/toplevel_methods/server_base_directory.rb +0 -1
- data/lib/cyberweb/toplevel_methods/textile.rb +2 -1
- data/lib/cyberweb/toplevel_methods/{misc.rb → toplevel_methods.rb} +1446 -807
- data/lib/cyberweb/toplevel_methods/video.rb +21 -3
- data/lib/cyberweb/toplevel_methods/write_what_into.rb +2 -2
- data/lib/cyberweb/utility_scripts/autogenerate_drop_shadow_rules/autogenerate_drop_shadow_rules.rb +2 -4
- data/lib/cyberweb/utility_scripts/booklet/booklet.rb +0 -4
- data/lib/cyberweb/utility_scripts/download_all_images_from_this_website.rb +1 -1
- data/lib/cyberweb/utility_scripts/{download_balloon_css.rb → download_balloon_css/download_balloon_css.rb} +1 -1
- data/lib/cyberweb/utility_scripts/images_to_html/images_to_html.rb +3 -0
- data/lib/cyberweb/utility_scripts/obtain_files_and_directories_from_this_path/obtain_files_and_directories_from_this_path.rb +183 -71
- data/lib/cyberweb/utility_scripts/pdf_to_html/pdf_to_html.rb +160 -65
- data/lib/cyberweb/version/version.rb +2 -2
- data/lib/cyberweb/web_images/map_symbol_to_image_location.rb +13 -2
- data/lib/cyberweb/web_object/web_object.rb +62 -20
- data/lib/cyberweb/web_scraper/scrape_this_url.rb +3 -1
- data/lib/cyberweb/webmin/biology_server.cgi +1 -1
- data/lib/cyberweb/webmin/calculator.cgi +1 -1
- data/lib/cyberweb/webmin/colour_chart.cgi +1 -1
- data/lib/cyberweb/webmin/comments.cgi +2 -2
- data/lib/cyberweb/webmin/constants.rb +1 -1
- data/lib/cyberweb/webmin/dictionary.cgi +2 -2
- data/lib/cyberweb/webmin/simple_forum/index.cgi +2 -2
- data/lib/cyberweb/webmin/sys_info.cgi +3 -3
- data/lib/cyberweb/webmin/webforum.cgi +1 -1
- data/lib/cyberweb/yaml/registered_html_tags.yml +3 -1
- data/test/simple_tests/testing_return_dataset_without_any_comments.rb +1 -1
- metadata +23 -57
- data/lib/cyberweb/html_tags/README.md +0 -3
- data/lib/cyberweb/html_tags/a.rb +0 -67
- data/lib/cyberweb/html_tags/accesskey.rb +0 -25
- data/lib/cyberweb/html_tags/blockquote.rb +0 -56
- data/lib/cyberweb/html_tags/body.rb +0 -14
- data/lib/cyberweb/html_tags/br.rb +0 -19
- data/lib/cyberweb/html_tags/button.rb +0 -150
- data/lib/cyberweb/html_tags/canvas.rb +0 -59
- data/lib/cyberweb/html_tags/chtml.rb +0 -14
- data/lib/cyberweb/html_tags/div.rb +0 -170
- data/lib/cyberweb/html_tags/fieldset.rb +0 -69
- data/lib/cyberweb/html_tags/figure.rb +0 -72
- data/lib/cyberweb/html_tags/form.rb +0 -203
- data/lib/cyberweb/html_tags/h1.rb +0 -77
- data/lib/cyberweb/html_tags/h2.rb +0 -81
- data/lib/cyberweb/html_tags/h3.rb +0 -60
- data/lib/cyberweb/html_tags/h4.rb +0 -66
- data/lib/cyberweb/html_tags/h5.rb +0 -64
- data/lib/cyberweb/html_tags/h6.rb +0 -60
- data/lib/cyberweb/html_tags/hr.rb +0 -22
- data/lib/cyberweb/html_tags/html_tags.rb +0 -267
- data/lib/cyberweb/html_tags/i.rb +0 -52
- data/lib/cyberweb/html_tags/img.rb +0 -294
- data/lib/cyberweb/html_tags/input.rb +0 -354
- data/lib/cyberweb/html_tags/label.rb +0 -65
- data/lib/cyberweb/html_tags/legend.rb +0 -56
- data/lib/cyberweb/html_tags/li.rb +0 -67
- data/lib/cyberweb/html_tags/map.rb +0 -38
- data/lib/cyberweb/html_tags/nav.rb +0 -63
- data/lib/cyberweb/html_tags/object.rb +0 -57
- data/lib/cyberweb/html_tags/ol.rb +0 -57
- data/lib/cyberweb/html_tags/option.rb +0 -64
- data/lib/cyberweb/html_tags/p.rb +0 -88
- data/lib/cyberweb/html_tags/pre.rb +0 -162
- data/lib/cyberweb/html_tags/section.rb +0 -33
- data/lib/cyberweb/html_tags/select.rb +0 -104
- data/lib/cyberweb/html_tags/span.rb +0 -344
- data/lib/cyberweb/html_tags/strong.rb +0 -42
- data/lib/cyberweb/html_tags/table.rb +0 -284
- data/lib/cyberweb/html_tags/tbody.rb +0 -26
- data/lib/cyberweb/html_tags/td.rb +0 -212
- data/lib/cyberweb/html_tags/textarea.rb +0 -173
- data/lib/cyberweb/html_tags/th.rb +0 -70
- data/lib/cyberweb/html_tags/thead.rb +0 -41
- data/lib/cyberweb/html_tags/tr.rb +0 -99
- data/lib/cyberweb/html_tags/ul.rb +0 -51
- data/lib/cyberweb/requires/require_html_tags_files.rb +0 -23
- data/lib/cyberweb/toplevel_methods/logging.rb +0 -42
- 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
|