Module: MaRuKu::Helpers

Included in:
In::Markdown::BlockLevelParser, In::Markdown::SpanLevelParser, MDElement
Defined in:
lib/maruku.rb,
lib/maruku/helpers.rb

Instance Method Summary collapse

Instance Method Details

#md_abbr(abbr, title) ⇒ Object



69
70
71
# File 'lib/maruku/helpers.rb', line 69

def md_abbr(abbr, title)
	md_el(:abbr, [abbr], {:title=>title})
end

#md_abbr_def(abbr, text, al = nil) ⇒ Object



65
66
67
# File 'lib/maruku/helpers.rb', line 65

def md_abbr_def(abbr, text, al=nil)
	md_el(:abbr_def, [], {:abbr=>abbr, :text=>text}, al)
end

#md_ald(id, al) ⇒ Object

Attribute list definition



168
169
170
# File 'lib/maruku/helpers.rb', line 168

def md_ald(id, al)
	md_el(:ald, [], {:ald_id=>id,:ald=>al})
end

#md_brObject



112
113
114
# File 'lib/maruku/helpers.rb', line 112

def md_br()
	md_el(:linebreak, [], {}, nil)
end

#md_code(code, al = nil) ⇒ Object

Inline code



44
45
46
# File 'lib/maruku/helpers.rb', line 44

def md_code(code, al=nil)
	md_el(:inline_code, [], {:raw_code => code}, al)
end

#md_codeblock(source, al = nil) ⇒ Object

Code block



49
50
51
# File 'lib/maruku/helpers.rb', line 49

def md_codeblock(source, al=nil)
	md_el(:code, [], {:raw_code => source}, al)
end

#md_el(node_type, children = [], meta = {}, al = nil) ⇒ Object



33
34
35
36
37
# File 'lib/maruku/helpers.rb', line 33

def md_el(node_type, children=[], meta={}, al=nil)
	e = MDElement.new(node_type, children, meta, al)
	e.doc = self
	return e
end

#md_em(children, al = nil) ⇒ Object



108
109
110
# File 'lib/maruku/helpers.rb', line 108

def md_em(children, al=nil)
	md_el(:emphasis, [children].flatten, {}, al)
end

#md_email(email, al = nil) ⇒ Object



135
136
137
# File 'lib/maruku/helpers.rb', line 135

def md_email(email, al=nil)
	md_el(:email_address, [], {:email=>email}, al)
end

#md_emstrong(children, al = nil) ⇒ Object



124
125
126
# File 'lib/maruku/helpers.rb', line 124

def md_emstrong(children, al=nil)
	md_strong(md_em(children), al)
end

#md_entity(entity_name, al = nil) ⇒ Object



139
140
141
# File 'lib/maruku/helpers.rb', line 139

def md_entity(entity_name, al=nil)
	md_el(:entity, [], {:entity_name=>entity_name}, al)
end

#md_foot_ref(ref_id, al = nil) ⇒ Object

Markdown extra



144
145
146
# File 'lib/maruku/helpers.rb', line 144

def md_foot_ref(ref_id, al=nil)
	md_el(:footnote_reference, [], {:footnote_id=>ref_id}, al)
end

#md_footnote(footnote_id, children, al = nil) ⇒ Object



61
62
63
# File 'lib/maruku/helpers.rb', line 61

def md_footnote(footnote_id, children, al=nil)
	md_el(:footnote, children, {:footnote_id=>footnote_id}, al)
end

#md_header(level, children, al = nil) ⇒ Object



39
40
41
# File 'lib/maruku/helpers.rb', line 39

def md_header(level, children, al=nil)
	md_el(:header, children, {:level => level}, al)
end

#md_hruleObject



116
117
118
# File 'lib/maruku/helpers.rb', line 116

def md_hrule()
	md_el(:hrule, [], {}, nil)
end

#md_html(raw_html, al = nil) ⇒ Object



73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/maruku/helpers.rb', line 73

def md_html(raw_html, al=nil)
	e = md_el(:raw_html, [], {:raw_html=>raw_html})
	begin
		# remove newlines and whitespace at begin
		# end end of string, or else REXML gets confused
		raw_html = raw_html.gsub(/\A\s*</,'<').
		                    gsub(/>[\s\n]*\Z/,'>')
		
		raw_html = "<marukuwrap>#{raw_html}</marukuwrap>"
		e.instance_variable_set :@parsed_html,
		 	REXML::Document.new(raw_html)
	rescue 
#			tell_user "Malformed block of HTML:\n"+
#			add_tabs(raw_html,1,'|')
#			"  #{raw_html.inspect}\n\n"+ex.inspect
	end
	e
end

#md_ial(al) ⇒ Object

inline attribute list



161
162
163
164
165
# File 'lib/maruku/helpers.rb', line 161

def md_ial(al)
	al = Maruku::AttributeList.new(al) if 
		not al.kind_of?Maruku::AttributeList
	md_el(:ial, [], {:ial=>al})
end

#md_im_image(children, url, title = nil, al = nil) ⇒ Object



104
105
106
# File 'lib/maruku/helpers.rb', line 104

def md_im_image(children, url, title=nil, al=nil)
	md_el(:im_image, children, {:url=>url,:title=>title},al)
end


96
97
98
# File 'lib/maruku/helpers.rb', line 96

def md_im_link(children, url, title=nil, al=nil)
	md_el(:im_link, children, {:url=>url,:title=>title}, al)
end

#md_image(children, ref_id, al = nil) ⇒ Object



100
101
102
# File 'lib/maruku/helpers.rb', line 100

def md_image(children, ref_id, al=nil)
	md_el(:image, children, {:ref_id=>ref_id}, al)
end

#md_li(children, want_my_par, al = nil) ⇒ Object



57
58
59
# File 'lib/maruku/helpers.rb', line 57

def md_li(children, want_my_par, al=nil)
	md_el(:li, children, {:want_my_paragraph=>want_my_par}, al)
end


92
93
94
# File 'lib/maruku/helpers.rb', line 92

def md_link(children, ref_id, al=nil)
	md_el(:link, children, {:ref_id=>ref_id.downcase}, al)
end

#md_par(children, al = nil) ⇒ Object



148
149
150
# File 'lib/maruku/helpers.rb', line 148

def md_par(children, al=nil)
	md_el(:paragraph, children, meta={}, al)
end

#md_quote(children, al = nil) ⇒ Object



53
54
55
# File 'lib/maruku/helpers.rb', line 53

def md_quote(children, al=nil)
	md_el(:quote, children, {}, al)
end

#md_ref_def(ref_id, url, title = nil, meta = {}, al = nil) ⇒ Object

1]: url [properties


153
154
155
156
157
158
# File 'lib/maruku/helpers.rb', line 153

def md_ref_def(ref_id, url, title=nil, meta={}, al=nil)
	meta[:url] = url
	meta[:ref_id] = ref_id
	meta[:title] = title if title
	md_el(:ref_definition, [], meta, al)
end

#md_server(code) ⇒ Object

Server directive <? code ?>



173
174
175
# File 'lib/maruku/helpers.rb', line 173

def md_server(code)
	md_el(:server, [], {:code=>code})
end

#md_strong(children, al = nil) ⇒ Object



120
121
122
# File 'lib/maruku/helpers.rb', line 120

def md_strong(children, al=nil)
	md_el(:strong, [children].flatten, {}, al)
end

#md_url(url, al = nil) ⇒ Object



129
130
131
# File 'lib/maruku/helpers.rb', line 129

def md_url(url, al=nil)
	md_el(:immediate_link, [], {:url=>url}, al)
end