murlsh 1.0.0 → 1.1.0

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.
Files changed (73) hide show
  1. data/.htaccess +5 -0
  2. data/COPYING +27 -0
  3. data/README.textile +2 -2
  4. data/Rakefile +133 -66
  5. data/VERSION +1 -1
  6. data/config.ru +9 -8
  7. data/config.yaml +3 -2
  8. data/lib/murlsh/auth.rb +6 -8
  9. data/lib/murlsh/config_server.rb +4 -6
  10. data/lib/murlsh/dispatch.rb +5 -7
  11. data/lib/murlsh/doc.rb +1 -1
  12. data/lib/murlsh/etag_add_encoding.rb +1 -3
  13. data/lib/murlsh/failproof.rb +0 -1
  14. data/lib/murlsh/far_future_expires.rb +2 -4
  15. data/lib/murlsh/head_from_get.rb +2 -2
  16. data/lib/murlsh/image_list.rb +32 -0
  17. data/lib/murlsh/img_store.rb +47 -9
  18. data/lib/murlsh/markup.rb +53 -20
  19. data/lib/murlsh/must_revalidate.rb +2 -4
  20. data/lib/murlsh/plugin.rb +1 -1
  21. data/lib/murlsh/sqlite3_adapter.rb +2 -4
  22. data/lib/murlsh/time_ago.rb +6 -8
  23. data/lib/murlsh/uri.rb +1 -3
  24. data/lib/murlsh/uri_ask.rb +23 -25
  25. data/lib/murlsh/url.rb +4 -6
  26. data/lib/murlsh/url_body.rb +19 -21
  27. data/lib/murlsh/url_server.rb +8 -10
  28. data/lib/murlsh/yaml_ordered_hash.rb +2 -4
  29. data/lib/murlsh.rb +21 -4
  30. data/murlsh.gemspec +95 -90
  31. data/plugins/add_post_50_update_feed.rb +22 -10
  32. data/plugins/add_post_50_update_podcast.rb +3 -5
  33. data/plugins/add_post_50_update_rss.rb +4 -6
  34. data/plugins/add_post_60_notify_hubs.rb +3 -5
  35. data/plugins/add_pre_40_convert_mobile.rb +4 -10
  36. data/plugins/add_pre_50_lookup_content_type_title.rb +4 -6
  37. data/plugins/add_pre_60_flickr.rb +3 -14
  38. data/plugins/add_pre_60_github_title.rb +4 -6
  39. data/plugins/add_pre_60_google_code_title.rb +4 -6
  40. data/plugins/add_pre_60_imgur.rb +4 -16
  41. data/plugins/add_pre_60_s3_image.rb +7 -6
  42. data/plugins/add_pre_60_twitter.rb +3 -14
  43. data/plugins/add_pre_60_vimeo.rb +7 -6
  44. data/plugins/add_pre_60_youtube.rb +8 -7
  45. data/plugins/add_pre_65_html_thumb.rb +41 -0
  46. data/plugins/add_pre_65_img_thumb.rb +39 -0
  47. data/plugins/html_parse_50_hpricot.rb +2 -4
  48. data/plugins/url_display_add_45_audio.rb +28 -0
  49. data/plugins/url_display_add_50_hostrec.rb +15 -18
  50. data/plugins/url_display_add_55_content_type.rb +6 -8
  51. data/plugins/url_display_add_60_via.rb +12 -19
  52. data/plugins/url_display_add_65_time.rb +4 -6
  53. data/public/css/screen.css +2 -3
  54. data/public/img/thumb/.gitignore +3 -0
  55. data/public/js/jquery-1.4.4.min.js +167 -0
  56. data/public/js/js.js +6 -5
  57. data/public/js/{twitter-text-1.0.3.js → twitter-text-1.0.4.js} +3 -1
  58. data/spec/auth_spec.rb +4 -6
  59. data/spec/dispatch_spec.rb +3 -5
  60. data/spec/doc_spec.rb +2 -4
  61. data/spec/img_store_spec.rb +46 -20
  62. data/spec/markup_spec.rb +22 -24
  63. data/spec/uri_ask_spec.rb +5 -7
  64. data/spec/uri_spec.rb +2 -4
  65. data/spec/url_spec.rb +5 -9
  66. data/spec/yaml_ordered_hash_spec.rb +1 -3
  67. metadata +85 -53
  68. data/.gitignore +0 -6
  69. data/plugins/add_pre_60_imageshack.rb +0 -31
  70. data/plugins/url_display_add_45_mp3.rb +0 -30
  71. data/public/img/thumb/README +0 -0
  72. data/public/js/jquery-1.4.3.min.js +0 -166
  73. data/public/swf/player_mp3_mini.swf +0 -0
data/spec/markup_spec.rb CHANGED
@@ -1,6 +1,4 @@
1
- %w{
2
- murlsh
3
- }.each { |m| require m }
1
+ require 'murlsh'
4
2
 
5
3
  class MarkupMixer < Builder::XmlMarkup
6
4
  include Murlsh::Markup
@@ -9,40 +7,40 @@ end
9
7
  describe MarkupMixer do
10
8
 
11
9
  before do
12
- @m = MarkupMixer.new()
10
+ @m = MarkupMixer.new
13
11
  end
14
12
 
15
13
  it 'should correctly render a single javascript tag' do
16
- @m.javascript('test.js')
14
+ @m.javascript 'test.js'
17
15
  @m.target!.should ==
18
16
  '<script type="text/javascript" src="test.js"></script>'
19
17
  end
20
18
 
21
19
  it 'should correctly render a list of javascript tags' do
22
- @m.javascript(['test1.js', 'test2.js'])
20
+ @m.javascript ['test1.js', 'test2.js']
23
21
  @m.target!.should ==
24
22
  '<script type="text/javascript" src="test1.js"></script><script type="text/javascript" src="test2.js"></script>'
25
23
  end
26
24
 
27
25
  it 'should correctly render a single javascript tag with a prefix' do
28
- @m.javascript('test.js', :prefix => 'http://static.com/js/')
26
+ @m.javascript 'test.js', :prefix => 'http://static.com/js/'
29
27
  @m.target!.should ==
30
28
  '<script type="text/javascript" src="http://static.com/js/test.js"></script>'
31
29
  end
32
30
 
33
31
  it 'should correctly render a list of javascripts tag with a prefix' do
34
- @m.javascript(['test1.js', 'test2.js'], :prefix => 'js/')
32
+ @m.javascript ['test1.js', 'test2.js'], :prefix => 'js/'
35
33
  @m.target!.should ==
36
34
  '<script type="text/javascript" src="js/test1.js"></script><script type="text/javascript" src="js/test2.js"></script>'
37
35
  end
38
36
 
39
37
  it 'should correctly render a murlsh_img tag' do
40
- @m.murlsh_img(:src => 'foo.png', :prefix => 'http://static.com/img/')
38
+ @m.murlsh_img :src => 'foo.png', :prefix => 'http://static.com/img/'
41
39
  @m.target!.should == '<img src="http://static.com/img/foo.png"/>'
42
40
  end
43
41
 
44
42
  it 'should correctly render a murlsh_img tag with a single size value' do
45
- @m.murlsh_img(:src => 'foo.png', :size => 32)
43
+ @m.murlsh_img :src => 'foo.png', :size => 32
46
44
  [
47
45
  /height="32"/,
48
46
  /src="foo\.png"/,
@@ -51,7 +49,7 @@ describe MarkupMixer do
51
49
  end
52
50
 
53
51
  it 'should correctly render a murlsh_img tag with two size values' do
54
- @m.murlsh_img(:src => 'foo.png', :size => [100, 200])
52
+ @m.murlsh_img :src => 'foo.png', :size => [100, 200]
55
53
  [
56
54
  /height="200"/,
57
55
  /src="foo\.png"/,
@@ -60,7 +58,7 @@ describe MarkupMixer do
60
58
  end
61
59
 
62
60
  it 'should correctly render a murlsh_img tag with text' do
63
- @m.murlsh_img(:src => 'foo.png', :text => 'test')
61
+ @m.murlsh_img :src => 'foo.png', :text => 'test'
64
62
  [
65
63
  /alt="test"/,
66
64
  /src="foo\.png"/,
@@ -69,63 +67,63 @@ describe MarkupMixer do
69
67
  end
70
68
 
71
69
  it 'should correctly render a murlsh_img tag with an href' do
72
- @m.murlsh_img(:href => '/test/', :src => 'foo.png')
70
+ @m.murlsh_img :href => '/test/', :src => 'foo.png'
73
71
  @m.target!.should == '<a href="/test/"><img src="foo.png"/></a>'
74
72
  end
75
73
 
76
74
  it 'should correctly render meta tags' do
77
- @m.metas(:a => '1', :b => '2', :c => '3')
75
+ @m.metas :a => '1', :b => '2', :c => '3'
78
76
  [
79
77
  '<meta (name="a" content="1"|content="1" name="a")/>',
80
78
  '<meta (name="b" content="2"|content="2" name="b")/>',
81
79
  '<meta (name="c" content="3"|content="3" name="c")/>',
82
- ].each { |r| @m.target!.should match /#{r}/ }
80
+ ].each { |r| @m.target!.should match(/#{r}/) }
83
81
  end
84
82
 
85
83
  it 'should correctly render a gravatar tag' do
86
- @m.gravatar('xxx')
84
+ @m.gravatar 'xxx'
87
85
  @m.target!.should == '<img src="http://www.gravatar.com/avatar/xxx"/>'
88
86
  end
89
87
 
90
88
  it 'should correctly render a gravatar tag with a valid default' do
91
- @m.gravatar('xxx', 'd' => 'identicon')
89
+ @m.gravatar 'xxx', 'd' => 'identicon'
92
90
  @m.target!.should ==
93
91
  '<img src="http://www.gravatar.com/avatar/xxx?d=identicon"/>'
94
92
  end
95
93
 
96
94
  it 'should not pass the default parameter to gravatar if the default is invalid' do
97
- @m.gravatar('xxx', 'd' => 'bad')
95
+ @m.gravatar 'xxx', 'd' => 'bad'
98
96
  @m.target!.should == '<img src="http://www.gravatar.com/avatar/xxx"/>'
99
97
  end
100
98
 
101
99
  it 'should correctly render a gravatar tag with a valid rating' do
102
- @m.gravatar('xxx', 'r' => 'x')
100
+ @m.gravatar 'xxx', 'r' => 'x'
103
101
  @m.target!.should == '<img src="http://www.gravatar.com/avatar/xxx?r=x"/>'
104
102
  end
105
103
 
106
104
  it 'should not pass the rating parameter to gravatar if the rating is invalid' do
107
- @m.gravatar('xxx', 'r' => 'foo')
105
+ @m.gravatar 'xxx', 'r' => 'foo'
108
106
  @m.target!.should == '<img src="http://www.gravatar.com/avatar/xxx"/>'
109
107
  end
110
108
 
111
109
  it 'should correctly render a gravatar tag with a valid size' do
112
- @m.gravatar('xxx', 's' => 100)
110
+ @m.gravatar 'xxx', 's' => 100
113
111
  @m.target!.should ==
114
112
  '<img src="http://www.gravatar.com/avatar/xxx?s=100"/>'
115
113
  end
116
114
 
117
115
  it 'should not pass the size parameter to gravatar if the size is invalid' do
118
- @m.gravatar('xxx', 's' => 1000)
116
+ @m.gravatar 'xxx', 's' => 1000
119
117
  @m.target!.should == '<img src="http://www.gravatar.com/avatar/xxx"/>'
120
118
  end
121
119
 
122
120
  it 'should return an empty string for a gravatar with size 0' do
123
- @m.gravatar('xxx', 's' => 0)
121
+ @m.gravatar 'xxx', 's' => 0
124
122
  @m.target!.should be_empty
125
123
  end
126
124
 
127
125
  it 'should correctly render a gravatar tag with an href' do
128
- @m.gravatar('xxx', :href => '/test/')
126
+ @m.gravatar 'xxx', :href => '/test/'
129
127
  @m.target!.should ==
130
128
  '<a href="/test/"><img src="http://www.gravatar.com/avatar/xxx"/></a>'
131
129
  end
data/spec/uri_ask_spec.rb CHANGED
@@ -1,8 +1,6 @@
1
- %w{
2
- uri
1
+ require 'uri'
3
2
 
4
- murlsh
5
- }.each { |m| require m }
3
+ require 'murlsh'
6
4
 
7
5
  Dir['plugins/*.rb'].each { |p| load p }
8
6
 
@@ -32,17 +30,17 @@ describe Murlsh::UriAsk do
32
30
  end
33
31
 
34
32
  it 'should return text/html for the content type of a valid URI that is text/html' do
35
- content_type('http://www.google.com/').should match /^text\/html/
33
+ content_type('http://www.google.com/').should match(/^text\/html/)
36
34
  end
37
35
 
38
36
  it 'should return text/html for the content type of a valid https URI that is text/html' do
39
37
  content_type('https://msp.f-secure.com/web-test/common/test.html'
40
- ).should match /^text\/html/
38
+ ).should match(/^text\/html/)
41
39
  end
42
40
 
43
41
  it 'should return text/html for the content type of a URI that returns HTTP 203' do
44
42
  content_type('http://www.youtube.com/watch?v=Vxq9yj2pVWk'
45
- ).should match /^text\/html/
43
+ ).should match(/^text\/html/)
46
44
  end
47
45
 
48
46
  it 'should return an empty string for the content type of an invalid URI when given failproof option true' do
data/spec/uri_spec.rb CHANGED
@@ -1,6 +1,4 @@
1
- %w{
2
- murlsh
3
- }.each { |m| require m }
1
+ require 'murlsh'
4
2
 
5
3
  describe URI do
6
4
 
@@ -8,7 +6,7 @@ describe URI do
8
6
  URI('http://foo.com/').domain.should == 'foo.com'
9
7
  end
10
8
 
11
- it 'should have its domain set nil if it is no a valid HTTP URI' do
9
+ it 'should have its domain set nil if it is not a valid HTTP URI' do
12
10
  URI('foo').domain.should be_nil
13
11
  URI('http://foo.com.').domain.should be_nil
14
12
  end
data/spec/url_spec.rb CHANGED
@@ -1,12 +1,8 @@
1
- $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
1
+ require 'tempfile'
2
2
 
3
- %w{
4
- tempfile
3
+ require 'sqlite3'
5
4
 
6
- sqlite3
7
-
8
- murlsh
9
- }.each { |m| require m }
5
+ require 'murlsh'
10
6
 
11
7
  describe Murlsh::Url do
12
8
 
@@ -25,8 +21,8 @@ describe Murlsh::Url do
25
21
  via TEXT);
26
22
  ")
27
23
 
28
- ActiveRecord::Base.establish_connection(:adapter => 'sqlite3',
29
- :database => @db_file.path)
24
+ ActiveRecord::Base.establish_connection :adapter => 'sqlite3',
25
+ :database => @db_file.path
30
26
 
31
27
  @url = Murlsh::Url.new
32
28
  end
@@ -1,6 +1,4 @@
1
- %w{
2
- murlsh
3
- }.each { |m| require m }
1
+ require 'murlsh'
4
2
 
5
3
  describe Murlsh::YamlOrderedHash do
6
4
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: murlsh
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
+ - 1
8
9
  - 0
9
- - 0
10
- version: 1.0.0
10
+ version: 1.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Matthew M. Boedicker
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-11-03 00:00:00 -04:00
18
+ date: 2010-11-21 00:00:00 -05:00
19
19
  default_executable: murlsh
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -83,67 +83,67 @@ dependencies:
83
83
  type: :runtime
84
84
  version_requirements: *id004
85
85
  - !ruby/object:Gem::Dependency
86
- name: flog
86
+ name: hpricot
87
87
  prerelease: false
88
88
  requirement: &id005 !ruby/object:Gem::Requirement
89
89
  none: false
90
90
  requirements:
91
91
  - - ">="
92
92
  - !ruby/object:Gem::Version
93
- hash: 27
93
+ hash: 61
94
94
  segments:
95
- - 2
96
- - 5
97
95
  - 0
98
- version: 2.5.0
96
+ - 8
97
+ - 1
98
+ version: 0.8.1
99
99
  type: :runtime
100
100
  version_requirements: *id005
101
101
  - !ruby/object:Gem::Dependency
102
- name: hpricot
102
+ name: htmlentities
103
103
  prerelease: false
104
104
  requirement: &id006 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ">="
108
108
  - !ruby/object:Gem::Version
109
- hash: 61
109
+ hash: 55
110
110
  segments:
111
+ - 4
112
+ - 2
111
113
  - 0
112
- - 8
113
- - 1
114
- version: 0.8.1
114
+ version: 4.2.0
115
115
  type: :runtime
116
116
  version_requirements: *id006
117
117
  - !ruby/object:Gem::Dependency
118
- name: htmlentities
118
+ name: json
119
119
  prerelease: false
120
120
  requirement: &id007 !ruby/object:Gem::Requirement
121
121
  none: false
122
122
  requirements:
123
123
  - - ">="
124
124
  - !ruby/object:Gem::Version
125
- hash: 55
125
+ hash: 25
126
126
  segments:
127
- - 4
127
+ - 1
128
128
  - 2
129
- - 0
130
- version: 4.2.0
129
+ - 3
130
+ version: 1.2.3
131
131
  type: :runtime
132
132
  version_requirements: *id007
133
133
  - !ruby/object:Gem::Dependency
134
- name: json
134
+ name: plumnailer
135
135
  prerelease: false
136
136
  requirement: &id008 !ruby/object:Gem::Requirement
137
137
  none: false
138
138
  requirements:
139
139
  - - ">="
140
140
  - !ruby/object:Gem::Version
141
- hash: 25
141
+ hash: 27
142
142
  segments:
143
+ - 0
143
144
  - 1
144
- - 2
145
- - 3
146
- version: 1.2.3
145
+ - 0
146
+ version: 0.1.0
147
147
  type: :runtime
148
148
  version_requirements: *id008
149
149
  - !ruby/object:Gem::Dependency
@@ -227,9 +227,25 @@ dependencies:
227
227
  type: :runtime
228
228
  version_requirements: *id013
229
229
  - !ruby/object:Gem::Dependency
230
- name: sqlite3-ruby
230
+ name: rmagick
231
231
  prerelease: false
232
232
  requirement: &id014 !ruby/object:Gem::Requirement
233
+ none: false
234
+ requirements:
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ hash: 55
238
+ segments:
239
+ - 1
240
+ - 15
241
+ - 14
242
+ version: 1.15.14
243
+ type: :runtime
244
+ version_requirements: *id014
245
+ - !ruby/object:Gem::Dependency
246
+ name: sqlite3-ruby
247
+ prerelease: false
248
+ requirement: &id015 !ruby/object:Gem::Requirement
233
249
  none: false
234
250
  requirements:
235
251
  - - ">="
@@ -241,27 +257,27 @@ dependencies:
241
257
  - 1
242
258
  version: 1.2.1
243
259
  type: :runtime
244
- version_requirements: *id014
260
+ version_requirements: *id015
245
261
  - !ruby/object:Gem::Dependency
246
262
  name: tinyatom
247
263
  prerelease: false
248
- requirement: &id015 !ruby/object:Gem::Requirement
264
+ requirement: &id016 !ruby/object:Gem::Requirement
249
265
  none: false
250
266
  requirements:
251
267
  - - ">="
252
268
  - !ruby/object:Gem::Version
253
- hash: 23
269
+ hash: 21
254
270
  segments:
255
271
  - 0
256
- - 2
257
- - 0
258
- version: 0.2.0
272
+ - 3
273
+ - 3
274
+ version: 0.3.3
259
275
  type: :runtime
260
- version_requirements: *id015
276
+ version_requirements: *id016
261
277
  - !ruby/object:Gem::Dependency
262
278
  name: twitter
263
279
  prerelease: false
264
- requirement: &id016 !ruby/object:Gem::Requirement
280
+ requirement: &id017 !ruby/object:Gem::Requirement
265
281
  none: false
266
282
  requirements:
267
283
  - - ">="
@@ -273,11 +289,11 @@ dependencies:
273
289
  - 12
274
290
  version: 0.9.12
275
291
  type: :runtime
276
- version_requirements: *id016
292
+ version_requirements: *id017
277
293
  - !ruby/object:Gem::Dependency
278
294
  name: vimeo
279
295
  prerelease: false
280
- requirement: &id017 !ruby/object:Gem::Requirement
296
+ requirement: &id018 !ruby/object:Gem::Requirement
281
297
  none: false
282
298
  requirements:
283
299
  - - ">="
@@ -289,11 +305,27 @@ dependencies:
289
305
  - 2
290
306
  version: 1.2.2
291
307
  type: :runtime
292
- version_requirements: *id017
308
+ version_requirements: *id018
309
+ - !ruby/object:Gem::Dependency
310
+ name: flog
311
+ prerelease: false
312
+ requirement: &id019 !ruby/object:Gem::Requirement
313
+ none: false
314
+ requirements:
315
+ - - ">="
316
+ - !ruby/object:Gem::Version
317
+ hash: 27
318
+ segments:
319
+ - 2
320
+ - 5
321
+ - 0
322
+ version: 2.5.0
323
+ type: :development
324
+ version_requirements: *id019
293
325
  - !ruby/object:Gem::Dependency
294
326
  name: rspec
295
327
  prerelease: false
296
- requirement: &id018 !ruby/object:Gem::Requirement
328
+ requirement: &id020 !ruby/object:Gem::Requirement
297
329
  none: false
298
330
  requirements:
299
331
  - - ~>
@@ -303,8 +335,8 @@ dependencies:
303
335
  - 1
304
336
  - 3
305
337
  version: "1.3"
306
- type: :runtime
307
- version_requirements: *id018
338
+ type: :development
339
+ version_requirements: *id020
308
340
  description: url sharing site framework with easy adding, title lookup, atom feed, thumbnails and embedding
309
341
  email: matthewm@boedicker.org
310
342
  executables:
@@ -314,7 +346,6 @@ extensions: []
314
346
  extra_rdoc_files:
315
347
  - README.textile
316
348
  files:
317
- - .gitignore
318
349
  - .htaccess
319
350
  - COPYING
320
351
  - README.textile
@@ -332,6 +363,7 @@ files:
332
363
  - lib/murlsh/failproof.rb
333
364
  - lib/murlsh/far_future_expires.rb
334
365
  - lib/murlsh/head_from_get.rb
366
+ - lib/murlsh/image_list.rb
335
367
  - lib/murlsh/img_store.rb
336
368
  - lib/murlsh/markup.rb
337
369
  - lib/murlsh/must_revalidate.rb
@@ -355,27 +387,27 @@ files:
355
387
  - plugins/add_pre_60_flickr.rb
356
388
  - plugins/add_pre_60_github_title.rb
357
389
  - plugins/add_pre_60_google_code_title.rb
358
- - plugins/add_pre_60_imageshack.rb
359
390
  - plugins/add_pre_60_imgur.rb
360
391
  - plugins/add_pre_60_s3_image.rb
361
392
  - plugins/add_pre_60_twitter.rb
362
393
  - plugins/add_pre_60_vimeo.rb
363
394
  - plugins/add_pre_60_youtube.rb
395
+ - plugins/add_pre_65_html_thumb.rb
396
+ - plugins/add_pre_65_img_thumb.rb
364
397
  - plugins/html_parse_50_hpricot.rb
365
- - plugins/url_display_add_45_mp3.rb
398
+ - plugins/url_display_add_45_audio.rb
366
399
  - plugins/url_display_add_50_hostrec.rb
367
400
  - plugins/url_display_add_55_content_type.rb
368
401
  - plugins/url_display_add_60_via.rb
369
402
  - plugins/url_display_add_65_time.rb
370
403
  - public/css/jquery.jgrowl.css
371
404
  - public/css/screen.css
372
- - public/img/thumb/README
405
+ - public/img/thumb/.gitignore
373
406
  - public/js/comments.json
374
- - public/js/jquery-1.4.3.min.js
407
+ - public/js/jquery-1.4.4.min.js
375
408
  - public/js/jquery.jgrowl_compressed.js
376
409
  - public/js/js.js
377
- - public/js/twitter-text-1.0.3.js
378
- - public/swf/player_mp3_mini.swf
410
+ - public/js/twitter-text-1.0.4.js
379
411
  - spec/auth_spec.rb
380
412
  - spec/dispatch_spec.rb
381
413
  - spec/doc_spec.rb
@@ -390,8 +422,8 @@ homepage: http://github.com/mmb/murlsh
390
422
  licenses: []
391
423
 
392
424
  post_install_message:
393
- rdoc_options:
394
- - --charset=UTF-8
425
+ rdoc_options: []
426
+
395
427
  require_paths:
396
428
  - lib
397
429
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -421,11 +453,11 @@ specification_version: 3
421
453
  summary: url sharing site framework
422
454
  test_files:
423
455
  - spec/auth_spec.rb
424
- - spec/yaml_ordered_hash_spec.rb
425
- - spec/uri_ask_spec.rb
426
- - spec/img_store_spec.rb
427
456
  - spec/dispatch_spec.rb
457
+ - spec/doc_spec.rb
458
+ - spec/img_store_spec.rb
428
459
  - spec/markup_spec.rb
429
- - spec/url_spec.rb
460
+ - spec/uri_ask_spec.rb
430
461
  - spec/uri_spec.rb
431
- - spec/doc_spec.rb
462
+ - spec/url_spec.rb
463
+ - spec/yaml_ordered_hash_spec.rb
data/.gitignore DELETED
@@ -1,6 +0,0 @@
1
- *~
2
- \#*#
3
- \.#*
4
- *\.gem
5
- public/css/*.gen.css
6
- public/js/*.gen.js
@@ -1,31 +0,0 @@
1
- %w{
2
- cgi
3
-
4
- murlsh
5
- }.each { |m| require m }
6
-
7
- module Murlsh
8
-
9
- # Set the thumbnail of imageshack images.
10
- class AddPre60Imageshack < Plugin
11
-
12
- @hook = 'add_pre'
13
-
14
- ImageshackRe =
15
- %r{^(http://img\d+\.imageshack\.us/img\d+/\d+/)(\w+)\.(jpe?g|gif|png)$}i
16
- StorageDir = File.join(File.dirname(__FILE__), '..', 'public', 'img',
17
- 'thumb')
18
-
19
- def self.run(url, config)
20
- if match = ImageshackRe.match(url.url)
21
- thumb_storage = Murlsh::ImgStore.new(StorageDir,
22
- :user_agent => config['user_agent'])
23
- stored_filename = thumb_storage.store(
24
- "#{match[1]}#{match[2]}.th.#{match[3]}")
25
- url.thumbnail_url = "img/thumb/#{CGI.escape(stored_filename)}"
26
- end
27
- end
28
-
29
- end
30
-
31
- end
@@ -1,30 +0,0 @@
1
- %w{
2
- murlsh
3
- }.each { |m| require m }
4
-
5
- module Murlsh
6
-
7
- # Add Flash mp3 player to mp3 urls.
8
- class UrlDisplayAdd45Mp3 < Plugin
9
-
10
- @hook = 'url_display_add'
11
-
12
- def self.run(markup, url, config)
13
- if url.content_type == 'audio/mpeg'
14
- swf = 'swf/player_mp3_mini.swf'
15
-
16
- markup.object(
17
- :type => 'application/x-shockwave-flash',
18
- :data => swf,
19
- :width => 200,
20
- :height => 20) {
21
- markup.param(:name => 'bgcolor', :value => '#000000')
22
- markup.param(:name => 'FlashVars', :value => "mp3=#{url.url}")
23
- markup.param(:name => 'movie', :value => swf)
24
- }
25
- end
26
- end
27
-
28
- end
29
-
30
- end
File without changes