html_tags 0.1.120
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of html_tags might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/README.md +110 -0
- data/USAGE.md +17 -0
- data/doc/README.gen +69 -0
- data/html_tags.gemspec +53 -0
- data/lib/html_tags/array_registered_html_tags.rb +125 -0
- data/lib/html_tags/autoinclude.rb +2 -0
- data/lib/html_tags/autoinclude_base_module.rb +7 -0
- data/lib/html_tags/base/README.md +3 -0
- data/lib/html_tags/base/base.rb +11 -0
- data/lib/html_tags/base/base_module.rb +224 -0
- data/lib/html_tags/base/prototype.rb +19 -0
- data/lib/html_tags/checks.rb +58 -0
- data/lib/html_tags/closing_tag/closing_tag.rb +76 -0
- data/lib/html_tags/constants/array_strip_newlines.rb +14 -0
- data/lib/html_tags/constants/misc.rb +21 -0
- data/lib/html_tags/constants.rb +26 -0
- data/lib/html_tags/html_closing_tags.rb +36 -0
- data/lib/html_tags/html_comment.rb +29 -0
- data/lib/html_tags/html_tags.rb +131 -0
- data/lib/html_tags/html_tags_constants.rb +14 -0
- data/lib/html_tags/individual_tags/a.rb +524 -0
- data/lib/html_tags/individual_tags/abbr.rb +44 -0
- data/lib/html_tags/individual_tags/audio.rb +32 -0
- data/lib/html_tags/individual_tags/b.rb +22 -0
- data/lib/html_tags/individual_tags/blockquote.rb +19 -0
- data/lib/html_tags/individual_tags/body.rb +19 -0
- data/lib/html_tags/individual_tags/br.rb +28 -0
- data/lib/html_tags/individual_tags/button.rb +30 -0
- data/lib/html_tags/individual_tags/canvas.rb +19 -0
- data/lib/html_tags/individual_tags/details.rb +69 -0
- data/lib/html_tags/individual_tags/div.rb +51 -0
- data/lib/html_tags/individual_tags/figure.rb +39 -0
- data/lib/html_tags/individual_tags/footer.rb +26 -0
- data/lib/html_tags/individual_tags/form.rb +93 -0
- data/lib/html_tags/individual_tags/h1.rb +36 -0
- data/lib/html_tags/individual_tags/h2.rb +42 -0
- data/lib/html_tags/individual_tags/h3.rb +73 -0
- data/lib/html_tags/individual_tags/h4.rb +36 -0
- data/lib/html_tags/individual_tags/h5.rb +36 -0
- data/lib/html_tags/individual_tags/h6.rb +40 -0
- data/lib/html_tags/individual_tags/head.rb +36 -0
- data/lib/html_tags/individual_tags/header.rb +29 -0
- data/lib/html_tags/individual_tags/html.rb +61 -0
- data/lib/html_tags/individual_tags/i.rb +14 -0
- data/lib/html_tags/individual_tags/img.rb +135 -0
- data/lib/html_tags/individual_tags/input.rb +32 -0
- data/lib/html_tags/individual_tags/label.rb +43 -0
- data/lib/html_tags/individual_tags/legend.rb +14 -0
- data/lib/html_tags/individual_tags/li.rb +44 -0
- data/lib/html_tags/individual_tags/main.rb +29 -0
- data/lib/html_tags/individual_tags/nav.rb +14 -0
- data/lib/html_tags/individual_tags/object.rb +18 -0
- data/lib/html_tags/individual_tags/ol.rb +50 -0
- data/lib/html_tags/individual_tags/p.rb +50 -0
- data/lib/html_tags/individual_tags/pre.rb +16 -0
- data/lib/html_tags/individual_tags/span.rb +60 -0
- data/lib/html_tags/individual_tags/strong.rb +17 -0
- data/lib/html_tags/individual_tags/style.rb +29 -0
- data/lib/html_tags/individual_tags/table.rb +33 -0
- data/lib/html_tags/individual_tags/tbody.rb +19 -0
- data/lib/html_tags/individual_tags/td.rb +24 -0
- data/lib/html_tags/individual_tags/textarea.rb +46 -0
- data/lib/html_tags/individual_tags/th.rb +14 -0
- data/lib/html_tags/individual_tags/thead.rb +14 -0
- data/lib/html_tags/individual_tags/title.rb +18 -0
- data/lib/html_tags/individual_tags/tr.rb +20 -0
- data/lib/html_tags/individual_tags/ul.rb +23 -0
- data/lib/html_tags/individual_tags/video.rb +54 -0
- data/lib/html_tags/module.rb +5 -0
- data/lib/html_tags/opening_tag/opening_tag.rb +288 -0
- data/lib/html_tags/project/project_base_directory.rb +23 -0
- data/lib/html_tags/requires/require_the_html_tags_project.rb +9 -0
- data/lib/html_tags/requires/require_the_img_tag.rb +7 -0
- data/lib/html_tags/shared.rb +23 -0
- data/lib/html_tags/stag.rb +54 -0
- data/lib/html_tags/toplevel_methods/add.rb +22 -0
- data/lib/html_tags/toplevel_methods/full_output.rb +33 -0
- data/lib/html_tags/toplevel_methods/newline_or_empty.rb +21 -0
- data/lib/html_tags/toplevel_methods/strip_newlines.rb +27 -0
- data/lib/html_tags/version/version.rb +17 -0
- data/lib/html_tags/yaml/valid_tags_in_a_head_tag.yml +16 -0
- data/lib/html_tags.rb +5 -0
- data/test/testing_html_tags.rb +158 -0
- data/test/testing_the_a_tag.rb +113 -0
- metadata +141 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
module HtmlTags
|
|
6
|
+
|
|
7
|
+
# ========================================================================= #
|
|
8
|
+
# === header
|
|
9
|
+
#
|
|
10
|
+
# Usage example:
|
|
11
|
+
#
|
|
12
|
+
# HtmlTags.header('<h1>APP NAME</h1><nav></nav>') => '<header><h1>APP NAME</h1><nav></nav></header>'
|
|
13
|
+
#
|
|
14
|
+
# ========================================================================= #
|
|
15
|
+
def header(
|
|
16
|
+
i = '', css_class = '', the_id = '', css_style = '', &block
|
|
17
|
+
)
|
|
18
|
+
content = i.to_s
|
|
19
|
+
if block_given?
|
|
20
|
+
content = content.to_s+yield.to_s
|
|
21
|
+
end
|
|
22
|
+
return HtmlTags.add(
|
|
23
|
+
opening_tag(__method__, css_class, the_id, css_style)+
|
|
24
|
+
content+
|
|
25
|
+
close(__method__)
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
module HtmlTags
|
|
6
|
+
|
|
7
|
+
# ========================================================================= #
|
|
8
|
+
# === html
|
|
9
|
+
#
|
|
10
|
+
# A <html> tag in HTML5 may have some attributes such as:
|
|
11
|
+
#
|
|
12
|
+
# <html lang="en">
|
|
13
|
+
#
|
|
14
|
+
# See http://www.w3schools.com/tags/ref_language_codes.asp for more
|
|
15
|
+
# information pertaining to the <html> tag.
|
|
16
|
+
#
|
|
17
|
+
# For now, we will use lang="en" all the time.
|
|
18
|
+
#
|
|
19
|
+
# To test this standalone, try:
|
|
20
|
+
#
|
|
21
|
+
# HtmlTags.html
|
|
22
|
+
#
|
|
23
|
+
# ========================================================================= #
|
|
24
|
+
def html(
|
|
25
|
+
i = '',
|
|
26
|
+
css_class = '',
|
|
27
|
+
the_id = '',
|
|
28
|
+
css_style = '',
|
|
29
|
+
&block
|
|
30
|
+
)
|
|
31
|
+
opening = HtmlTags.open_html # Delegate to the method below.
|
|
32
|
+
_ = ''.dup
|
|
33
|
+
if block_given?
|
|
34
|
+
yielded = yield
|
|
35
|
+
case yielded
|
|
36
|
+
when :use_unicode_as_encoding
|
|
37
|
+
opening << "<meta charset=\"UTF-8\">\n"
|
|
38
|
+
else
|
|
39
|
+
_ << yielded
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
return HtmlTags.add(
|
|
43
|
+
opening+
|
|
44
|
+
i.to_s+
|
|
45
|
+
_.to_s+
|
|
46
|
+
close(__method__)
|
|
47
|
+
)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# ========================================================================= #
|
|
51
|
+
# === HtmlTags.open_html
|
|
52
|
+
#
|
|
53
|
+
# We will automatically append lang="en" to the tag.
|
|
54
|
+
# ========================================================================= #
|
|
55
|
+
def self.open_html
|
|
56
|
+
opening = opening_tag(:html)
|
|
57
|
+
opening[-2,0] = ' lang="en"'
|
|
58
|
+
opening
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module HtmlTags
|
|
2
|
+
|
|
3
|
+
# ========================================================================= #
|
|
4
|
+
# === i
|
|
5
|
+
# ========================================================================= #
|
|
6
|
+
def i(i = '', css_class = '', the_id = '', css_style = '')
|
|
7
|
+
return HtmlTags.add(
|
|
8
|
+
opening_tag(__method__, css_class, the_id, css_style)+
|
|
9
|
+
i.to_s+
|
|
10
|
+
close(__method__)
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
end
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'html_tags/individual_tags/img.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module HtmlTags
|
|
8
|
+
|
|
9
|
+
require 'html_tags/opening_tag/opening_tag.rb'
|
|
10
|
+
require 'html_tags/toplevel_methods/add.rb'
|
|
11
|
+
require 'html_tags/toplevel_methods/newline_or_empty.rb'
|
|
12
|
+
|
|
13
|
+
# ========================================================================= #
|
|
14
|
+
# === HtmlTags.img
|
|
15
|
+
#
|
|
16
|
+
# The img() method creates an <img> tag.
|
|
17
|
+
#
|
|
18
|
+
# Documentation can be found at:
|
|
19
|
+
#
|
|
20
|
+
# https://www.w3schools.com/tags/tag_img.asp
|
|
21
|
+
# https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img
|
|
22
|
+
#
|
|
23
|
+
# The "end result" will be a String such as this here:
|
|
24
|
+
#
|
|
25
|
+
# <img src="foo.png" alt="Some image">
|
|
26
|
+
#
|
|
27
|
+
# Note that we make use of the block variant, by specifying a hash which
|
|
28
|
+
# has a :src attribute.
|
|
29
|
+
#
|
|
30
|
+
# If the first argument to this method is a Hash then that Hash will
|
|
31
|
+
# be checked for certain keys, such as :src or :css_class
|
|
32
|
+
#
|
|
33
|
+
# If the argument called the_id is a symbol such as
|
|
34
|
+
# :infer_the_id_from_the_filename then it will be evaluated in a
|
|
35
|
+
# special manner.
|
|
36
|
+
# ========================================================================= #
|
|
37
|
+
def self.img(
|
|
38
|
+
i = 'foo.png',
|
|
39
|
+
css_class = '',
|
|
40
|
+
the_id = '',
|
|
41
|
+
css_style = ''
|
|
42
|
+
)
|
|
43
|
+
# ======================================================================= #
|
|
44
|
+
# === Handle blocks next
|
|
45
|
+
# ======================================================================= #
|
|
46
|
+
if block_given?
|
|
47
|
+
yielded = yield
|
|
48
|
+
# ===================================================================== #
|
|
49
|
+
# === Handle Hashes given via block syntax next
|
|
50
|
+
# ===================================================================== #
|
|
51
|
+
if yielded.is_a? Hash
|
|
52
|
+
if i.is_a? String
|
|
53
|
+
i = { src: i } # Add this string as the :src key in that case.
|
|
54
|
+
i.update(yielded)
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
if i.is_a? Hash
|
|
59
|
+
# ===================================================================== #
|
|
60
|
+
# === :css_style
|
|
61
|
+
# ===================================================================== #
|
|
62
|
+
if i.has_key? :css_style
|
|
63
|
+
css_style = i.delete(:css_style)
|
|
64
|
+
end
|
|
65
|
+
# ===================================================================== #
|
|
66
|
+
# === :css_class
|
|
67
|
+
# ===================================================================== #
|
|
68
|
+
if i.has_key? :css_class
|
|
69
|
+
css_class = i.delete(:css_class)
|
|
70
|
+
end
|
|
71
|
+
# ===================================================================== #
|
|
72
|
+
# === :id
|
|
73
|
+
# ===================================================================== #
|
|
74
|
+
if i.has_key? :id
|
|
75
|
+
the_id = i.delete(:id)
|
|
76
|
+
# ===================================================================== #
|
|
77
|
+
# === :the_id
|
|
78
|
+
# ===================================================================== #
|
|
79
|
+
elsif i.has_key? :the_id
|
|
80
|
+
the_id = i.delete(:the_id)
|
|
81
|
+
end
|
|
82
|
+
# ===================================================================== #
|
|
83
|
+
# === :src
|
|
84
|
+
#
|
|
85
|
+
# This entry point should come last, that is, after other checks were
|
|
86
|
+
# already done. The reason for this is due to the deliberate
|
|
87
|
+
# self-assignment being done here.
|
|
88
|
+
# ===================================================================== #
|
|
89
|
+
if i.has_key? :src
|
|
90
|
+
i = i.delete(:src)
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
case the_id # case tag
|
|
94
|
+
# ======================================================================= #
|
|
95
|
+
# === :drag_infer_the_id_from_the_filename
|
|
96
|
+
# ======================================================================= #
|
|
97
|
+
when :drag_infer_the_id_from_the_filename,
|
|
98
|
+
:drag
|
|
99
|
+
the_id = 'drag_'+File.basename(i).
|
|
100
|
+
sub(/#{File.extname(i)}/,'')
|
|
101
|
+
# ======================================================================= #
|
|
102
|
+
# === :infer_the_id_from_the_filename
|
|
103
|
+
# ======================================================================= #
|
|
104
|
+
when :infer_the_id_from_the_filename
|
|
105
|
+
the_id = File.basename(i).
|
|
106
|
+
sub(/#{File.extname(i)}/,'')
|
|
107
|
+
end
|
|
108
|
+
return HtmlTags.add(
|
|
109
|
+
opening_tag(__method__, css_class, the_id, css_style) {{ src: i }}+
|
|
110
|
+
HtmlTags.newline_or_empty.to_s # i.to_s # Disabled adding the content. <img> tags do not have any content.
|
|
111
|
+
)
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
# ========================================================================= #
|
|
115
|
+
# === img
|
|
116
|
+
# ========================================================================= #
|
|
117
|
+
def img(
|
|
118
|
+
i = 'foo.png',
|
|
119
|
+
css_class = '',
|
|
120
|
+
the_id = '',
|
|
121
|
+
css_style = ''
|
|
122
|
+
)
|
|
123
|
+
HtmlTags.img(i, css_class, the_id, css_style)
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
if __FILE__ == $PROGRAM_NAME
|
|
129
|
+
# You could also include HtmlTags, then just use img() directly.
|
|
130
|
+
# include HtmlTags
|
|
131
|
+
puts HtmlTags.img(
|
|
132
|
+
"studium/MASTER.png",
|
|
133
|
+
css_style: 'margin-left:6px'
|
|
134
|
+
)
|
|
135
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
module HtmlTags
|
|
6
|
+
|
|
7
|
+
# ========================================================================= #
|
|
8
|
+
# === input
|
|
9
|
+
#
|
|
10
|
+
# Do note that input can include complex variants, such as the
|
|
11
|
+
# following:
|
|
12
|
+
#
|
|
13
|
+
# input(type: :submit, value: 'Create Article')
|
|
14
|
+
#
|
|
15
|
+
# ========================================================================= #
|
|
16
|
+
def input(
|
|
17
|
+
i = '', css_class = '', the_id = '', css_style = '', &block
|
|
18
|
+
)
|
|
19
|
+
block = nil
|
|
20
|
+
if i.is_a? Hash
|
|
21
|
+
block = i.dup
|
|
22
|
+
i = ''
|
|
23
|
+
end
|
|
24
|
+
the_open_tag = opening_tag(
|
|
25
|
+
__method__, css_class, the_id, css_style
|
|
26
|
+
) { block }
|
|
27
|
+
return HtmlTags.add(
|
|
28
|
+
the_open_tag.strip
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module HtmlTags
|
|
2
|
+
|
|
3
|
+
# ========================================================================= #
|
|
4
|
+
# === label
|
|
5
|
+
#
|
|
6
|
+
# The html <label> tag is useful to specify text before an <input>
|
|
7
|
+
# field.
|
|
8
|
+
#
|
|
9
|
+
# The <label> tag defines a label for an <input> element.
|
|
10
|
+
#
|
|
11
|
+
# The <label> element does not render as anything special for the
|
|
12
|
+
# user. However, it provides a usability improvement for mouse
|
|
13
|
+
# users, because if the user clicks on the text within the <label>
|
|
14
|
+
# element, it toggles the control.
|
|
15
|
+
#
|
|
16
|
+
# The "for" attribute of the <label> tag should be equal to the id
|
|
17
|
+
# attribute of the related element to bind them together.
|
|
18
|
+
#
|
|
19
|
+
# This may be best explained through an example:
|
|
20
|
+
#
|
|
21
|
+
# <label for="male">Male</label>
|
|
22
|
+
# <input type="radio" name="sex" id="male" value="male">
|
|
23
|
+
#
|
|
24
|
+
# Documentation can be seen here:
|
|
25
|
+
# http://www.w3schools.com/tags/tag_label.asp
|
|
26
|
+
# ========================================================================= #
|
|
27
|
+
def label(
|
|
28
|
+
i = '',
|
|
29
|
+
css_class = '',
|
|
30
|
+
the_id = '',
|
|
31
|
+
css_style = ''
|
|
32
|
+
)
|
|
33
|
+
start = opening_tag(__method__, css_class, the_id, css_style)
|
|
34
|
+
for_label = i.to_s.downcase.strip # Right now the for-label is deduced from the input.
|
|
35
|
+
start[-2,0] = ' for="'+for_label+'"' # -2 because we also have a trailing newline.
|
|
36
|
+
return HtmlTags.add(
|
|
37
|
+
start+
|
|
38
|
+
i.to_s+
|
|
39
|
+
close(__method__)
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module HtmlTags
|
|
2
|
+
|
|
3
|
+
# ========================================================================= #
|
|
4
|
+
# === legend
|
|
5
|
+
# ========================================================================= #
|
|
6
|
+
def legend(i = '', css_class = '', the_id = '', css_style = '')
|
|
7
|
+
return HtmlTags.add(
|
|
8
|
+
opening_tag(__method__, css_class, the_id, css_style)+
|
|
9
|
+
i.to_s+
|
|
10
|
+
close(__method__)
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
module HtmlTags
|
|
6
|
+
|
|
7
|
+
# ========================================================================= #
|
|
8
|
+
# === li (li tag)
|
|
9
|
+
#
|
|
10
|
+
# This is essentially a HTML representation for the <li> tag.
|
|
11
|
+
#
|
|
12
|
+
# The first input argument to this method will constitute the content
|
|
13
|
+
# of said <li> tag. Note that the block form to li {} can also be
|
|
14
|
+
# used for content, so use whichever way you prefer.
|
|
15
|
+
# ========================================================================= #
|
|
16
|
+
def li(
|
|
17
|
+
i = '', # <- This is the content.
|
|
18
|
+
css_class = '',
|
|
19
|
+
the_id = '',
|
|
20
|
+
css_style = '',
|
|
21
|
+
optional_javascript = '',
|
|
22
|
+
&block
|
|
23
|
+
)
|
|
24
|
+
if i.is_a? Hash
|
|
25
|
+
if i.has_key? :css_class
|
|
26
|
+
css_class = i.delete(:css_class)
|
|
27
|
+
end
|
|
28
|
+
i = ''
|
|
29
|
+
end
|
|
30
|
+
i = i.to_s.dup # And avoid frozen-errors.
|
|
31
|
+
# ======================================================================= #
|
|
32
|
+
# Blocks will be assumed to be used for the first argument, `i`.
|
|
33
|
+
# ======================================================================= #
|
|
34
|
+
if block_given?
|
|
35
|
+
i << yield.to_s
|
|
36
|
+
end
|
|
37
|
+
return HtmlTags.add(
|
|
38
|
+
opening_tag(__method__, css_class, the_id, css_style, optional_javascript)+
|
|
39
|
+
i+
|
|
40
|
+
close(__method__)
|
|
41
|
+
)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
module HtmlTags
|
|
6
|
+
|
|
7
|
+
# ========================================================================= #
|
|
8
|
+
# === main
|
|
9
|
+
#
|
|
10
|
+
# Usage example:
|
|
11
|
+
#
|
|
12
|
+
# HtmlTags.main('<h1>APP NAME</h1><nav></nav>') => '<header><h1>APP NAME</h1><nav></nav></header>'
|
|
13
|
+
#
|
|
14
|
+
# ========================================================================= #
|
|
15
|
+
def main(
|
|
16
|
+
i = '', css_class = '', the_id = '', css_style = '', &block
|
|
17
|
+
)
|
|
18
|
+
content = i.to_s
|
|
19
|
+
if block_given?
|
|
20
|
+
content = content.to_s+yield.to_s
|
|
21
|
+
end
|
|
22
|
+
return HtmlTags.add(
|
|
23
|
+
opening_tag(__method__, css_class, the_id, css_style)+
|
|
24
|
+
content+
|
|
25
|
+
close(__method__)
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module HtmlTags
|
|
2
|
+
|
|
3
|
+
# ========================================================================= #
|
|
4
|
+
# === nav
|
|
5
|
+
# ========================================================================= #
|
|
6
|
+
def nav(i = '', css_class = '', the_id = '', css_style = '')
|
|
7
|
+
return HtmlTags.add(
|
|
8
|
+
opening_tag(__method__, css_class, the_id, css_style)+
|
|
9
|
+
i.to_s+
|
|
10
|
+
close(__method__)
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
module HtmlTags
|
|
6
|
+
|
|
7
|
+
# ========================================================================= #
|
|
8
|
+
# === object
|
|
9
|
+
# ========================================================================= #
|
|
10
|
+
def object(i = '', css_class = '', the_id = '', css_style = '')
|
|
11
|
+
return HtmlTags.add(
|
|
12
|
+
opening_tag(__method__, css_class, the_id, css_style)+
|
|
13
|
+
i.to_s+
|
|
14
|
+
close(__method__)
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
module HtmlTags
|
|
6
|
+
|
|
7
|
+
# ========================================================================= #
|
|
8
|
+
# === ol (ol tag)
|
|
9
|
+
#
|
|
10
|
+
# This is essentially a HTML representation for the <ol> tag.
|
|
11
|
+
#
|
|
12
|
+
# The <ol> tag defines an ordered list. An ordered list can be
|
|
13
|
+
# either numerical or it can be alphabetical.
|
|
14
|
+
#
|
|
15
|
+
# The <li> tag can be used to define list items.
|
|
16
|
+
#
|
|
17
|
+
# Documentation for the <ol> tag can be seen here:
|
|
18
|
+
#
|
|
19
|
+
# https://www.w3schools.com/tags/tag_ol.asp
|
|
20
|
+
#
|
|
21
|
+
# ========================================================================= #
|
|
22
|
+
def ol(
|
|
23
|
+
i = '', # <- This is the content.
|
|
24
|
+
css_class = '',
|
|
25
|
+
the_id = '',
|
|
26
|
+
css_style = '',
|
|
27
|
+
optional_javascript = '',
|
|
28
|
+
&block
|
|
29
|
+
)
|
|
30
|
+
if i.is_a? Hash
|
|
31
|
+
if i.has_key? :css_class
|
|
32
|
+
css_class = i.delete(:css_class)
|
|
33
|
+
end
|
|
34
|
+
i = ''
|
|
35
|
+
end
|
|
36
|
+
i = i.to_s.dup # And avoid frozen-errors.
|
|
37
|
+
# ======================================================================= #
|
|
38
|
+
# Blocks will be assumed to be used for the first argument, `i`.
|
|
39
|
+
# ======================================================================= #
|
|
40
|
+
if block_given?
|
|
41
|
+
i << yield.to_s
|
|
42
|
+
end
|
|
43
|
+
return HtmlTags.add(
|
|
44
|
+
opening_tag(__method__, css_class, the_id, css_style, optional_javascript)+
|
|
45
|
+
i+
|
|
46
|
+
close(__method__)
|
|
47
|
+
)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'html_tags/individual_tags/p.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module HtmlTags
|
|
8
|
+
|
|
9
|
+
# ========================================================================= #
|
|
10
|
+
# === HtmlTags.p
|
|
11
|
+
#
|
|
12
|
+
# This method can be used to create the html <p> tag.
|
|
13
|
+
# ========================================================================= #
|
|
14
|
+
def self.p(
|
|
15
|
+
i = '',
|
|
16
|
+
css_class = '',
|
|
17
|
+
the_id = '',
|
|
18
|
+
css_style = ''
|
|
19
|
+
)
|
|
20
|
+
if i.is_a? Hash
|
|
21
|
+
# ===================================================================== #
|
|
22
|
+
# === Handle entries such as p(css_style: 'padding:2em')
|
|
23
|
+
# ===================================================================== #
|
|
24
|
+
if i.has_key? :css_style
|
|
25
|
+
css_style = i.delete(:css_style)
|
|
26
|
+
i = '' if i.empty?
|
|
27
|
+
end
|
|
28
|
+
if i.is_a?(Hash) and i.has_key?(:css_class)
|
|
29
|
+
css_class = i.delete(:css_class)
|
|
30
|
+
i = '' if i.empty?
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
result = opening_tag(__method__, css_class, the_id, css_style).dup
|
|
34
|
+
if block_given?
|
|
35
|
+
result << yield.to_s
|
|
36
|
+
end
|
|
37
|
+
result << i.to_s+close(__method__).to_s
|
|
38
|
+
return HtmlTags.add(result)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# ========================================================================= #
|
|
42
|
+
# === p
|
|
43
|
+
# ========================================================================= #
|
|
44
|
+
def p(
|
|
45
|
+
i = '', css_class = '', the_id = '', css_style = ''
|
|
46
|
+
)
|
|
47
|
+
HtmlTags.p(i, css_class, the_id, css_style)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module HtmlTags
|
|
2
|
+
|
|
3
|
+
# ========================================================================= #
|
|
4
|
+
# === pre
|
|
5
|
+
# ========================================================================= #
|
|
6
|
+
def pre(
|
|
7
|
+
i = '', css_class = '', the_id = '', css_style = ''
|
|
8
|
+
)
|
|
9
|
+
return HtmlTags.add(
|
|
10
|
+
opening_tag(__method__, css_class, the_id, css_style)+
|
|
11
|
+
i.to_s+
|
|
12
|
+
close(__method__)
|
|
13
|
+
)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
module HtmlTags
|
|
6
|
+
|
|
7
|
+
# ========================================================================= #
|
|
8
|
+
# === span
|
|
9
|
+
#
|
|
10
|
+
# This method will generate HTML <span> tags.
|
|
11
|
+
#
|
|
12
|
+
# It will first invoke the method called opening_tag(), then add
|
|
13
|
+
# the content that was given to it (the first parameter), and then
|
|
14
|
+
# close the whole tag via the close() method.
|
|
15
|
+
#
|
|
16
|
+
# Do note that you can eliminate newlines by invoking the method
|
|
17
|
+
# in something like this, via :strip:
|
|
18
|
+
#
|
|
19
|
+
# HtmlTags.span('Hello world!','s1') { :strip }
|
|
20
|
+
# HtmlTags.span(i, css_class: 'bord1px', css_style: 'margin-left: 1em')
|
|
21
|
+
#
|
|
22
|
+
# ========================================================================= #
|
|
23
|
+
def span(
|
|
24
|
+
i = '',
|
|
25
|
+
css_class = '',
|
|
26
|
+
the_id = '',
|
|
27
|
+
css_style = '',
|
|
28
|
+
javascript = '',
|
|
29
|
+
&block
|
|
30
|
+
)
|
|
31
|
+
i = i.to_s
|
|
32
|
+
start_the_method = opening_tag(
|
|
33
|
+
__method__,
|
|
34
|
+
css_class,
|
|
35
|
+
the_id,
|
|
36
|
+
css_style,
|
|
37
|
+
javascript
|
|
38
|
+
)
|
|
39
|
+
close_the_method = close(__method__)
|
|
40
|
+
if block_given?
|
|
41
|
+
yielded = yield
|
|
42
|
+
case yielded
|
|
43
|
+
when :strip
|
|
44
|
+
# Unfreeze, if frozen:
|
|
45
|
+
i = i.dup if i.frozen?
|
|
46
|
+
close_the_method = close_the_method.dup if close_the_method.frozen?
|
|
47
|
+
start_the_method = start_the_method.dup if start_the_method.frozen?
|
|
48
|
+
i.strip!
|
|
49
|
+
close_the_method.strip!
|
|
50
|
+
start_the_method.strip!
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
return HtmlTags.add(
|
|
54
|
+
start_the_method+
|
|
55
|
+
i+
|
|
56
|
+
close_the_method
|
|
57
|
+
)
|
|
58
|
+
end; alias s2 span
|
|
59
|
+
|
|
60
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module HtmlTags
|
|
2
|
+
|
|
3
|
+
# ========================================================================= #
|
|
4
|
+
# === strong
|
|
5
|
+
#
|
|
6
|
+
# For most purposes, this can be treated as the old (pre-html5) bold
|
|
7
|
+
# html tag.
|
|
8
|
+
# ========================================================================= #
|
|
9
|
+
def strong(i = '', css_class = '', the_id = '', css_style = '')
|
|
10
|
+
return HtmlTags.add(
|
|
11
|
+
opening_tag(__method__, css_class, the_id, css_style)+
|
|
12
|
+
i.to_s+
|
|
13
|
+
close(__method__)
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
module HtmlTags
|
|
6
|
+
|
|
7
|
+
# ========================================================================= #
|
|
8
|
+
# === style
|
|
9
|
+
#
|
|
10
|
+
# We first call the opening_tag() method, then add the content,
|
|
11
|
+
# and then close the whole thing again via close().
|
|
12
|
+
#
|
|
13
|
+
# This is essentially a way to add CSS style to a HTML-page.
|
|
14
|
+
# ========================================================================= #
|
|
15
|
+
def style(
|
|
16
|
+
i = '',
|
|
17
|
+
css_class = '',
|
|
18
|
+
the_id = '',
|
|
19
|
+
css_style = '',
|
|
20
|
+
javascript = ''
|
|
21
|
+
)
|
|
22
|
+
return HtmlTags.add(
|
|
23
|
+
opening_tag(__method__, css_class, the_id, css_style, javascript)+
|
|
24
|
+
i.to_s+
|
|
25
|
+
close(__method__)
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
end
|