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,99 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'html_tags/em.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.em
14
+ # ========================================================================= #
15
+ def self.em(
16
+ i = '',
17
+ css_class = '',
18
+ the_id = '',
19
+ css_style = '',
20
+ optional_javascript = '',
21
+ &block
22
+ )
23
+ # ======================================================================= #
24
+ # === Handle Hashes first
25
+ # ======================================================================= #
26
+ if css_class.is_a? Hash
27
+ # ===================================================================== #
28
+ # === :css_style
29
+ # ===================================================================== #
30
+ if css_class.has_key? :css_style
31
+ css_style = css_class.delete(:css_style)
32
+ if css_class.is_a?(Hash) and css_class.empty?
33
+ css_class = ''
34
+ end
35
+ end
36
+ end
37
+ if i.is_a? Hash
38
+ # ===================================================================== #
39
+ # Next support elements such as:
40
+ # dialog(css_class: 'default') {
41
+ # ===================================================================== #
42
+ if i.has_key? :css_class
43
+ css_class = i.delete(:css_class)
44
+ end
45
+ # ===================================================================== #
46
+ # === :id
47
+ # ===================================================================== #
48
+ if i.has_key? :id
49
+ the_id = i.delete(:id)
50
+ end
51
+ # ===================================================================== #
52
+ # === :css_style
53
+ # ===================================================================== #
54
+ if i.has_key? :css_style
55
+ css_style = i.delete(:css_style)
56
+ end
57
+ i = '' # For now, we remove this.
58
+ end
59
+ content = i.to_s.dup
60
+ if block_given?
61
+ content << yield.to_s
62
+ end
63
+ # ======================================================================= #
64
+ # Looks better with a newline, in my opinion:
65
+ # ======================================================================= #
66
+ content << "\n" unless content.end_with? "\n"
67
+ return HtmlTags.add(
68
+ opening_tag(__method__, css_class, the_id, css_style, optional_javascript)+
69
+ content+
70
+ close(__method__)
71
+ )
72
+ end
73
+
74
+ # ========================================================================= #
75
+ # === em
76
+ # ========================================================================= #
77
+ def em(
78
+ i = '',
79
+ css_class = '',
80
+ the_id = '',
81
+ css_style = '',
82
+ javascript = nil
83
+ )
84
+ return HtmlTags.em(
85
+ i,
86
+ css_class,
87
+ the_id,
88
+ css_style,
89
+ javascript_code,
90
+ &block
91
+ )
92
+ end
93
+
94
+ end
95
+
96
+ if __FILE__ == $PROGRAM_NAME
97
+ alias e puts
98
+ e '<p>We '+HtmlTags.em('can not')+' live like this.</p>'
99
+ end
@@ -0,0 +1,88 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # The <fieldset> tag is used to group related elements in a form.
6
+ #
7
+ # The <fieldset> tag draws a box around the related elements, similar
8
+ # to a gtk-frame in the GTK toolkit.
9
+ # =========================================================================== #
10
+ # require 'html_tags/individual_tags/fieldset.rb'
11
+ # =========================================================================== #
12
+ module HtmlTags
13
+
14
+ require 'html_tags/opening_tag/opening_tag.rb'
15
+ require 'html_tags/toplevel_methods/add.rb'
16
+
17
+ # ========================================================================= #
18
+ # === HtmlTags.fieldset
19
+ # ========================================================================= #
20
+ def self.fieldset(
21
+ i = '',
22
+ css_class = '',
23
+ the_id = '',
24
+ css_style = '',
25
+ optional_javascript = '',
26
+ &block
27
+ )
28
+ # ======================================================================= #
29
+ # === Handle Hashes first
30
+ # ======================================================================= #
31
+ if css_class.is_a? Hash
32
+ # ===================================================================== #
33
+ # === :css_style
34
+ # ===================================================================== #
35
+ if css_class.has_key? :css_style
36
+ css_style = css_class.delete(:css_style)
37
+ if css_class.is_a?(Hash) and css_class.empty?
38
+ css_class = ''
39
+ end
40
+ end
41
+ end
42
+ content = i.to_s.dup
43
+ if block_given?
44
+ content << yield.to_s
45
+ end
46
+ # ======================================================================= #
47
+ # Looks better with a newline, in my opinion:
48
+ # ======================================================================= #
49
+ content << "\n" unless content.end_with? "\n"
50
+ return HtmlTags.add(
51
+ opening_tag(__method__, css_class, the_id, css_style, optional_javascript)+
52
+ content+
53
+ close(__method__)
54
+ )
55
+ end
56
+
57
+ # ========================================================================= #
58
+ # === fieldset
59
+ # ========================================================================= #
60
+ def fieldset(
61
+ i = '',
62
+ css_class = '',
63
+ the_id = '',
64
+ css_style = '',
65
+ optional_javascript = '',
66
+ &block
67
+ )
68
+ return HtmlTags.fieldset(
69
+ i,
70
+ css_class,
71
+ the_id,
72
+ css_style,
73
+ javascript_code,
74
+ &block
75
+ )
76
+ end
77
+
78
+ end
79
+
80
+ if __FILE__ == $PROGRAM_NAME
81
+ alias e puts
82
+ e HtmlTags.fieldset(
83
+ ' <legend>Personalia:</legend>
84
+ <label for="fname">First name:</label>
85
+ <input type="text" id="fname" name="fname"><br><br>
86
+ <label for="lname">Last name:</label>'
87
+ )
88
+ end
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # Documentation for the <figure> tag can be viewed here:
6
+ #
7
+ # https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figure
8
+ #
9
+ # The HTML <figure> Element represents self-contained content, frequently
10
+ # with a caption (<figcaption>), and is typically referenced as a single
11
+ # unit. While it is related to the main flow, its position is independent
12
+ # of the main flow.
13
+ #
14
+ # Usually this is an image, an illustration, a diagram, a code snippet, or
15
+ # a schema that is referenced in the main text, but that can be moved to
16
+ # another page or to an appendix without affecting the main flow.
17
+ # =========================================================================== #
18
+ module HtmlTags
19
+
20
+ # ========================================================================= #
21
+ # === figure
22
+ #
23
+ # To test this, try:
24
+ #
25
+ # include HtmlTags; figure '<img src="/home/x/DATA/IMG/FOTOS/CATS/03.09.2003_Babykatze.jpg" alt="An awesome picture">
26
+ # <figcaption>Aisha ist noch immer müde, und sehr, sehr satt.</figcaption>'
27
+ #
28
+ # ========================================================================= #
29
+ def figure(
30
+ i = '',
31
+ css_class = '',
32
+ the_id = '',
33
+ css_style = ''
34
+ )
35
+ return HtmlTags.add(
36
+ opening_tag(__method__, css_class, the_id, css_style)+
37
+ i.to_s+
38
+ close(__method__)
39
+ )
40
+ end
41
+
42
+ end
@@ -0,0 +1,61 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # See also:
6
+ #
7
+ # https://www.w3schools.com/tags/tag_footer.asp
8
+ #
9
+ # =========================================================================== #
10
+ # require 'html_tags/individual_tags/footer.rb'
11
+ # =========================================================================== #
12
+ module HtmlTags
13
+
14
+ require 'html_tags/opening_tag/opening_tag.rb'
15
+ require 'html_tags/toplevel_methods/add.rb'
16
+
17
+ # ========================================================================= #
18
+ # === HtmlTags.footer
19
+ #
20
+ # This is for the <footer> tag, HTML5.
21
+ # ========================================================================= #
22
+ def self.footer(
23
+ i = '',
24
+ css_class = '',
25
+ the_id = '',
26
+ css_style = '',
27
+ &block
28
+ )
29
+ content = i.to_s
30
+ if block_given?
31
+ content = content.to_s+yield.to_s
32
+ end
33
+ return HtmlTags.add(
34
+ opening_tag(__method__, css_class, the_id, css_style)+
35
+ "#{content}\n"+
36
+ close(__method__)
37
+ )
38
+ end
39
+
40
+ # ========================================================================= #
41
+ # === footer
42
+ # ========================================================================= #
43
+ def footer(
44
+ i = '',
45
+ css_class = '',
46
+ the_id = '',
47
+ css_style = '',
48
+ &block
49
+ )
50
+ ::HtmlTags.footer(i, css_class, the_id, css_style, &block)
51
+ end
52
+
53
+ end
54
+
55
+ if __FILE__ == $PROGRAM_NAME
56
+ alias e puts
57
+ e HtmlTags.footer(
58
+ ' <p>Author: Foo Bar</p>
59
+ <p><a href="mailto:foo@bar.com">foo@bar.com</a></p>'
60
+ )
61
+ end
@@ -0,0 +1,93 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ module HtmlTags
6
+
7
+ # ========================================================================= #
8
+ # === form
9
+ #
10
+ # This method will generate a HTML <form> tag, ultimately. The form tag
11
+ # is used for user-generated content, such as during a POST action
12
+ # during a HTTP communication.
13
+ #
14
+ # The HTML <form> element only supports GET and POST as available actions.
15
+ #
16
+ # Do note that a <form> tag is a bit more complicated than, say,
17
+ # a <div> tag or a <p> tag, because we may need to attach additional
18
+ # information towards the <form> tag, such as "id", "name" or "action"
19
+ # entries.
20
+ #
21
+ # Invocation examples:
22
+ #
23
+ # form(css_style: 'margin-left:2em; margin-top:2px'){
24
+ # form(action: 'bla.cgi', name: 'some_name', css_style: 'margin-left:2em; margin-top:2px'){
25
+ #
26
+ # ========================================================================= #
27
+ def form(
28
+ i = '',
29
+ css_class = '',
30
+ the_id = '',
31
+ css_style = '',
32
+ &block
33
+ )
34
+ # ======================================================================= #
35
+ # === Handle Hashes as input given
36
+ # ======================================================================= #
37
+ if i.is_a? Hash
38
+ # ===================================================================== #
39
+ # === :action
40
+ #
41
+ # :action is presently not implemented.
42
+ # ===================================================================== #
43
+ # if i.has_key? :action
44
+ # end
45
+ # ===================================================================== #
46
+ # === :css_style
47
+ # ===================================================================== #
48
+ if i.has_key? :css_style
49
+ css_style = i.delete(:css_style)
50
+ end
51
+ end
52
+ the_opening_tag = opening_tag(
53
+ __method__, css_class, the_id, css_style
54
+ )
55
+ # ======================================================================= #
56
+ # Next, add ad-hoc support for "id", "name" and "action".
57
+ # ======================================================================= #
58
+ if i.is_a? Hash
59
+ if i.has_key? :id
60
+ the_opening_tag[the_opening_tag.index('>'),0] = ' id="'+i.delete(:id).to_s+'"'
61
+ end
62
+ if i.has_key? :action
63
+ the_opening_tag[the_opening_tag.index('>'),0] = ' action="'+i.delete(:action).to_s+'"'
64
+ end
65
+ if i.has_key? :name
66
+ the_opening_tag[the_opening_tag.index('>'),0] = ' name="'+i.delete(:name).to_s+'"'
67
+ end
68
+ if i.has_key? :method
69
+ the_opening_tag[the_opening_tag.index('>'),0] = ' method="'+i.delete(:method).to_s+'"'
70
+ end
71
+ # ===================================================================== #
72
+ # Finally, if that hash is empty, turn it into an empty String.
73
+ # ===================================================================== #
74
+ if i.is_a?(Hash) and i.empty?
75
+ i = ''.dup
76
+ end
77
+ end
78
+ # ======================================================================= #
79
+ # Past the next step, the variable `i` will be guaranted to be a String.
80
+ # ======================================================================= #
81
+ i = i.to_s
82
+ if block_given?
83
+ yielded = "#{yield}"
84
+ i << yielded
85
+ end
86
+ return HtmlTags.add(
87
+ the_opening_tag+
88
+ i+
89
+ close(__method__)
90
+ )
91
+ end
92
+
93
+ end
@@ -0,0 +1,48 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'html_tags/individual_tags/h1.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.h1
14
+ # ========================================================================= #
15
+ def self.h1(
16
+ i = '',
17
+ css_class = '',
18
+ the_id = '',
19
+ css_style = '',
20
+ javascript_code = ''
21
+ )
22
+ return HtmlTags.add(
23
+ opening_tag(__method__, css_class, the_id, css_style, javascript_code)+
24
+ i.to_s+
25
+ close(__method__)
26
+ )
27
+ end
28
+
29
+ # ========================================================================= #
30
+ # === h1
31
+ # ========================================================================= #
32
+ def h1(
33
+ i = '',
34
+ css_class = '',
35
+ the_id = '',
36
+ css_style = '',
37
+ javascript_code = ''
38
+ )
39
+ return HtmlTags.h1(
40
+ i,
41
+ css_class,
42
+ the_id,
43
+ css_style,
44
+ javascript_code
45
+ )
46
+ end
47
+
48
+ end
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'html_tags/individual_tags/h2.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.h2 (h2 tag)
14
+ #
15
+ # This method will ultimately generate a <h2></h2> tag.
16
+ # ========================================================================= #
17
+ def self.h2(
18
+ i = '',
19
+ css_class = '',
20
+ the_id = '',
21
+ css_style = '',
22
+ javascript_code = ''
23
+ )
24
+ return HtmlTags.add(
25
+ opening_tag(__method__, css_class, the_id, css_style, javascript_code)+
26
+ i.to_s+
27
+ close(__method__)
28
+ )
29
+ end
30
+
31
+ # ========================================================================= #
32
+ # === h2
33
+ # ========================================================================= #
34
+ def h2(
35
+ i = '',
36
+ css_class = '',
37
+ the_id = '',
38
+ css_style = '',
39
+ javascript_code = ''
40
+ )
41
+ return HtmlTags.h2(
42
+ i, css_class, the_id, css_style, javascript_code
43
+ )
44
+ end
45
+
46
+ end
@@ -0,0 +1,78 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'html_tags/individual_tags/h3.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.h3
14
+ #
15
+ # To test this method, try:
16
+ #
17
+ # HtmlTags.h3(text, css_class, the_id, css_style, javascript = ''); n
18
+ #
19
+ # Keep in mind that this method can be used like this:
20
+ #
21
+ # h3('Hello world!', css_style: 'margin-top: 2px')
22
+ #
23
+ # ========================================================================= #
24
+ def self.h3(
25
+ i = '',
26
+ css_class = '',
27
+ the_id = '',
28
+ css_style = '',
29
+ optional_javascript = '',
30
+ &block
31
+ )
32
+ # ======================================================================= #
33
+ # === Handle Hashes first
34
+ # ======================================================================= #
35
+ if css_class.is_a? Hash
36
+ # ===================================================================== #
37
+ # === :css_style
38
+ # ===================================================================== #
39
+ if css_class.has_key? :css_style
40
+ css_style = css_class.delete(:css_style)
41
+ if css_class.is_a?(Hash) and css_class.empty?
42
+ css_class = ''
43
+ end
44
+ end
45
+ end
46
+ content = i.to_s
47
+ if block_given?
48
+ content << yield.to_s
49
+ end
50
+ return HtmlTags.add(
51
+ opening_tag(__method__, css_class, the_id, css_style, optional_javascript)+
52
+ content+
53
+ close(__method__)
54
+ )
55
+ end
56
+
57
+ # ========================================================================= #
58
+ # === h3
59
+ # ========================================================================= #
60
+ def h3(
61
+ i = '',
62
+ css_class = '',
63
+ the_id = '',
64
+ css_style = '',
65
+ optional_javascript = '',
66
+ &block
67
+ )
68
+ return HtmlTags.h3(
69
+ i,
70
+ css_class,
71
+ the_id,
72
+ css_style,
73
+ optional_javascript,
74
+ &block
75
+ )
76
+ end
77
+
78
+ end
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'html_tags/individual_tags/h4.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.h4
14
+ # ========================================================================= #
15
+ def self.h4(
16
+ i = '', css_class = '', the_id = '', css_style = '', javascript_code = ''
17
+ )
18
+ return HtmlTags.add(
19
+ opening_tag(__method__, css_class, the_id, css_style, javascript_code)+
20
+ i.to_s+
21
+ close(__method__)
22
+ )
23
+ end
24
+
25
+ # ========================================================================= #
26
+ # === h4
27
+ # ========================================================================= #
28
+ def h4(
29
+ i = '', css_class = '', the_id = '', css_style = '', javascript_code = ''
30
+ )
31
+ return HtmlTags.h4(
32
+ i, css_class, the_id, css_style, javascript_code
33
+ )
34
+ end
35
+
36
+ end
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'html_tags/individual_tags/h5.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.h5
14
+ # ========================================================================= #
15
+ def self.h5(
16
+ i = '', css_class = '', the_id = '', css_style = '', javascript_code = ''
17
+ )
18
+ return HtmlTags.add(
19
+ opening_tag(__method__, css_class, the_id, css_style, javascript_code)+
20
+ i.to_s+
21
+ close(__method__)
22
+ )
23
+ end
24
+
25
+ # ========================================================================= #
26
+ # === h5
27
+ # ========================================================================= #
28
+ def h5(
29
+ i = '', css_class = '', the_id = '', css_style = '', javascript_code = ''
30
+ )
31
+ return HtmlTags.h5(
32
+ i, css_class, the_id, css_style, javascript_code
33
+ )
34
+ end
35
+
36
+ end
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'html_tags/individual_tags/h6.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.h6
14
+ # ========================================================================= #
15
+ def self.h6(
16
+ i = '',
17
+ css_class = '',
18
+ the_id = '',
19
+ css_style = '',
20
+ javascript_code = ''
21
+ )
22
+ return HtmlTags.add(
23
+ opening_tag(__method__, css_class, the_id, css_style, javascript_code)+
24
+ i.to_s+
25
+ close(__method__)
26
+ )
27
+ end
28
+
29
+ # ========================================================================= #
30
+ # === h6
31
+ # ========================================================================= #
32
+ def h6(
33
+ i = '', css_class = '', the_id = '', css_style = '', javascript_code = ''
34
+ )
35
+ return HtmlTags.h6(
36
+ i, css_class, the_id, css_style, javascript_code
37
+ )
38
+ end
39
+
40
+ end