html_tags 0.1.183

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +456 -0
  3. data/USAGE.md +17 -0
  4. data/doc/README.gen +256 -0
  5. data/html_tags.gemspec +48 -0
  6. data/images/logo_for_the_html_tags_project.png +0 -0
  7. data/lib/html_tags/array_registered_html_tags.rb +126 -0
  8. data/lib/html_tags/autoinclude.rb +2 -0
  9. data/lib/html_tags/autoinclude_base_module.rb +7 -0
  10. data/lib/html_tags/base/README.md +3 -0
  11. data/lib/html_tags/base/base.rb +11 -0
  12. data/lib/html_tags/base/base_module.rb +271 -0
  13. data/lib/html_tags/base/prototype.rb +19 -0
  14. data/lib/html_tags/checks.rb +58 -0
  15. data/lib/html_tags/closing_tag/closing_tag.rb +76 -0
  16. data/lib/html_tags/constants/array_strip_newlines.rb +14 -0
  17. data/lib/html_tags/constants/misc.rb +21 -0
  18. data/lib/html_tags/constants.rb +26 -0
  19. data/lib/html_tags/html_closing_tags.rb +36 -0
  20. data/lib/html_tags/html_comment.rb +29 -0
  21. data/lib/html_tags/html_tags.rb +118 -0
  22. data/lib/html_tags/html_tags_constants.rb +14 -0
  23. data/lib/html_tags/individual_tags/a.rb +646 -0
  24. data/lib/html_tags/individual_tags/abbr.rb +44 -0
  25. data/lib/html_tags/individual_tags/address.rb +50 -0
  26. data/lib/html_tags/individual_tags/area.rb +60 -0
  27. data/lib/html_tags/individual_tags/article.rb +48 -0
  28. data/lib/html_tags/individual_tags/aside.rb +80 -0
  29. data/lib/html_tags/individual_tags/audio.rb +54 -0
  30. data/lib/html_tags/individual_tags/b.rb +22 -0
  31. data/lib/html_tags/individual_tags/bdo.rb +50 -0
  32. data/lib/html_tags/individual_tags/blockquote.rb +19 -0
  33. data/lib/html_tags/individual_tags/body.rb +19 -0
  34. data/lib/html_tags/individual_tags/br.rb +28 -0
  35. data/lib/html_tags/individual_tags/button.rb +143 -0
  36. data/lib/html_tags/individual_tags/canvas.rb +19 -0
  37. data/lib/html_tags/individual_tags/caption.rb +107 -0
  38. data/lib/html_tags/individual_tags/cite.rb +78 -0
  39. data/lib/html_tags/individual_tags/code.rb +105 -0
  40. data/lib/html_tags/individual_tags/del.rb +112 -0
  41. data/lib/html_tags/individual_tags/details.rb +79 -0
  42. data/lib/html_tags/individual_tags/dialog.rb +108 -0
  43. data/lib/html_tags/individual_tags/div.rb +99 -0
  44. data/lib/html_tags/individual_tags/em.rb +99 -0
  45. data/lib/html_tags/individual_tags/fieldset.rb +88 -0
  46. data/lib/html_tags/individual_tags/figure.rb +42 -0
  47. data/lib/html_tags/individual_tags/footer.rb +61 -0
  48. data/lib/html_tags/individual_tags/form.rb +93 -0
  49. data/lib/html_tags/individual_tags/h1.rb +48 -0
  50. data/lib/html_tags/individual_tags/h2.rb +46 -0
  51. data/lib/html_tags/individual_tags/h3.rb +78 -0
  52. data/lib/html_tags/individual_tags/h4.rb +36 -0
  53. data/lib/html_tags/individual_tags/h5.rb +36 -0
  54. data/lib/html_tags/individual_tags/h6.rb +40 -0
  55. data/lib/html_tags/individual_tags/head.rb +47 -0
  56. data/lib/html_tags/individual_tags/header.rb +54 -0
  57. data/lib/html_tags/individual_tags/hgroup.rb +78 -0
  58. data/lib/html_tags/individual_tags/html.rb +61 -0
  59. data/lib/html_tags/individual_tags/i.rb +47 -0
  60. data/lib/html_tags/individual_tags/iframe.rb +131 -0
  61. data/lib/html_tags/individual_tags/img.rb +135 -0
  62. data/lib/html_tags/individual_tags/input.rb +96 -0
  63. data/lib/html_tags/individual_tags/ins.rb +102 -0
  64. data/lib/html_tags/individual_tags/kbd.rb +109 -0
  65. data/lib/html_tags/individual_tags/keygen.rb +90 -0
  66. data/lib/html_tags/individual_tags/label.rb +77 -0
  67. data/lib/html_tags/individual_tags/legend.rb +48 -0
  68. data/lib/html_tags/individual_tags/li.rb +74 -0
  69. data/lib/html_tags/individual_tags/link.rb +58 -0
  70. data/lib/html_tags/individual_tags/main.rb +29 -0
  71. data/lib/html_tags/individual_tags/map.rb +95 -0
  72. data/lib/html_tags/individual_tags/mark.rb +78 -0
  73. data/lib/html_tags/individual_tags/menu.rb +79 -0
  74. data/lib/html_tags/individual_tags/nav.rb +64 -0
  75. data/lib/html_tags/individual_tags/object.rb +76 -0
  76. data/lib/html_tags/individual_tags/ol.rb +50 -0
  77. data/lib/html_tags/individual_tags/p.rb +92 -0
  78. data/lib/html_tags/individual_tags/pre.rb +16 -0
  79. data/lib/html_tags/individual_tags/progress.rb +114 -0
  80. data/lib/html_tags/individual_tags/script.rb +22 -0
  81. data/lib/html_tags/individual_tags/source.rb +42 -0
  82. data/lib/html_tags/individual_tags/span.rb +95 -0
  83. data/lib/html_tags/individual_tags/strong.rb +17 -0
  84. data/lib/html_tags/individual_tags/style.rb +29 -0
  85. data/lib/html_tags/individual_tags/summary.rb +77 -0
  86. data/lib/html_tags/individual_tags/sup.rb +57 -0
  87. data/lib/html_tags/individual_tags/table.rb +90 -0
  88. data/lib/html_tags/individual_tags/tbody.rb +19 -0
  89. data/lib/html_tags/individual_tags/td.rb +30 -0
  90. data/lib/html_tags/individual_tags/textarea.rb +72 -0
  91. data/lib/html_tags/individual_tags/th.rb +50 -0
  92. data/lib/html_tags/individual_tags/thead.rb +53 -0
  93. data/lib/html_tags/individual_tags/time.rb +50 -0
  94. data/lib/html_tags/individual_tags/title.rb +59 -0
  95. data/lib/html_tags/individual_tags/tr.rb +50 -0
  96. data/lib/html_tags/individual_tags/track.rb +59 -0
  97. data/lib/html_tags/individual_tags/u.rb +47 -0
  98. data/lib/html_tags/individual_tags/ul.rb +23 -0
  99. data/lib/html_tags/individual_tags/var.rb +46 -0
  100. data/lib/html_tags/individual_tags/video.rb +70 -0
  101. data/lib/html_tags/module.rb +5 -0
  102. data/lib/html_tags/opening_tag/opening_tag.rb +288 -0
  103. data/lib/html_tags/project/project_base_directory.rb +23 -0
  104. data/lib/html_tags/requires/require_the_html_tags_project.rb +9 -0
  105. data/lib/html_tags/requires/require_the_img_tag.rb +7 -0
  106. data/lib/html_tags/shared.rb +23 -0
  107. data/lib/html_tags/stag.rb +54 -0
  108. data/lib/html_tags/toplevel_methods/add.rb +22 -0
  109. data/lib/html_tags/toplevel_methods/full_output.rb +33 -0
  110. data/lib/html_tags/toplevel_methods/newline_or_empty.rb +21 -0
  111. data/lib/html_tags/toplevel_methods/strip_newlines.rb +27 -0
  112. data/lib/html_tags/version/version.rb +17 -0
  113. data/lib/html_tags/yaml/available_html_tags.yml +135 -0
  114. data/lib/html_tags/yaml/valid_tags_in_a_head_tag.yml +16 -0
  115. data/lib/html_tags.rb +5 -0
  116. data/test/testing_html_tags.rb +158 -0
  117. data/test/testing_the_a_tag.rb +162 -0
  118. data/test/testing_the_button_tag.rb +37 -0
  119. data/test/testing_the_details_tag.rb +38 -0
  120. metadata +171 -0
@@ -0,0 +1,95 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'html_tags/individual_tags/span.rb'
6
+ # =========================================================================== #
7
+ module HtmlTags
8
+
9
+ require 'html_tags/opening_tag/opening_tag.rb'
10
+ require 'html_tags/toplevel_methods/add.rb'
11
+
12
+ # ========================================================================= #
13
+ # === HtmlTags.span
14
+ #
15
+ # This method will generate HTML <span> tags.
16
+ #
17
+ # It will first invoke the method called opening_tag(), then add
18
+ # the content that was given to it (the first parameter), and then
19
+ # close the whole tag via the close() method.
20
+ #
21
+ # Do note that you can eliminate newlines by invoking the method
22
+ # in something like this, via :strip:
23
+ #
24
+ # HtmlTags.span('Hello world!','s1') { :strip }
25
+ # HtmlTags.span(i, css_class: 'bord1px', css_style: 'margin-left: 1em')
26
+ #
27
+ # ========================================================================= #
28
+ def self.span(
29
+ i = '',
30
+ css_class = '',
31
+ the_id = '',
32
+ css_style = '',
33
+ javascript = '',
34
+ &block
35
+ )
36
+ i = i.to_s
37
+ start_the_method = opening_tag(
38
+ __method__,
39
+ css_class,
40
+ the_id,
41
+ css_style,
42
+ javascript
43
+ )
44
+ close_the_method = close(__method__)
45
+ if block_given?
46
+ yielded = yield
47
+ case yielded
48
+ when :strip
49
+ # Unfreeze, if frozen:
50
+ i = i.dup if i.frozen?
51
+ close_the_method = close_the_method.dup if close_the_method.frozen?
52
+ start_the_method = start_the_method.dup if start_the_method.frozen?
53
+ i.strip!
54
+ close_the_method.strip!
55
+ start_the_method.strip!
56
+ end
57
+ end
58
+ return HtmlTags.add(
59
+ start_the_method+
60
+ i+
61
+ close_the_method
62
+ )
63
+ end; self.instance_eval { alias s2 span } # === HtmlTags.s2
64
+
65
+ # ========================================================================= #
66
+ # === span
67
+ # ========================================================================= #
68
+ def span(
69
+ i = '',
70
+ css_class = '',
71
+ the_id = '',
72
+ css_style = '',
73
+ javascript = '',
74
+ &block
75
+ )
76
+ ::HtmlTags.span(i, css_class, the_id, css_style, javascript, &block)
77
+ end; alias s2 span # === s2
78
+
79
+ end
80
+
81
+ if __FILE__ == $PROGRAM_NAME
82
+ alias e puts
83
+ e HtmlTags.span('Hey there', 'mars2em')
84
+ # We also have to test the variant without any CSS class attached.
85
+ e HtmlTags.span('Hey there')
86
+ e
87
+ e 'The next variant uses more arguments:'
88
+ e
89
+ e HtmlTags.span(
90
+ 'Heya',
91
+ 'mars3em',
92
+ 'some_id_here',
93
+ 'color: green;'
94
+ )
95
+ 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
@@ -0,0 +1,77 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'html_tags/individual_tags/summary.rb'
6
+ # =========================================================================== #
7
+ module HtmlTags
8
+
9
+ require 'html_tags/opening_tag/opening_tag.rb'
10
+ require 'html_tags/toplevel_methods/add.rb'
11
+
12
+ # ========================================================================= #
13
+ # === HtmlTags.summary
14
+ #
15
+ # The <summary> tag defines a visible heading for the <details>
16
+ # element. The heading can be clicked to view/hide the details.
17
+ # ========================================================================= #
18
+ def self.summary(
19
+ i = '',
20
+ css_class = '',
21
+ the_id = '',
22
+ css_style = '',
23
+ optional_javascript = '',
24
+ &block
25
+ )
26
+ # ======================================================================= #
27
+ # === Handle Hashes first
28
+ # ======================================================================= #
29
+ if css_class.is_a? Hash
30
+ # ===================================================================== #
31
+ # === :css_style
32
+ # ===================================================================== #
33
+ if css_class.has_key? :css_style
34
+ css_style = css_class.delete(:css_style)
35
+ if css_class.is_a?(Hash) and css_class.empty?
36
+ css_class = ''
37
+ end
38
+ end
39
+ end
40
+ content = i.to_s.dup
41
+ if block_given?
42
+ content << yield.to_s
43
+ end
44
+ return HtmlTags.add(
45
+ opening_tag(__method__, css_class, the_id, css_style, optional_javascript)+
46
+ content+
47
+ close(__method__)
48
+ )
49
+ end
50
+
51
+ # ========================================================================= #
52
+ # === summary
53
+ # ========================================================================= #
54
+ def summary(
55
+ i = '',
56
+ css_class = '',
57
+ the_id = '',
58
+ css_style = '',
59
+ optional_javascript = '',
60
+ &block
61
+ )
62
+ return HtmlTags.summary(
63
+ i,
64
+ css_class,
65
+ the_id,
66
+ css_style,
67
+ javascript_code,
68
+ &block
69
+ )
70
+ end
71
+
72
+ end
73
+
74
+ if __FILE__ == $PROGRAM_NAME
75
+ alias e puts
76
+ e HtmlTags.summary('Hey there')
77
+ end
@@ -0,0 +1,57 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # See:
6
+ #
7
+ # https://www.w3schools.com/tags/tag_sup.asp
8
+ #
9
+ # =========================================================================== #
10
+ module HtmlTags
11
+
12
+ require 'html_tags/opening_tag/opening_tag.rb'
13
+ require 'html_tags/toplevel_methods/add.rb'
14
+
15
+ # ========================================================================= #
16
+ # === HtmlTags.sup
17
+ # ========================================================================= #
18
+ def self.sup(
19
+ i = '',
20
+ css_class = '',
21
+ the_id = '',
22
+ css_style = '',
23
+ &block
24
+ )
25
+ start = opening_tag(__method__, css_class, the_id, css_style).dup
26
+ return HtmlTags.add(
27
+ start+
28
+ i.to_s+
29
+ close(__method__)
30
+ )
31
+ end
32
+
33
+ # ========================================================================= #
34
+ # === sup
35
+ # ========================================================================= #
36
+ def sup(
37
+ i = '',
38
+ css_class = '',
39
+ the_id = '',
40
+ css_style = '',
41
+ &block
42
+ )
43
+ return HtmlTags.sup(
44
+ i,
45
+ css_class,
46
+ the_id,
47
+ css_style,
48
+ &block
49
+ )
50
+ end
51
+
52
+ end
53
+
54
+ if __FILE__ == $PROGRAM_NAME
55
+ alias e puts
56
+ e HtmlTags.sup('superscript')
57
+ end
@@ -0,0 +1,90 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ module HtmlTags
6
+
7
+ require 'html_tags/opening_tag/opening_tag.rb'
8
+ require 'html_tags/toplevel_methods/add.rb'
9
+ require 'html_tags/individual_tags/td.rb'
10
+
11
+ # ========================================================================= #
12
+ # === HtmlTags.table
13
+ #
14
+ # This should be combined with tr-tags and td-tags.
15
+ # ========================================================================= #
16
+ def self.table(
17
+ i = '',
18
+ css_class = '',
19
+ the_id = '',
20
+ css_style = '',
21
+ &block
22
+ )
23
+ # ======================================================================= #
24
+ # === Handle blocks first
25
+ # ======================================================================= #
26
+ if block_given?
27
+ if i.is_a?(String) and i.frozen?
28
+ i = i.dup
29
+ elsif i.nil?
30
+ i = ''.dup
31
+ end
32
+ yielded = yield
33
+ yielded = yielded.to_a.flatten if yielded.is_a? Hash # Convert a Hash into Array in this case.
34
+ # ===================================================================== #
35
+ # Arrays will be appended via proper <tr> and <td> usage.
36
+ # ===================================================================== #
37
+ if yielded.is_a? Array
38
+ yielded.each_with_index { |entry, index|
39
+ if (index % 2) == 0
40
+ i << '<tr>'
41
+ i << HtmlTags.td(entry)
42
+ else
43
+ i << HtmlTags.td(entry)
44
+ i << '</tr>'
45
+ end
46
+ }
47
+ else
48
+ i << yielded
49
+ end
50
+ end
51
+ start_tag = opening_tag(__method__, css_class, the_id, css_style)
52
+ return HtmlTags.add(
53
+ start_tag+
54
+ "#{i}\n"+
55
+ close(__method__)
56
+ )
57
+ end
58
+
59
+ # ========================================================================= #
60
+ # === table
61
+ # ========================================================================= #
62
+ def table(
63
+ i = '',
64
+ css_class = '',
65
+ the_id = '',
66
+ css_style = '',
67
+ &block
68
+ )
69
+ return HtmlTags.table(
70
+ i,
71
+ css_class,
72
+ the_id,
73
+ css_style,
74
+ &block
75
+ )
76
+ end
77
+
78
+ end
79
+
80
+ if __FILE__ == $PROGRAM_NAME
81
+ alias e puts
82
+ include HtmlTags
83
+ e '------------------'
84
+ e table('foobar.mp4')
85
+ e '------------------'
86
+ e HtmlTags.table(nil,'mars1em','test_table','border:1px solid rand') {
87
+ %w( abc def ghi jkl )
88
+ }
89
+ e '------------------'
90
+ end
@@ -0,0 +1,19 @@
1
+ module HtmlTags
2
+
3
+ # ========================================================================= #
4
+ # === HtmlTags.tbody
5
+ # ========================================================================= #
6
+ def self.tbody(i = '', css_class = '', the_id = '', css_style = '')
7
+ return HtmlTags.add(
8
+ opening_tag(__method__, css_class, the_id, css_style)+i.to_s+close(__method__)
9
+ )
10
+ end
11
+
12
+ # ========================================================================= #
13
+ # === tbody
14
+ # ========================================================================= #
15
+ def tbody(i = '', css_class = '', the_id = '', css_style = '')
16
+ HtmlTags.tbody(i, css_class, the_id, css_style)
17
+ end
18
+
19
+ end
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'html_tags/individual_tags/td.rb'
6
+ # =========================================================================== #
7
+ module HtmlTags
8
+
9
+ # ========================================================================= #
10
+ # === td
11
+ # ========================================================================= #
12
+ def td(
13
+ i = '',
14
+ css_class = '',
15
+ the_id = '',
16
+ css_style = '',
17
+ &block
18
+ )
19
+ content = i.to_s
20
+ if block_given?
21
+ content = content.to_s+yield.to_s
22
+ end
23
+ return HtmlTags.add(
24
+ opening_tag(__method__, css_class, the_id, css_style)+
25
+ content+
26
+ close(__method__)
27
+ )
28
+ end
29
+
30
+ end
@@ -0,0 +1,72 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ module HtmlTags
6
+
7
+ require 'html_tags/toplevel_methods/add.rb'
8
+ require 'html_tags/opening_tag/opening_tag.rb'
9
+
10
+ # ========================================================================= #
11
+ # === HtmlTags.textarea
12
+ #
13
+ # Do note that the <textarea> tag also has an entry called spellcheck.
14
+ #
15
+ # Example:
16
+ #
17
+ # <textarea spellcheck="true"></textarea>
18
+ #
19
+ # This appears to be true by default on palemoon, firefox and chrome,
20
+ # but I am not sure that it is too terribly useful, so as far as the
21
+ # HtmlTags project is concerned, it will be set to false by default.
22
+ #
23
+ # Invocation example:
24
+ #
25
+ # HtmlTags.textarea('Hello world!') # => <textarea spellcheck="true">Hello world!</textarea>
26
+ #
27
+ # ========================================================================= #
28
+ def self.textarea(
29
+ i = '', # This is the actual content.
30
+ css_class = '',
31
+ the_id = '',
32
+ css_style = '',
33
+ spellcheck = false,
34
+ *args
35
+ )
36
+ start = opening_tag(__method__, css_class, the_id, css_style)
37
+
38
+ index = start.index('<textarea')+
39
+ '<textarea'.size
40
+ if spellcheck
41
+ start[index,0] = ' spellcheck="true"'
42
+ else
43
+ start[index,0] = ' spellcheck="false"'
44
+ end
45
+ return HtmlTags.add(
46
+ start+
47
+ i.to_s+
48
+ close(__method__)
49
+ )
50
+ end
51
+
52
+ # ========================================================================= #
53
+ # === textarea
54
+ # ========================================================================= #
55
+ def textarea(
56
+ i = '',
57
+ css_class = '',
58
+ the_id = '',
59
+ css_style = '',
60
+ spellcheck = false,
61
+ *args
62
+ )
63
+ HtmlTags.textarea(i, css_class, the_id, css_style, spellcheck, args)
64
+ end
65
+
66
+ end
67
+
68
+ if __FILE__ == $PROGRAM_NAME
69
+ alias e puts
70
+ e HtmlTags.textarea('OK THERE')
71
+ e HtmlTags.textarea('','pad10px','main_textarea')
72
+ 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
+ require 'html_tags/opening_tag/opening_tag.rb'
8
+ require 'html_tags/toplevel_methods/add.rb'
9
+
10
+ # ========================================================================= #
11
+ # === HtmlTags.th
12
+ # ========================================================================= #
13
+ def self.th(
14
+ i = '',
15
+ css_class = '',
16
+ the_id = '',
17
+ css_style = ''
18
+ )
19
+ return HtmlTags.add(
20
+ opening_tag(__method__, css_class, the_id, css_style)+
21
+ i.to_s+
22
+ close(__method__)
23
+ )
24
+ end
25
+
26
+ # ========================================================================= #
27
+ # === th
28
+ # ========================================================================= #
29
+ def th(
30
+ i = '',
31
+ css_class = '',
32
+ the_id = '',
33
+ css_style = '',
34
+ &block
35
+ )
36
+ return HtmlTags.th(
37
+ i,
38
+ css_class,
39
+ the_id,
40
+ css_style,
41
+ &block
42
+ )
43
+ end
44
+
45
+ end
46
+
47
+ if __FILE__ == $PROGRAM_NAME
48
+ alias e puts
49
+ e HtmlTags.th('Month')
50
+ end
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ module HtmlTags
6
+
7
+ require 'html_tags/opening_tag/opening_tag.rb'
8
+ require 'html_tags/toplevel_methods/add.rb'
9
+
10
+ # ========================================================================= #
11
+ # === HtmlTags.thead
12
+ # ========================================================================= #
13
+ def self.thead(
14
+ i = '',
15
+ css_class = '',
16
+ the_id = '',
17
+ css_style = ''
18
+ )
19
+ return HtmlTags.add(
20
+ opening_tag(__method__, css_class, the_id, css_style)+
21
+ i.to_s+
22
+ close(__method__)
23
+ )
24
+ end
25
+
26
+ # ========================================================================= #
27
+ # === thead
28
+ # ========================================================================= #
29
+ def thead(
30
+ i = '',
31
+ css_class = '',
32
+ the_id = '',
33
+ css_style = '',
34
+ &block
35
+ )
36
+ return HtmlTags.thead(
37
+ i,
38
+ css_class,
39
+ the_id,
40
+ css_style,
41
+ &block
42
+ )
43
+ end
44
+
45
+ end
46
+
47
+ if __FILE__ == $PROGRAM_NAME
48
+ alias e puts
49
+ e HtmlTags.thead(' <tr>
50
+ <th>Month</th>
51
+ <th>Savings</th>
52
+ </tr>')
53
+ 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
+ require 'html_tags/opening_tag/opening_tag.rb'
8
+ require 'html_tags/toplevel_methods/add.rb'
9
+
10
+ # ========================================================================= #
11
+ # === HtmlTags.time
12
+ # ========================================================================= #
13
+ def self.time(
14
+ i = '',
15
+ css_class = '',
16
+ the_id = '',
17
+ css_style = ''
18
+ )
19
+ return HtmlTags.add(
20
+ opening_tag(__method__, css_class, the_id, css_style) { :no_newline }+ # Looks better without newline, in my opinion.
21
+ i.to_s+
22
+ close(__method__)
23
+ )
24
+ end
25
+
26
+ # ========================================================================= #
27
+ # === time
28
+ # ========================================================================= #
29
+ def time(
30
+ i = '',
31
+ css_class = '',
32
+ the_id = '',
33
+ css_style = '',
34
+ &block
35
+ )
36
+ return HtmlTags.time(
37
+ i,
38
+ css_class,
39
+ the_id,
40
+ css_style,
41
+ &block
42
+ )
43
+ end
44
+
45
+ end
46
+
47
+ if __FILE__ == $PROGRAM_NAME
48
+ alias e puts
49
+ e HtmlTags.time('10:00')
50
+ end