markdown2confluence 0.0.1e → 0.0.1f

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.
@@ -10,6 +10,7 @@ exit -1
10
10
 
11
11
  begin
12
12
  text=File.read(filename)
13
+
13
14
  s=Kramdown::Document.new(text).to_confluence
14
15
  puts s
15
16
  rescue Exception => ex
@@ -82,7 +82,7 @@ module Kramdown
82
82
  end
83
83
 
84
84
  def convert_p(el, indent)
85
- "#{' '*indent}#{inner(el, indent)}\n\n"
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
- when "iframe" then "{iframe:src=#{el.attr["src"]}}"
119
- when "pre" then "{code}#{inner(el,indent)}{code}"
120
- else inner(el, indent)
121
- end
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
- "{code}#{el.value}{code}\n"
171
+ "{code}#{el.value}{code}\n"
172
172
  end
173
173
 
174
174
  def convert_codespan(el, indent)
175
- "{code}#{el.value}{code}\n"
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
- inner(el,indent)
195
+ inner(el,indent)
196
196
  end
197
197
 
198
198
  def convert_typographic_sym(el, indent)
199
- inner(el,indent)
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
- inner(el,indent)
207
+ inner(el,indent)
208
208
  end
209
209
 
210
210
  def convert_abbreviation(el, indent)
211
- inner(el,indent)
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
@@ -2,5 +2,5 @@ module Markdown2Confluence
2
2
  end
3
3
 
4
4
  unless defined?(Markdown2Confluence::VERSION)
5
- ::Markdown2Confluence::VERSION = "0.0.1e"
5
+ ::Markdown2Confluence::VERSION = "0.0.1f"
6
6
  end
@@ -1,2 +1,3 @@
1
1
  require 'kramdown'
2
+ require 'nokogiri'
2
3
  require 'markdown2confluence/convertor/confluence'
@@ -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: 34
4
+ hash: 35
5
5
  prerelease: 5
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
9
  - 1
10
- - e
11
- version: 0.0.1e
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