murlsh 1.4.1 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +4 -0
- data/.htaccess +0 -3
- data/Gemfile +41 -0
- data/README.textile +68 -6
- data/Rakefile +65 -152
- data/config.ru +13 -2
- data/config.yaml +9 -4
- data/db/migrate/20110213023123_init.rb +20 -0
- data/lib/murlsh/atom_body.rb +78 -0
- data/lib/murlsh/atom_server.rb +38 -0
- data/lib/murlsh/auth.rb +12 -0
- data/lib/murlsh/build_query.rb +1 -1
- data/lib/murlsh/cat_files.rb +17 -0
- data/lib/murlsh/delicious_parse.rb +1 -0
- data/lib/murlsh/dispatch.rb +25 -11
- data/lib/murlsh/etag_add_encoding.rb +1 -1
- data/lib/murlsh/feed_body.rb +36 -0
- data/lib/murlsh/img_store.rb +27 -28
- data/lib/murlsh/install.rb +1 -0
- data/lib/murlsh/json_body.rb +5 -2
- data/lib/murlsh/json_server.rb +9 -13
- data/lib/murlsh/m3u_body.rb +28 -0
- data/lib/murlsh/m3u_server.rb +50 -0
- data/lib/murlsh/markup.rb +1 -1
- data/lib/murlsh/plugin.rb +5 -0
- data/lib/murlsh/podcast_server.rb +44 -0
- data/lib/murlsh/pop_server.rb +78 -0
- data/lib/murlsh/random_server.rb +41 -0
- data/lib/murlsh/rss_body.rb +46 -0
- data/lib/murlsh/rss_server.rb +38 -0
- data/lib/murlsh/search_conditions.rb +2 -2
- data/lib/murlsh/uri_ask.rb +2 -2
- data/lib/murlsh/url_body.rb +21 -6
- data/lib/murlsh/url_result_set.rb +2 -2
- data/lib/murlsh/url_server.rb +19 -16
- data/lib/murlsh/write_ordered_hash.rb +17 -0
- data/lib/murlsh.rb +13 -2
- data/murlsh.gemspec +41 -194
- data/plugins/add_post_60_notify_hubs.rb +3 -2
- data/plugins/add_pre_30_unajax_twitter.rb +1 -1
- data/plugins/add_pre_40_thumbnail_shortcuts.rb +23 -0
- data/plugins/add_pre_45_supplied_thumbnail.rb +4 -9
- data/plugins/add_pre_50_media_thumbnail.rb +4 -9
- data/plugins/add_pre_50_open_graph_image.rb +4 -8
- data/plugins/add_pre_60_github_title.rb +1 -1
- data/plugins/add_pre_65_html_thumb.rb +3 -8
- data/plugins/add_pre_65_img_thumb.rb +4 -9
- data/plugins/avatar_50_gravatar.rb +2 -1
- data/plugins/store_asset_40_s3.rb +40 -0
- data/plugins/store_asset_50_local.rb +22 -0
- data/public/js/js.js +0 -7
- data/spec/auth_spec.rb +7 -0
- data/spec/cat_files_spec.rb +49 -0
- data/spec/img_store_spec.rb +24 -8
- metadata +119 -76
- data/VERSION +0 -1
- data/lib/murlsh/build_md5.rb +0 -12
- data/lib/murlsh/head_from_get.rb +0 -15
- data/plugins/add_post_50_update_feed.rb +0 -84
- data/plugins/add_post_50_update_m3u.rb +0 -35
- data/plugins/add_post_50_update_podcast.rb +0 -44
- data/plugins/add_post_50_update_rss.rb +0 -51
- data/plugins/add_pre_60_s3_image.rb +0 -35
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:
|
4
|
+
hash: 3
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 1.
|
8
|
+
- 5
|
9
|
+
- 0
|
10
|
+
version: 1.5.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Matthew M. Boedicker
|
@@ -15,8 +15,8 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-02-
|
19
|
-
default_executable:
|
18
|
+
date: 2011-02-21 00:00:00 -05:00
|
19
|
+
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: activerecord
|
@@ -35,23 +35,22 @@ dependencies:
|
|
35
35
|
type: :runtime
|
36
36
|
version_requirements: *id001
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
|
-
name:
|
38
|
+
name: aws-s3
|
39
39
|
prerelease: false
|
40
40
|
requirement: &id002 !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
|
-
- -
|
43
|
+
- - ~>
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
hash:
|
45
|
+
hash: 7
|
46
46
|
segments:
|
47
|
-
-
|
48
|
-
-
|
49
|
-
|
50
|
-
version: 2.1.2
|
47
|
+
- 0
|
48
|
+
- 6
|
49
|
+
version: "0.6"
|
51
50
|
type: :runtime
|
52
51
|
version_requirements: *id002
|
53
52
|
- !ruby/object:Gem::Dependency
|
54
|
-
name:
|
53
|
+
name: bcrypt-ruby
|
55
54
|
prerelease: false
|
56
55
|
requirement: &id003 !ruby/object:Gem::Requirement
|
57
56
|
none: false
|
@@ -67,9 +66,23 @@ dependencies:
|
|
67
66
|
type: :runtime
|
68
67
|
version_requirements: *id003
|
69
68
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
69
|
+
name: builder
|
71
70
|
prerelease: false
|
72
71
|
requirement: &id004 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ">"
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
hash: 3
|
77
|
+
segments:
|
78
|
+
- 0
|
79
|
+
version: "0"
|
80
|
+
type: :runtime
|
81
|
+
version_requirements: *id004
|
82
|
+
- !ruby/object:Gem::Dependency
|
83
|
+
name: htmlentities
|
84
|
+
prerelease: false
|
85
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
73
86
|
none: false
|
74
87
|
requirements:
|
75
88
|
- - ">="
|
@@ -81,11 +94,11 @@ dependencies:
|
|
81
94
|
- 0
|
82
95
|
version: 4.2.0
|
83
96
|
type: :runtime
|
84
|
-
version_requirements: *
|
97
|
+
version_requirements: *id005
|
85
98
|
- !ruby/object:Gem::Dependency
|
86
99
|
name: json
|
87
100
|
prerelease: false
|
88
|
-
requirement: &
|
101
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
89
102
|
none: false
|
90
103
|
requirements:
|
91
104
|
- - ">="
|
@@ -97,11 +110,11 @@ dependencies:
|
|
97
110
|
- 3
|
98
111
|
version: 1.2.3
|
99
112
|
type: :runtime
|
100
|
-
version_requirements: *
|
113
|
+
version_requirements: *id006
|
101
114
|
- !ruby/object:Gem::Dependency
|
102
115
|
name: nokogiri
|
103
116
|
prerelease: false
|
104
|
-
requirement: &
|
117
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
105
118
|
none: false
|
106
119
|
requirements:
|
107
120
|
- - ~>
|
@@ -112,27 +125,27 @@ dependencies:
|
|
112
125
|
- 0
|
113
126
|
version: "1.0"
|
114
127
|
type: :runtime
|
115
|
-
version_requirements: *
|
128
|
+
version_requirements: *id007
|
116
129
|
- !ruby/object:Gem::Dependency
|
117
130
|
name: plumnailer
|
118
131
|
prerelease: false
|
119
|
-
requirement: &
|
132
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
120
133
|
none: false
|
121
134
|
requirements:
|
122
135
|
- - ">="
|
123
136
|
- !ruby/object:Gem::Version
|
124
|
-
hash:
|
137
|
+
hash: 29
|
125
138
|
segments:
|
126
139
|
- 0
|
127
140
|
- 1
|
128
|
-
-
|
129
|
-
version: 0.1.
|
141
|
+
- 3
|
142
|
+
version: 0.1.3
|
130
143
|
type: :runtime
|
131
|
-
version_requirements: *
|
144
|
+
version_requirements: *id008
|
132
145
|
- !ruby/object:Gem::Dependency
|
133
146
|
name: postrank-uri
|
134
147
|
prerelease: false
|
135
|
-
requirement: &
|
148
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
136
149
|
none: false
|
137
150
|
requirements:
|
138
151
|
- - ~>
|
@@ -143,11 +156,11 @@ dependencies:
|
|
143
156
|
- 0
|
144
157
|
version: "1.0"
|
145
158
|
type: :runtime
|
146
|
-
version_requirements: *
|
159
|
+
version_requirements: *id009
|
147
160
|
- !ruby/object:Gem::Dependency
|
148
161
|
name: public_suffix_service
|
149
162
|
prerelease: false
|
150
|
-
requirement: &
|
163
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
151
164
|
none: false
|
152
165
|
requirements:
|
153
166
|
- - ~>
|
@@ -158,11 +171,11 @@ dependencies:
|
|
158
171
|
- 0
|
159
172
|
version: "0.0"
|
160
173
|
type: :runtime
|
161
|
-
version_requirements: *
|
174
|
+
version_requirements: *id010
|
162
175
|
- !ruby/object:Gem::Dependency
|
163
176
|
name: push-notify
|
164
177
|
prerelease: false
|
165
|
-
requirement: &
|
178
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
166
179
|
none: false
|
167
180
|
requirements:
|
168
181
|
- - ">="
|
@@ -174,11 +187,11 @@ dependencies:
|
|
174
187
|
- 0
|
175
188
|
version: 0.1.0
|
176
189
|
type: :runtime
|
177
|
-
version_requirements: *
|
190
|
+
version_requirements: *id011
|
178
191
|
- !ruby/object:Gem::Dependency
|
179
192
|
name: rack
|
180
193
|
prerelease: false
|
181
|
-
requirement: &
|
194
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
182
195
|
none: false
|
183
196
|
requirements:
|
184
197
|
- - ">="
|
@@ -190,11 +203,11 @@ dependencies:
|
|
190
203
|
- 0
|
191
204
|
version: 1.0.0
|
192
205
|
type: :runtime
|
193
|
-
version_requirements: *
|
206
|
+
version_requirements: *id012
|
194
207
|
- !ruby/object:Gem::Dependency
|
195
208
|
name: rack-cache
|
196
209
|
prerelease: false
|
197
|
-
requirement: &
|
210
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
198
211
|
none: false
|
199
212
|
requirements:
|
200
213
|
- - ">="
|
@@ -206,11 +219,11 @@ dependencies:
|
|
206
219
|
- 2
|
207
220
|
version: 0.5.2
|
208
221
|
type: :runtime
|
209
|
-
version_requirements: *
|
222
|
+
version_requirements: *id013
|
210
223
|
- !ruby/object:Gem::Dependency
|
211
224
|
name: rack-rewrite
|
212
225
|
prerelease: false
|
213
|
-
requirement: &
|
226
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
214
227
|
none: false
|
215
228
|
requirements:
|
216
229
|
- - ">="
|
@@ -222,11 +235,11 @@ dependencies:
|
|
222
235
|
- 2
|
223
236
|
version: 1.0.2
|
224
237
|
type: :runtime
|
225
|
-
version_requirements: *
|
238
|
+
version_requirements: *id014
|
226
239
|
- !ruby/object:Gem::Dependency
|
227
240
|
name: rack-throttle
|
228
241
|
prerelease: false
|
229
|
-
requirement: &
|
242
|
+
requirement: &id015 !ruby/object:Gem::Requirement
|
230
243
|
none: false
|
231
244
|
requirements:
|
232
245
|
- - ">="
|
@@ -238,11 +251,11 @@ dependencies:
|
|
238
251
|
- 0
|
239
252
|
version: 0.3.0
|
240
253
|
type: :runtime
|
241
|
-
version_requirements: *
|
254
|
+
version_requirements: *id015
|
242
255
|
- !ruby/object:Gem::Dependency
|
243
256
|
name: rmagick
|
244
257
|
prerelease: false
|
245
|
-
requirement: &
|
258
|
+
requirement: &id016 !ruby/object:Gem::Requirement
|
246
259
|
none: false
|
247
260
|
requirements:
|
248
261
|
- - ">="
|
@@ -254,11 +267,26 @@ dependencies:
|
|
254
267
|
- 14
|
255
268
|
version: 1.15.14
|
256
269
|
type: :runtime
|
257
|
-
version_requirements: *
|
270
|
+
version_requirements: *id016
|
271
|
+
- !ruby/object:Gem::Dependency
|
272
|
+
name: rmail
|
273
|
+
prerelease: false
|
274
|
+
requirement: &id017 !ruby/object:Gem::Requirement
|
275
|
+
none: false
|
276
|
+
requirements:
|
277
|
+
- - ~>
|
278
|
+
- !ruby/object:Gem::Version
|
279
|
+
hash: 15
|
280
|
+
segments:
|
281
|
+
- 1
|
282
|
+
- 0
|
283
|
+
version: "1.0"
|
284
|
+
type: :runtime
|
285
|
+
version_requirements: *id017
|
258
286
|
- !ruby/object:Gem::Dependency
|
259
287
|
name: sqlite3
|
260
288
|
prerelease: false
|
261
|
-
requirement: &
|
289
|
+
requirement: &id018 !ruby/object:Gem::Requirement
|
262
290
|
none: false
|
263
291
|
requirements:
|
264
292
|
- - ~>
|
@@ -269,27 +297,27 @@ dependencies:
|
|
269
297
|
- 3
|
270
298
|
version: "1.3"
|
271
299
|
type: :runtime
|
272
|
-
version_requirements: *
|
300
|
+
version_requirements: *id018
|
273
301
|
- !ruby/object:Gem::Dependency
|
274
302
|
name: tinyatom
|
275
303
|
prerelease: false
|
276
|
-
requirement: &
|
304
|
+
requirement: &id019 !ruby/object:Gem::Requirement
|
277
305
|
none: false
|
278
306
|
requirements:
|
279
307
|
- - ">="
|
280
308
|
- !ruby/object:Gem::Version
|
281
|
-
hash:
|
309
|
+
hash: 27
|
282
310
|
segments:
|
283
311
|
- 0
|
284
312
|
- 3
|
285
|
-
-
|
286
|
-
version: 0.3.
|
313
|
+
- 4
|
314
|
+
version: 0.3.4
|
287
315
|
type: :runtime
|
288
|
-
version_requirements: *
|
316
|
+
version_requirements: *id019
|
289
317
|
- !ruby/object:Gem::Dependency
|
290
318
|
name: treetop
|
291
319
|
prerelease: false
|
292
|
-
requirement: &
|
320
|
+
requirement: &id020 !ruby/object:Gem::Requirement
|
293
321
|
none: false
|
294
322
|
requirements:
|
295
323
|
- - ~>
|
@@ -300,11 +328,11 @@ dependencies:
|
|
300
328
|
- 4
|
301
329
|
version: "1.4"
|
302
330
|
type: :runtime
|
303
|
-
version_requirements: *
|
331
|
+
version_requirements: *id020
|
304
332
|
- !ruby/object:Gem::Dependency
|
305
333
|
name: twitter
|
306
334
|
prerelease: false
|
307
|
-
requirement: &
|
335
|
+
requirement: &id021 !ruby/object:Gem::Requirement
|
308
336
|
none: false
|
309
337
|
requirements:
|
310
338
|
- - ">="
|
@@ -316,11 +344,11 @@ dependencies:
|
|
316
344
|
- 12
|
317
345
|
version: 0.9.12
|
318
346
|
type: :runtime
|
319
|
-
version_requirements: *
|
347
|
+
version_requirements: *id021
|
320
348
|
- !ruby/object:Gem::Dependency
|
321
349
|
name: fakeweb
|
322
350
|
prerelease: false
|
323
|
-
requirement: &
|
351
|
+
requirement: &id022 !ruby/object:Gem::Requirement
|
324
352
|
none: false
|
325
353
|
requirements:
|
326
354
|
- - ~>
|
@@ -331,11 +359,11 @@ dependencies:
|
|
331
359
|
- 3
|
332
360
|
version: "1.3"
|
333
361
|
type: :development
|
334
|
-
version_requirements: *
|
362
|
+
version_requirements: *id022
|
335
363
|
- !ruby/object:Gem::Dependency
|
336
364
|
name: flog
|
337
365
|
prerelease: false
|
338
|
-
requirement: &
|
366
|
+
requirement: &id023 !ruby/object:Gem::Requirement
|
339
367
|
none: false
|
340
368
|
requirements:
|
341
369
|
- - ">="
|
@@ -347,11 +375,11 @@ dependencies:
|
|
347
375
|
- 0
|
348
376
|
version: 2.5.0
|
349
377
|
type: :development
|
350
|
-
version_requirements: *
|
378
|
+
version_requirements: *id023
|
351
379
|
- !ruby/object:Gem::Dependency
|
352
380
|
name: rack-test
|
353
381
|
prerelease: false
|
354
|
-
requirement: &
|
382
|
+
requirement: &id024 !ruby/object:Gem::Requirement
|
355
383
|
none: false
|
356
384
|
requirements:
|
357
385
|
- - ~>
|
@@ -362,11 +390,11 @@ dependencies:
|
|
362
390
|
- 5
|
363
391
|
version: "0.5"
|
364
392
|
type: :development
|
365
|
-
version_requirements: *
|
393
|
+
version_requirements: *id024
|
366
394
|
- !ruby/object:Gem::Dependency
|
367
395
|
name: rspec
|
368
396
|
prerelease: false
|
369
|
-
requirement: &
|
397
|
+
requirement: &id025 !ruby/object:Gem::Requirement
|
370
398
|
none: false
|
371
399
|
requirements:
|
372
400
|
- - ~>
|
@@ -377,29 +405,34 @@ dependencies:
|
|
377
405
|
- 0
|
378
406
|
version: "2.0"
|
379
407
|
type: :development
|
380
|
-
version_requirements: *
|
408
|
+
version_requirements: *id025
|
381
409
|
description: Host your bookmarks or maintain a link blog
|
382
|
-
email:
|
410
|
+
email:
|
411
|
+
- matthewm@boedicker.org
|
383
412
|
executables:
|
384
413
|
- murlsh
|
385
414
|
extensions: []
|
386
415
|
|
387
|
-
extra_rdoc_files:
|
388
|
-
|
416
|
+
extra_rdoc_files: []
|
417
|
+
|
389
418
|
files:
|
419
|
+
- .gitignore
|
390
420
|
- .htaccess
|
391
421
|
- COPYING
|
422
|
+
- Gemfile
|
392
423
|
- README.textile
|
393
424
|
- Rakefile
|
394
|
-
- VERSION
|
395
425
|
- bin/murlsh
|
396
426
|
- config.ru
|
397
427
|
- config.yaml
|
428
|
+
- db/migrate/20110213023123_init.rb
|
398
429
|
- lib/murlsh.rb
|
399
430
|
- lib/murlsh/ask.rb
|
431
|
+
- lib/murlsh/atom_body.rb
|
432
|
+
- lib/murlsh/atom_server.rb
|
400
433
|
- lib/murlsh/auth.rb
|
401
|
-
- lib/murlsh/build_md5.rb
|
402
434
|
- lib/murlsh/build_query.rb
|
435
|
+
- lib/murlsh/cat_files.rb
|
403
436
|
- lib/murlsh/cp_r_safe.rb
|
404
437
|
- lib/murlsh/delicious_parse.rb
|
405
438
|
- lib/murlsh/dispatch.rb
|
@@ -407,17 +440,24 @@ files:
|
|
407
440
|
- lib/murlsh/etag_add_encoding.rb
|
408
441
|
- lib/murlsh/failproof.rb
|
409
442
|
- lib/murlsh/far_future_expires.rb
|
410
|
-
- lib/murlsh/
|
443
|
+
- lib/murlsh/feed_body.rb
|
411
444
|
- lib/murlsh/image_list.rb
|
412
445
|
- lib/murlsh/img_store.rb
|
413
446
|
- lib/murlsh/install.rb
|
414
447
|
- lib/murlsh/json_body.rb
|
415
448
|
- lib/murlsh/json_server.rb
|
416
449
|
- lib/murlsh/jsonp_body.rb
|
450
|
+
- lib/murlsh/m3u_body.rb
|
451
|
+
- lib/murlsh/m3u_server.rb
|
417
452
|
- lib/murlsh/markup.rb
|
418
453
|
- lib/murlsh/must_revalidate.rb
|
419
454
|
- lib/murlsh/openlock.rb
|
420
455
|
- lib/murlsh/plugin.rb
|
456
|
+
- lib/murlsh/podcast_server.rb
|
457
|
+
- lib/murlsh/pop_server.rb
|
458
|
+
- lib/murlsh/random_server.rb
|
459
|
+
- lib/murlsh/rss_body.rb
|
460
|
+
- lib/murlsh/rss_server.rb
|
421
461
|
- lib/murlsh/search_conditions.rb
|
422
462
|
- lib/murlsh/search_grammar.rb
|
423
463
|
- lib/murlsh/search_grammar.treetop
|
@@ -429,16 +469,14 @@ files:
|
|
429
469
|
- lib/murlsh/url_body.rb
|
430
470
|
- lib/murlsh/url_result_set.rb
|
431
471
|
- lib/murlsh/url_server.rb
|
472
|
+
- lib/murlsh/write_ordered_hash.rb
|
432
473
|
- lib/murlsh/yaml_ordered_hash.rb
|
433
474
|
- murlsh.gemspec
|
434
|
-
- plugins/add_post_50_update_feed.rb
|
435
|
-
- plugins/add_post_50_update_m3u.rb
|
436
|
-
- plugins/add_post_50_update_podcast.rb
|
437
|
-
- plugins/add_post_50_update_rss.rb
|
438
475
|
- plugins/add_post_60_notify_hubs.rb
|
439
476
|
- plugins/add_pre_30_unajax_twitter.rb
|
440
477
|
- plugins/add_pre_35_url_clean.rb
|
441
478
|
- plugins/add_pre_40_convert_mobile.rb
|
479
|
+
- plugins/add_pre_40_thumbnail_shortcuts.rb
|
442
480
|
- plugins/add_pre_45_supplied_thumbnail.rb
|
443
481
|
- plugins/add_pre_50_lookup_content_type_title.rb
|
444
482
|
- plugins/add_pre_50_media_thumbnail.rb
|
@@ -446,11 +484,12 @@ files:
|
|
446
484
|
- plugins/add_pre_60_github_title.rb
|
447
485
|
- plugins/add_pre_60_google_code_title.rb
|
448
486
|
- plugins/add_pre_60_imgur.rb
|
449
|
-
- plugins/add_pre_60_s3_image.rb
|
450
487
|
- plugins/add_pre_60_twitter.rb
|
451
488
|
- plugins/add_pre_65_html_thumb.rb
|
452
489
|
- plugins/add_pre_65_img_thumb.rb
|
453
490
|
- plugins/avatar_50_gravatar.rb
|
491
|
+
- plugins/store_asset_40_s3.rb
|
492
|
+
- plugins/store_asset_50_local.rb
|
454
493
|
- plugins/url_display_add_45_audio.rb
|
455
494
|
- plugins/url_display_add_50_hostrec.rb
|
456
495
|
- plugins/url_display_add_55_content_type.rb
|
@@ -464,6 +503,7 @@ files:
|
|
464
503
|
- public/js/js.js
|
465
504
|
- public/js/twitter-text-1.3.1.js
|
466
505
|
- spec/auth_spec.rb
|
506
|
+
- spec/cat_files_spec.rb
|
467
507
|
- spec/dispatch_spec.rb
|
468
508
|
- spec/doc_spec.rb
|
469
509
|
- spec/img_store_spec.rb
|
@@ -473,7 +513,7 @@ files:
|
|
473
513
|
- spec/url_spec.rb
|
474
514
|
- spec/yaml_ordered_hash_spec.rb
|
475
515
|
has_rdoc: true
|
476
|
-
homepage:
|
516
|
+
homepage: https://github.com/mmb/murlsh
|
477
517
|
licenses: []
|
478
518
|
|
479
519
|
post_install_message:
|
@@ -495,19 +535,22 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
495
535
|
requirements:
|
496
536
|
- - ">="
|
497
537
|
- !ruby/object:Gem::Version
|
498
|
-
hash:
|
538
|
+
hash: 23
|
499
539
|
segments:
|
500
|
-
-
|
501
|
-
|
540
|
+
- 1
|
541
|
+
- 3
|
542
|
+
- 6
|
543
|
+
version: 1.3.6
|
502
544
|
requirements: []
|
503
545
|
|
504
546
|
rubyforge_project:
|
505
|
-
rubygems_version: 1.
|
547
|
+
rubygems_version: 1.5.2
|
506
548
|
signing_key:
|
507
549
|
specification_version: 3
|
508
550
|
summary: Host your bookmarks or maintain a link blog
|
509
551
|
test_files:
|
510
552
|
- spec/auth_spec.rb
|
553
|
+
- spec/cat_files_spec.rb
|
511
554
|
- spec/dispatch_spec.rb
|
512
555
|
- spec/doc_spec.rb
|
513
556
|
- spec/img_store_spec.rb
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
1.4.1
|
data/lib/murlsh/build_md5.rb
DELETED
data/lib/murlsh/head_from_get.rb
DELETED
@@ -1,84 +0,0 @@
|
|
1
|
-
require 'uri'
|
2
|
-
|
3
|
-
require 'tinyatom'
|
4
|
-
|
5
|
-
require 'murlsh'
|
6
|
-
|
7
|
-
module Murlsh
|
8
|
-
|
9
|
-
# Regenerate atom feed after a new url has been added.
|
10
|
-
class AddPost50UpdateFeed < Plugin
|
11
|
-
|
12
|
-
@hook = 'add_post'
|
13
|
-
|
14
|
-
# Content types to add an enclosure for.
|
15
|
-
EnclosureContentTypes = %w{
|
16
|
-
application/pdf
|
17
|
-
audio/mpeg
|
18
|
-
image/gif
|
19
|
-
image/jpeg
|
20
|
-
image/png
|
21
|
-
}
|
22
|
-
|
23
|
-
def self.run(url, config)
|
24
|
-
feed = TinyAtom::Feed.new(config['root_url'], config.fetch('page_title'),
|
25
|
-
URI.join(config['root_url'], config['feed_file']),
|
26
|
-
:hubs => config.fetch('pubsubhubbub_hubs', []).
|
27
|
-
map { |x| x['subscribe_url'] } )
|
28
|
-
|
29
|
-
latest = Murlsh::Url.all(:order => 'time DESC',
|
30
|
-
:limit => config.fetch('num_posts_feed', 25))
|
31
|
-
|
32
|
-
latest.each do |mu|
|
33
|
-
options = {
|
34
|
-
:author_name => mu.name,
|
35
|
-
:summary => mu.title_stripped
|
36
|
-
}
|
37
|
-
|
38
|
-
if EnclosureContentTypes.include?(mu.content_type)
|
39
|
-
options.merge!(
|
40
|
-
:enclosure_type => mu.content_type,
|
41
|
-
:enclosure_href => mu.url,
|
42
|
-
:enclosure_title => mu.title
|
43
|
-
)
|
44
|
-
if mu.content_length
|
45
|
-
options.merge! :enclosure_length => mu.content_length
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
if mu.thumbnail_url
|
50
|
-
begin
|
51
|
-
# Add root url to relative urls.
|
52
|
-
tu = URI(mu.thumbnail_url)
|
53
|
-
abs_url = if tu.is_a?(URI::HTTP)
|
54
|
-
tu
|
55
|
-
else
|
56
|
-
URI.join config['root_url'], tu
|
57
|
-
end
|
58
|
-
options.merge! :media_thumbnail_url => abs_url
|
59
|
-
rescue URI::InvalidURIError
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
Murlsh::failproof do
|
64
|
-
if mu.via
|
65
|
-
options.merge!(
|
66
|
-
:via_type => 'text/html',
|
67
|
-
:via_href => mu.via,
|
68
|
-
:via_title => URI(mu.via).extend(Murlsh::URIDomain).domain
|
69
|
-
)
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
feed.add_entry mu.id, mu.title_stripped, mu.time, mu.url, options
|
74
|
-
end
|
75
|
-
|
76
|
-
Murlsh::openlock(config.fetch('feed_file'), 'w') do |f|
|
77
|
-
feed.make :target => f
|
78
|
-
end
|
79
|
-
|
80
|
-
end
|
81
|
-
|
82
|
-
end
|
83
|
-
|
84
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
require 'murlsh'
|
2
|
-
|
3
|
-
module Murlsh
|
4
|
-
|
5
|
-
# Regenerate m3u file after a new audio url has been added.
|
6
|
-
class AddPost50UpdateM3u < Plugin
|
7
|
-
|
8
|
-
@hook = 'add_post'
|
9
|
-
|
10
|
-
AudioContentTypes = %w{
|
11
|
-
application/ogg
|
12
|
-
audio/mpeg
|
13
|
-
audio/ogg
|
14
|
-
}
|
15
|
-
|
16
|
-
OutputFile = 'm3u.m3u'
|
17
|
-
|
18
|
-
def self.run(url, config)
|
19
|
-
if AudioContentTypes.include?(url.content_type) or
|
20
|
-
not File.exists?(OutputFile)
|
21
|
-
|
22
|
-
Murlsh::openlock(OutputFile, 'w') do |f|
|
23
|
-
f.write "# #{config['root_url']}\r\n\r\n"
|
24
|
-
Murlsh::Url.all(:conditions =>
|
25
|
-
["content_type IN (?)", AudioContentTypes],
|
26
|
-
:order => 'time DESC').each do |mu|
|
27
|
-
f.write "#{mu.url}\r\n"
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|