markdown2confluence 0.0.1e → 0.0.1f
Sign up to get free protection for your applications and to get access to all the features.
data/bin/markdown2confluence
CHANGED
@@ -82,7 +82,7 @@ module Kramdown
|
|
82
82
|
end
|
83
83
|
|
84
84
|
def convert_p(el, indent)
|
85
|
-
|
85
|
+
"#{' '*indent}#{inner(el, indent)}\n\n"
|
86
86
|
end
|
87
87
|
|
88
88
|
|
@@ -115,10 +115,10 @@ module Kramdown
|
|
115
115
|
|
116
116
|
def convert_html_element(el, indent)
|
117
117
|
markup=case el.value
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
118
|
+
when "iframe" then "{iframe:src=#{el.attr["src"]}}"
|
119
|
+
when "pre" then "{code}#{inner(el,indent)}{code}"
|
120
|
+
else inner(el, indent)
|
121
|
+
end
|
122
122
|
end
|
123
123
|
|
124
124
|
def convert_xml_comment(el, indent)
|
@@ -168,11 +168,11 @@ module Kramdown
|
|
168
168
|
end
|
169
169
|
|
170
170
|
def convert_codeblock(el, indent)
|
171
|
-
|
171
|
+
"{code}#{el.value}{code}\n"
|
172
172
|
end
|
173
173
|
|
174
174
|
def convert_codespan(el, indent)
|
175
|
-
|
175
|
+
"{code}#{el.value}{code}\n"
|
176
176
|
end
|
177
177
|
|
178
178
|
def convert_footnote(el, indent)
|
@@ -192,27 +192,37 @@ module Kramdown
|
|
192
192
|
end
|
193
193
|
|
194
194
|
def convert_entity(el, indent)
|
195
|
-
|
195
|
+
inner(el,indent)
|
196
196
|
end
|
197
197
|
|
198
198
|
def convert_typographic_sym(el, indent)
|
199
|
-
|
199
|
+
inner(el,indent)
|
200
200
|
end
|
201
201
|
|
202
202
|
def convert_smart_quote(el, indent)
|
203
|
-
|
203
|
+
"'"
|
204
204
|
end
|
205
205
|
|
206
206
|
def convert_math(el, indent)
|
207
|
-
|
207
|
+
inner(el,indent)
|
208
208
|
end
|
209
209
|
|
210
210
|
def convert_abbreviation(el, indent)
|
211
|
-
|
211
|
+
inner(el,indent)
|
212
212
|
end
|
213
213
|
|
214
214
|
def convert_root(el, indent)
|
215
|
-
inner(el, indent)
|
215
|
+
handle_iframes(inner(el, indent))
|
216
|
+
end
|
217
|
+
|
218
|
+
def handle_iframes(text)
|
219
|
+
markup=text.gsub(/<iframe.*iframe>/) { |match|
|
220
|
+
doc =Nokogiri::HTML::DocumentFragment.parse(match)
|
221
|
+
element=doc.search('iframe').first
|
222
|
+
attributes=element.attributes.map{ |at| "#{at[1].name}=#{at[1].value}"}
|
223
|
+
"{iframe:#{attributes.join('|')}}#{element.text}{iframe}"
|
224
|
+
}
|
225
|
+
return markup
|
216
226
|
end
|
217
227
|
|
218
228
|
end
|
data/lib/markdown2confluence.rb
CHANGED
data/markdown2confluence.gemspec
CHANGED
@@ -15,6 +15,7 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.rubyforge_project = "markdown2confluence"
|
16
16
|
|
17
17
|
s.add_dependency "kramdown"
|
18
|
+
s.add_dependency "nokogiri"
|
18
19
|
|
19
20
|
s.files = `git ls-files`.split("\n")
|
20
21
|
s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: markdown2confluence
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 35
|
5
5
|
prerelease: 5
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
9
|
- 1
|
10
|
-
-
|
11
|
-
version: 0.0.
|
10
|
+
- f
|
11
|
+
version: 0.0.1f
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Patrick Debois
|
@@ -32,6 +32,20 @@ dependencies:
|
|
32
32
|
prerelease: false
|
33
33
|
name: kramdown
|
34
34
|
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
type: :runtime
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
+
none: false
|
39
|
+
requirements:
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
hash: 3
|
43
|
+
segments:
|
44
|
+
- 0
|
45
|
+
version: "0"
|
46
|
+
prerelease: false
|
47
|
+
name: nokogiri
|
48
|
+
version_requirements: *id002
|
35
49
|
description: Based on Kramdown, a convert object .to_confluence
|
36
50
|
email:
|
37
51
|
- patrick.debois@jedi.be
|