markdown-ui 0.1.16 → 0.1.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +3 -0
- data/Changelog +14 -0
- data/Gemfile +3 -0
- data/components/collections/markdown-ui-grid/lib/grid/column/column.rb +6 -9
- data/components/collections/markdown-ui-grid/lib/grid/grid.rb +6 -9
- data/components/collections/markdown-ui-grid/lib/grid/row/row.rb +6 -9
- data/components/collections/markdown-ui-grid/markdown-ui-grid.gemspec +1 -1
- data/components/collections/markdown-ui-menu/lib/menu/custom.rb +12 -12
- data/components/collections/markdown-ui-menu/lib/menu/element.rb +54 -52
- data/components/collections/markdown-ui-menu/lib/menu/pagination.rb +11 -10
- data/components/collections/markdown-ui-menu/lib/menu/pointing.rb +11 -10
- data/components/collections/markdown-ui-menu/lib/menu/secondary.rb +11 -10
- data/components/collections/markdown-ui-menu/lib/menu/standard.rb +11 -10
- data/components/collections/markdown-ui-menu/lib/menu/tabular.rb +11 -10
- data/components/collections/markdown-ui-menu/lib/menu/text.rb +11 -10
- data/components/collections/markdown-ui-menu/lib/menu/vertical.rb +11 -10
- data/components/collections/markdown-ui-message/lib/message/custom_message.rb +11 -11
- data/components/collections/markdown-ui-message/lib/message/list_message.rb +10 -9
- data/components/collections/markdown-ui-message/lib/message/message.rb +32 -29
- data/components/collections/markdown-ui-message/lib/message/standard_message.rb +10 -9
- data/components/collections/markdown-ui-message/lib/message/version.rb +1 -1
- data/components/collections/markdown-ui-message/markdown-ui-message.gemspec +2 -2
- data/components/elements/markdown-ui-button/lib/button/animated.rb +24 -22
- data/components/elements/markdown-ui-button/lib/button/basic.rb +14 -12
- data/components/elements/markdown-ui-button/lib/button/custom.rb +16 -14
- data/components/elements/markdown-ui-button/lib/button/element.rb +55 -53
- data/components/elements/markdown-ui-button/lib/button/focusable.rb +14 -12
- data/components/elements/markdown-ui-button/lib/button/group/buttons/custom.rb +14 -12
- data/components/elements/markdown-ui-button/lib/button/group/buttons/element.rb +22 -20
- data/components/elements/markdown-ui-button/lib/button/group/buttons/icon.rb +14 -12
- data/components/elements/markdown-ui-button/lib/button/group/buttons/standard.rb +14 -12
- data/components/elements/markdown-ui-button/lib/button/icon.rb +14 -12
- data/components/elements/markdown-ui-button/lib/button/labeled_icon.rb +19 -17
- data/components/elements/markdown-ui-button/lib/button/standard.rb +14 -12
- data/components/elements/markdown-ui-container/lib/container/alignment/center.rb +1 -1
- data/components/elements/markdown-ui-container/lib/container/alignment/left.rb +1 -1
- data/components/elements/markdown-ui-container/lib/container/alignment/right.rb +1 -1
- data/components/elements/markdown-ui-container/lib/container/custom.rb +1 -1
- data/components/elements/markdown-ui-container/lib/container/element.rb +5 -5
- data/components/elements/markdown-ui-container/lib/container/standard.rb +1 -1
- data/components/elements/markdown-ui-container/lib/container/text.rb +1 -1
- data/components/elements/markdown-ui-content/lib/content/basic_block.rb +19 -0
- data/components/elements/markdown-ui-content/lib/content/content_block.rb +1 -1
- data/components/elements/markdown-ui-content/lib/content/custom.rb +1 -1
- data/components/elements/markdown-ui-content/lib/content/divider_block.rb +1 -1
- data/components/elements/markdown-ui-content/lib/content/field_block.rb +1 -1
- data/components/elements/markdown-ui-content/lib/content/flag.rb +2 -2
- data/components/elements/markdown-ui-content/lib/content/form_block.rb +1 -1
- data/components/elements/markdown-ui-content/lib/content/header.rb +2 -2
- data/components/elements/markdown-ui-content/lib/content/header_block.rb +1 -1
- data/components/elements/markdown-ui-content/lib/content/icon.rb +2 -2
- data/components/elements/markdown-ui-content/lib/content/input_block.rb +1 -1
- data/components/elements/markdown-ui-content/lib/content/item.rb +4 -4
- data/components/elements/markdown-ui-content/lib/content/item_block.rb +1 -1
- data/components/elements/markdown-ui-content/lib/content/list.rb +6 -6
- data/components/elements/markdown-ui-content/lib/content/parser.rb +17 -17
- data/components/elements/markdown-ui-content/lib/content/span_block.rb +1 -1
- data/components/elements/markdown-ui-content/lib/content/text.rb +6 -6
- data/components/elements/markdown-ui-header/lib/header/header.rb +3 -3
- data/components/elements/markdown-ui-input/lib/input/custom.rb +4 -4
- data/components/elements/markdown-ui-input/lib/input/element.rb +10 -10
- data/components/elements/markdown-ui-label/lib/label/custom.rb +2 -2
- data/components/elements/markdown-ui-label/lib/label/element.rb +9 -16
- data/components/elements/markdown-ui-segment/lib/segment/custom_segment.rb +1 -1
- data/components/elements/markdown-ui-segment/lib/segment/horizontal_segment.rb +1 -1
- data/components/elements/markdown-ui-segment/lib/segment/padded_segment.rb +1 -1
- data/components/elements/markdown-ui-segment/lib/segment/piled_segment.rb +1 -1
- data/components/elements/markdown-ui-segment/lib/segment/segment.rb +6 -6
- data/components/elements/markdown-ui-segment/lib/segment/stacked_segment.rb +1 -1
- data/components/elements/markdown-ui-segment/lib/segment/standard_segment.rb +1 -1
- data/components/elements/markdown-ui-segment/lib/segment/vertical_segment.rb +1 -1
- data/components/shared/markdown-ui-shared/Gemfile +2 -0
- data/components/shared/markdown-ui-shared/lib/markdown-ui-shared.rb +3 -0
- data/components/shared/markdown-ui-shared/lib/shared/tag_klass.rb +77 -0
- data/components/shared/markdown-ui-shared/lib/shared/version.rb +5 -0
- data/components/shared/markdown-ui-shared/markdown-ui-shared.gemspec +37 -0
- data/lib/markdown-ui.rb +10 -132
- data/lib/markdown-ui/renderers/block_quote.rb +47 -0
- data/lib/markdown-ui/renderers/double_emphasis.rb +97 -0
- data/lib/markdown-ui/renderers/emphasis.rb +23 -0
- data/lib/markdown-ui/renderers/header.rb +9 -0
- data/lib/markdown-ui/renderers/horizontal_rule.rb +19 -0
- data/lib/markdown-ui/renderers/link.rb +10 -0
- data/lib/markdown-ui/renderers/list.rb +10 -0
- data/lib/markdown-ui/renderers/paragraph.rb +9 -0
- data/lib/markdown-ui/renderers/quote.rb +9 -0
- data/lib/markdown-ui/shared.rb +7 -0
- data/lib/markdown-ui/tag/article_tag.rb +14 -0
- data/lib/markdown-ui/tag/button_tag.rb +6 -19
- data/lib/markdown-ui/tag/custom_tag.rb +11 -10
- data/lib/markdown-ui/tag/focusable_button_tag.rb +6 -19
- data/lib/markdown-ui/tag/footer_tag.rb +14 -0
- data/lib/markdown-ui/tag/header_tag.rb +14 -0
- data/lib/markdown-ui/tag/input_tag.rb +7 -27
- data/lib/markdown-ui/tag/item_tag.rb +6 -14
- data/lib/markdown-ui/tag/label_tag.rb +6 -19
- data/lib/markdown-ui/tag/list_tag.rb +18 -21
- data/lib/markdown-ui/tag/section_tag.rb +14 -0
- data/lib/markdown-ui/tag/span_tag.rb +7 -7
- data/lib/markdown-ui/tag/standard_tag.rb +6 -19
- data/lib/markdown-ui/tag/tag.rb +18 -20
- data/lib/markdown-ui/tools/html_formatter.rb +11 -0
- data/lib/markdown-ui/utils/klass_util.rb +13 -3
- data/lib/markdown-ui/version.rb +1 -1
- data/website/docs/flag.html +1 -1
- data/website/docs/icon.html +609 -0
- data/website/docs/icon.md +691 -0
- data/website/docs/toc.html +4 -0
- data/website/docs/toc.md +5 -2
- data/website/index.html +2 -2
- metadata +25 -2
@@ -0,0 +1,37 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'shared/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'markdown-ui-shared'
|
8
|
+
spec.version = MarkdownUI::Shared::VERSION
|
9
|
+
spec.authors = ['Joel Bryan Juliano']
|
10
|
+
spec.email = ['joelbryan.juliano@gmail.com']
|
11
|
+
|
12
|
+
spec.summary = %q{Responsive User Interfaces in Markdown}
|
13
|
+
spec.description = %q{Create responsive UI/UX for mobile and web using Markdown Syntax}
|
14
|
+
spec.homepage = 'https://github.com/jjuliano/markdown-ui'
|
15
|
+
spec.license = 'MIT'
|
16
|
+
|
17
|
+
# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
|
18
|
+
# delete this section to allow pushing this gem to any host.
|
19
|
+
if spec.respond_to?(:metadata)
|
20
|
+
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
21
|
+
else
|
22
|
+
raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.'
|
23
|
+
end
|
24
|
+
|
25
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
26
|
+
spec.bindir = 'exe'
|
27
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
28
|
+
spec.require_paths = ['lib']
|
29
|
+
|
30
|
+
spec.add_dependency 'bundler', '~> 1.10', '~> 1.9'
|
31
|
+
spec.add_dependency 'redcarpet', '~> 3.2'
|
32
|
+
spec.add_dependency 'nokogiri', '~> 1.6'
|
33
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
34
|
+
spec.add_development_dependency 'test-unit', '~> 3.0'
|
35
|
+
spec.add_development_dependency 'simplecov', '~> 0.10'
|
36
|
+
spec.add_development_dependency 'codeclimate-test-reporter', '~> 0.4'
|
37
|
+
end
|
data/lib/markdown-ui.rb
CHANGED
@@ -1,12 +1,10 @@
|
|
1
1
|
# coding: UTF-8
|
2
|
-
require 'markdown-ui/version'
|
3
2
|
|
4
3
|
require 'redcarpet'
|
5
4
|
require 'nokogiri'
|
6
5
|
require 'ostruct'
|
7
6
|
|
8
|
-
|
9
|
-
require 'markdown-ui/collection'
|
7
|
+
require_relative 'markdown-ui/shared'
|
10
8
|
|
11
9
|
['markdown-ui/**/*.rb'].each do |dir|
|
12
10
|
Dir[File.join(File.dirname(__FILE__), dir)].sort.each { |f| require_relative f }
|
@@ -14,124 +12,15 @@ end
|
|
14
12
|
|
15
13
|
module MarkdownUI
|
16
14
|
class Renderer < Redcarpet::Render::HTML
|
17
|
-
include MarkdownUI::
|
18
|
-
include MarkdownUI::
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
text
|
27
|
-
end
|
28
|
-
|
29
|
-
def emphasis(text)
|
30
|
-
text =~ /icon/i ? MarkdownUI::Content::Icon.new(text).render : MarkdownUI::Content::Flag.new(text).render
|
31
|
-
end
|
32
|
-
|
33
|
-
def double_emphasis(text)
|
34
|
-
args = text.split('|')
|
35
|
-
element = args[0].split(' ')
|
36
|
-
|
37
|
-
content = if args[1].strip =~ /\,/
|
38
|
-
args[1].split(',')
|
39
|
-
else
|
40
|
-
args[1].strip
|
41
|
-
end if !args[1].nil?
|
42
|
-
|
43
|
-
klass = if args[0].strip =~ /\./
|
44
|
-
k = args[0].split('.')
|
45
|
-
k.reverse!
|
46
|
-
k.shift
|
47
|
-
end
|
48
|
-
|
49
|
-
_id = !args[2].nil? ? args[2].downcase : nil
|
50
|
-
|
51
|
-
data_attributes = !args[3].nil? ? args[3].downcase : nil
|
52
|
-
|
53
|
-
html do
|
54
|
-
if content
|
55
|
-
case element.join(' ')
|
56
|
-
when /button/i
|
57
|
-
MarkdownUI::Button::Element.new(element, content, klass, _id).render
|
58
|
-
when /input/i
|
59
|
-
MarkdownUI::Input::Element.new(element, content, klass, _id).render
|
60
|
-
when /menu/i
|
61
|
-
MarkdownUI::Menu::Element.new(element, content, klass).render
|
62
|
-
when /message/i
|
63
|
-
MarkdownUI::Message.new(element, content, klass).render
|
64
|
-
when /tag/i
|
65
|
-
MarkdownUI::Tag.new(element[0].downcase, content, _id, data_attributes).render
|
66
|
-
when /header/i
|
67
|
-
MarkdownUI::Header.new(content, 0).render
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
def block_quote(text)
|
74
|
-
element, content = text.split(':')
|
75
|
-
|
76
|
-
html do
|
77
|
-
if content
|
78
|
-
case element
|
79
|
-
when /segment/i
|
80
|
-
MarkdownUI::Segment.new(element, content).render
|
81
|
-
when /grid/i
|
82
|
-
MarkdownUI::Grid.new(element, content).render
|
83
|
-
when /column/i
|
84
|
-
MarkdownUI::Column.new(element, content).render
|
85
|
-
when /container/i
|
86
|
-
MarkdownUI::Container::Element.new(element, content).render
|
87
|
-
when /buttons/i
|
88
|
-
MarkdownUI::Button::Group::Buttons::Element.new(element, content).render
|
89
|
-
when /button/i
|
90
|
-
MarkdownUI::Button::Element.new(element, content).render
|
91
|
-
when /menu/i
|
92
|
-
MarkdownUI::Menu::Element.new(element, content).render
|
93
|
-
when /message/i
|
94
|
-
MarkdownUI::Message.new(element, content).render
|
95
|
-
when /label/i
|
96
|
-
MarkdownUI::Label::Element.new(element, content).render
|
97
|
-
when /item/i
|
98
|
-
MarkdownUI::Content::ItemBlock.new(element, content).render
|
99
|
-
when /form/i
|
100
|
-
MarkdownUI::Content::FormBlock.new(element, content).render
|
101
|
-
when /field/i
|
102
|
-
MarkdownUI::Content::FieldBlock.new(element, content).render
|
103
|
-
when /input/i
|
104
|
-
MarkdownUI::Content::InputBlock.new(element, content).render
|
105
|
-
when /divider/i
|
106
|
-
MarkdownUI::Content::DividerBlock.new(element, content).render
|
107
|
-
when /header/i
|
108
|
-
MarkdownUI::Content::HeaderBlock.new(element, content).render
|
109
|
-
when /content/i
|
110
|
-
MarkdownUI::Content::ContentBlock.new(element, content).render
|
111
|
-
when /span/i
|
112
|
-
MarkdownUI::Content::SpanBlock.new(element, content).render
|
113
|
-
end
|
114
|
-
end
|
115
|
-
end
|
116
|
-
end
|
117
|
-
|
118
|
-
def list(content, list_type)
|
119
|
-
klass = "ui #{list_type}"
|
120
|
-
html { MarkdownUI::Content::List.new(content, klass, list_type).render }
|
121
|
-
end
|
122
|
-
|
123
|
-
def link(link, klass, content)
|
124
|
-
_klass = "ui #{klass}"
|
125
|
-
html { MarkdownUI::Content::Item.new(content, _klass, link).render }
|
126
|
-
end
|
127
|
-
|
128
|
-
def quote(text)
|
129
|
-
html { "<p>#{text}</p>" }
|
130
|
-
end
|
131
|
-
|
132
|
-
def header(text, level)
|
133
|
-
html { MarkdownUI::Header.new(text, level).render }
|
134
|
-
end
|
15
|
+
include MarkdownUI::Renderers::Header
|
16
|
+
include MarkdownUI::Renderers::Quote
|
17
|
+
include MarkdownUI::Renderers::Link
|
18
|
+
include MarkdownUI::Renderers::List
|
19
|
+
include MarkdownUI::Renderers::BlockQuote
|
20
|
+
include MarkdownUI::Renderers::DoubleEmphasis
|
21
|
+
include MarkdownUI::Renderers::Emphasis
|
22
|
+
include MarkdownUI::Renderers::Paragraph
|
23
|
+
include MarkdownUI::Renderers::HorizontalRule
|
135
24
|
|
136
25
|
protected
|
137
26
|
|
@@ -140,16 +29,5 @@ module MarkdownUI
|
|
140
29
|
HTMLFormatter.new(yield).to_html
|
141
30
|
end
|
142
31
|
end
|
143
|
-
|
144
|
-
end
|
145
|
-
|
146
|
-
class HTMLFormatter
|
147
|
-
def initialize(text)
|
148
|
-
@doc = Nokogiri::XML(text, &:noblanks).to_xhtml(indent: 2)
|
149
|
-
end
|
150
|
-
|
151
|
-
def to_html
|
152
|
-
@doc
|
153
|
-
end
|
154
32
|
end
|
155
33
|
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module MarkdownUI
|
2
|
+
module Renderers
|
3
|
+
module BlockQuote
|
4
|
+
def block_quote(text)
|
5
|
+
element, content = text.split(':')
|
6
|
+
@params = element.split
|
7
|
+
|
8
|
+
@elements = Hash.new(MarkdownUI::Content::BasicBlock).merge(
|
9
|
+
button: MarkdownUI::Button::Element,
|
10
|
+
segment: MarkdownUI::Segment,
|
11
|
+
grid: MarkdownUI::Grid,
|
12
|
+
column: MarkdownUI::Column,
|
13
|
+
container: MarkdownUI::Container::Element,
|
14
|
+
buttons: MarkdownUI::Button::Group::Buttons::Element,
|
15
|
+
label: MarkdownUI::Label::Element,
|
16
|
+
span: MarkdownUI::Content::SpanBlock,
|
17
|
+
content: MarkdownUI::Content::ContentBlock,
|
18
|
+
divider: MarkdownUI::Content::DividerBlock,
|
19
|
+
field: MarkdownUI::Content::FieldBlock,
|
20
|
+
form: MarkdownUI::Content::FormBlock,
|
21
|
+
item: MarkdownUI::Content::ItemBlock,
|
22
|
+
tag: MarkdownUI::Tag,
|
23
|
+
menu: MarkdownUI::Menu::Element,
|
24
|
+
message: MarkdownUI::Message::Element,
|
25
|
+
input: MarkdownUI::Content::InputBlock,
|
26
|
+
header: MarkdownUI::Content::HeaderBlock
|
27
|
+
)
|
28
|
+
|
29
|
+
html { @elements[key].new(element, content).render } if content
|
30
|
+
end
|
31
|
+
|
32
|
+
protected
|
33
|
+
|
34
|
+
def regexp
|
35
|
+
Regexp.new (@params.collect { |u| u.downcase }).join('|'), "i"
|
36
|
+
end
|
37
|
+
|
38
|
+
def key
|
39
|
+
keys.grep(regexp).first
|
40
|
+
end
|
41
|
+
|
42
|
+
def keys
|
43
|
+
@elements.keys
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
module MarkdownUI
|
2
|
+
module Renderers
|
3
|
+
module DoubleEmphasis
|
4
|
+
def double_emphasis(text)
|
5
|
+
@text = text
|
6
|
+
|
7
|
+
html do
|
8
|
+
case combined_elements
|
9
|
+
when /button/i
|
10
|
+
render_button
|
11
|
+
when /input/i
|
12
|
+
render_input
|
13
|
+
when /menu/i
|
14
|
+
render_menu
|
15
|
+
when /message/i
|
16
|
+
render_message
|
17
|
+
when /tag/i
|
18
|
+
render_tag
|
19
|
+
when /header/i
|
20
|
+
render_header
|
21
|
+
end if content
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
protected
|
26
|
+
|
27
|
+
def render_header
|
28
|
+
MarkdownUI::Header.new(content, 0).render
|
29
|
+
end
|
30
|
+
|
31
|
+
def render_tag
|
32
|
+
MarkdownUI::Tag.new(first_element, content, _id, data_attributes).render
|
33
|
+
end
|
34
|
+
|
35
|
+
def first_element
|
36
|
+
element[0].downcase
|
37
|
+
end
|
38
|
+
|
39
|
+
def render_message
|
40
|
+
MarkdownUI::Message::Element.new(element, content, klass).render
|
41
|
+
end
|
42
|
+
|
43
|
+
def render_menu
|
44
|
+
MarkdownUI::Menu::Element.new(element, content, klass).render
|
45
|
+
end
|
46
|
+
|
47
|
+
def render_input
|
48
|
+
MarkdownUI::Input::Element.new(element, content, klass, _id).render
|
49
|
+
end
|
50
|
+
|
51
|
+
def render_button
|
52
|
+
MarkdownUI::Button::Element.new(element, content, klass, _id).render
|
53
|
+
end
|
54
|
+
|
55
|
+
def data_attributes
|
56
|
+
!args[3].nil? ? args[3].downcase : nil
|
57
|
+
end
|
58
|
+
|
59
|
+
def _id
|
60
|
+
!args[2].nil? ? args[2].downcase : nil
|
61
|
+
end
|
62
|
+
|
63
|
+
def klass
|
64
|
+
if args.is_a? Array
|
65
|
+
if args[0].strip =~ /\./
|
66
|
+
k = args[0].split('.')
|
67
|
+
k.reverse!
|
68
|
+
k.shift
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
def content
|
74
|
+
if args.is_a? Array
|
75
|
+
if args[1].strip =~ /\,/
|
76
|
+
args[1].split(',')
|
77
|
+
else
|
78
|
+
args[1].strip
|
79
|
+
end if !args[1].nil?
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def element
|
84
|
+
args[0].split(' ') if args.is_a? Array
|
85
|
+
end
|
86
|
+
|
87
|
+
def args
|
88
|
+
@text.split('|') if @text
|
89
|
+
end
|
90
|
+
|
91
|
+
def combined_elements
|
92
|
+
element.join(' ')
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module MarkdownUI
|
2
|
+
module Renderers
|
3
|
+
module Emphasis
|
4
|
+
def emphasis(text)
|
5
|
+
is_icon?(text) ? render_icon(text) : render_flag(text)
|
6
|
+
end
|
7
|
+
|
8
|
+
protected
|
9
|
+
|
10
|
+
def render_flag(text)
|
11
|
+
MarkdownUI::Content::Flag.new(text).render
|
12
|
+
end
|
13
|
+
|
14
|
+
def render_icon(text)
|
15
|
+
MarkdownUI::Content::Icon.new(text).render
|
16
|
+
end
|
17
|
+
|
18
|
+
def is_icon?(text)
|
19
|
+
text =~ /icon/i
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module MarkdownUI
|
2
|
+
module Renderers
|
3
|
+
module HorizontalRule
|
4
|
+
def hrule
|
5
|
+
render_standard_tag
|
6
|
+
end
|
7
|
+
|
8
|
+
protected
|
9
|
+
|
10
|
+
def render_standard_tag
|
11
|
+
MarkdownUI::StandardTag.new(nil, divider_klass).render
|
12
|
+
end
|
13
|
+
|
14
|
+
def divider_klass
|
15
|
+
'ui divider'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|