html_tags 0.1.183

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.
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