extended_markdownizer 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -17,6 +17,7 @@ Gem::Specification.new do |s|
17
17
  s.add_runtime_dependency 'activerecord', '>= 3.0.3'
18
18
  s.add_runtime_dependency 'rdiscount'
19
19
  s.add_runtime_dependency 'coderay'
20
+ s.add_runtime_dependency 'fastimage'
20
21
 
21
22
  s.add_development_dependency 'rocco'
22
23
  s.add_development_dependency 'git'
@@ -163,6 +163,23 @@ module ExtendedMarkdownizer
163
163
  return iframe
164
164
  end
165
165
  end
166
+
167
+ def detect_images(text)
168
+ text.gsub(/^(((http|https):\/\/)?)[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$/ix) do |url|
169
+ uri = url
170
+ if ($1 != 'http://')
171
+ uri = 'http://' + url
172
+ end
173
+ # Let's check if it's an image
174
+ if FastImage.type(url) != nil
175
+ return '<img src="'+uri+'">'
176
+ else
177
+ return "<a target=\"_blank\" href=\"#{uri}\">#{url.capitalize}</a>"
178
+ end
179
+
180
+ end
181
+
182
+ end
166
183
 
167
184
  private
168
185
 
@@ -228,6 +245,7 @@ module ExtendedMarkdownizer
228
245
  define_method :"render_#{attribute}" do
229
246
  processed_attribute = ExtendedMarkdownizer.youtube_embedded_videos(self.send(attribute))
230
247
  processed_attribute = ExtendedMarkdownizer.vimeo_embedded_videos(processed_attribute)
248
+ processed_attribute = ExtendedMarkdownizer.detect_images(processed_attribute)
231
249
  processed_attribute = ExtendedMarkdownizer.urls_into_anchors(processed_attribute)
232
250
  self.send(:"rendered_#{attribute}=", ExtendedMarkdownizer.markdown(ExtendedMarkdownizer.coderay(processed_attribute, options), hierarchy))
233
251
  end
@@ -1,3 +1,3 @@
1
1
  module ExtendedMarkdownizer
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: extended_markdownizer
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.2
5
+ version: 0.1.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - "Jos\xC3\xA9 M. Gilgado"
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-08-07 00:00:00 Z
13
+ date: 2011-09-01 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord
@@ -46,7 +46,7 @@ dependencies:
46
46
  type: :runtime
47
47
  version_requirements: *id003
48
48
  - !ruby/object:Gem::Dependency
49
- name: rocco
49
+ name: fastimage
50
50
  prerelease: false
51
51
  requirement: &id004 !ruby/object:Gem::Requirement
52
52
  none: false
@@ -54,10 +54,10 @@ dependencies:
54
54
  - - ">="
55
55
  - !ruby/object:Gem::Version
56
56
  version: "0"
57
- type: :development
57
+ type: :runtime
58
58
  version_requirements: *id004
59
59
  - !ruby/object:Gem::Dependency
60
- name: git
60
+ name: rocco
61
61
  prerelease: false
62
62
  requirement: &id005 !ruby/object:Gem::Requirement
63
63
  none: false
@@ -68,16 +68,27 @@ dependencies:
68
68
  type: :development
69
69
  version_requirements: *id005
70
70
  - !ruby/object:Gem::Dependency
71
- name: rspec
71
+ name: git
72
72
  prerelease: false
73
73
  requirement: &id006 !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: "0"
79
+ type: :development
80
+ version_requirements: *id006
81
+ - !ruby/object:Gem::Dependency
82
+ name: rspec
83
+ prerelease: false
84
+ requirement: &id007 !ruby/object:Gem::Requirement
74
85
  none: false
75
86
  requirements:
76
87
  - - ~>
77
88
  - !ruby/object:Gem::Version
78
89
  version: 2.5.0
79
90
  type: :development
80
- version_requirements: *id006
91
+ version_requirements: *id007
81
92
  description: Render any text as markdown, with code highlighting, url detection and conversion of youtube/vimeo urls into embedded videos
82
93
  email:
83
94
  - jm.gilgado@gmail.com