dunkstewart-blogbits 0.2.0 → 0.4.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.
- data/.autotest +3 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +2 -0
- data/VERSION +1 -1
- data/dunkstewart-blogbits.gemspec +11 -2
- data/lib/blogbits.rb +3 -1
- data/lib/clean_slate.rb +3 -0
- data/lib/disqus_helper.rb +26 -0
- data/lib/linked_posts.rb +27 -0
- data/lib/paged.rb +1 -3
- data/spec/linked_posts_spec.rb +47 -0
- metadata +24 -4
data/.autotest
ADDED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -6,6 +6,7 @@ GEM
|
|
6
6
|
autotest (4.4.6)
|
7
7
|
ZenTest (>= 4.4.1)
|
8
8
|
diff-lcs (1.1.2)
|
9
|
+
gemcutter (0.7.0)
|
9
10
|
git (1.2.5)
|
10
11
|
jeweler (1.5.2)
|
11
12
|
bundler (~> 1.0.0)
|
@@ -28,6 +29,7 @@ PLATFORMS
|
|
28
29
|
DEPENDENCIES
|
29
30
|
RedCloth
|
30
31
|
autotest
|
32
|
+
gemcutter
|
31
33
|
jeweler
|
32
34
|
nokogiri
|
33
35
|
rspec
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{dunkstewart-blogbits}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.4.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Duncan Stewart"]
|
12
|
-
s.date = %q{2011-04-
|
12
|
+
s.date = %q{2011-04-16}
|
13
13
|
s.description = %q{no really! that's it!}
|
14
14
|
s.email = %q{dunkstewart@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -17,6 +17,7 @@ Gem::Specification.new do |s|
|
|
17
17
|
"README.rdoc"
|
18
18
|
]
|
19
19
|
s.files = [
|
20
|
+
".autotest",
|
20
21
|
".document",
|
21
22
|
".rspec",
|
22
23
|
".rvmrc",
|
@@ -28,8 +29,11 @@ Gem::Specification.new do |s|
|
|
28
29
|
"VERSION",
|
29
30
|
"dunkstewart-blogbits.gemspec",
|
30
31
|
"lib/blogbits.rb",
|
32
|
+
"lib/clean_slate.rb",
|
33
|
+
"lib/disqus_helper.rb",
|
31
34
|
"lib/friendconnect_helper.rb",
|
32
35
|
"lib/google_analytics_helper.rb",
|
36
|
+
"lib/linked_posts.rb",
|
33
37
|
"lib/paged.rb",
|
34
38
|
"lib/partials_helper.rb",
|
35
39
|
"lib/post.rb",
|
@@ -37,6 +41,7 @@ Gem::Specification.new do |s|
|
|
37
41
|
"lib/textile_tags.rb",
|
38
42
|
"spec/2011-04-09-bom-removal-test.textile",
|
39
43
|
"spec/2011-04-09-without-bom-test.textile",
|
44
|
+
"spec/linked_posts_spec.rb",
|
40
45
|
"spec/paged_spec.rb",
|
41
46
|
"spec/post_spec.rb",
|
42
47
|
"spec/spec_helper.rb",
|
@@ -48,6 +53,7 @@ Gem::Specification.new do |s|
|
|
48
53
|
s.rubygems_version = %q{1.5.2}
|
49
54
|
s.summary = %q{library for creating a simple filesystem based blog from textile/yaml documents}
|
50
55
|
s.test_files = [
|
56
|
+
"spec/linked_posts_spec.rb",
|
51
57
|
"spec/paged_spec.rb",
|
52
58
|
"spec/post_spec.rb",
|
53
59
|
"spec/spec_helper.rb",
|
@@ -63,12 +69,14 @@ Gem::Specification.new do |s|
|
|
63
69
|
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
64
70
|
s.add_development_dependency(%q<rspec>, [">= 0"])
|
65
71
|
s.add_development_dependency(%q<autotest>, [">= 0"])
|
72
|
+
s.add_development_dependency(%q<gemcutter>, [">= 0"])
|
66
73
|
else
|
67
74
|
s.add_dependency(%q<RedCloth>, [">= 0"])
|
68
75
|
s.add_dependency(%q<nokogiri>, [">= 0"])
|
69
76
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
70
77
|
s.add_dependency(%q<rspec>, [">= 0"])
|
71
78
|
s.add_dependency(%q<autotest>, [">= 0"])
|
79
|
+
s.add_dependency(%q<gemcutter>, [">= 0"])
|
72
80
|
end
|
73
81
|
else
|
74
82
|
s.add_dependency(%q<RedCloth>, [">= 0"])
|
@@ -76,6 +84,7 @@ Gem::Specification.new do |s|
|
|
76
84
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
77
85
|
s.add_dependency(%q<rspec>, [">= 0"])
|
78
86
|
s.add_dependency(%q<autotest>, [">= 0"])
|
87
|
+
s.add_dependency(%q<gemcutter>, [">= 0"])
|
79
88
|
end
|
80
89
|
end
|
81
90
|
|
data/lib/blogbits.rb
CHANGED
data/lib/clean_slate.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
module DisqusHelper
|
2
|
+
def disqus_thread(post)
|
3
|
+
%{
|
4
|
+
<div id="disqus_thread"></div>
|
5
|
+
<script type="text/javascript">
|
6
|
+
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
|
7
|
+
var disqus_shortname = '#{settings.disqus_shortname}';
|
8
|
+
|
9
|
+
// The following are highly recommended additional parameters. Remove the slashes in front to use.
|
10
|
+
var disqus_identifier = '#{post.slug}';
|
11
|
+
// var disqus_url = 'http://example.com/permalink-to-page.html';
|
12
|
+
|
13
|
+
var disqus_developer = #{settings.disqus_developer ? '1' : '0'}
|
14
|
+
|
15
|
+
/* * * DON'T EDIT BELOW THIS LINE * * */
|
16
|
+
(function() {
|
17
|
+
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
18
|
+
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
|
19
|
+
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
20
|
+
})();
|
21
|
+
</script>
|
22
|
+
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
23
|
+
<a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>
|
24
|
+
}
|
25
|
+
end
|
26
|
+
end
|
data/lib/linked_posts.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
class LinkedPosts
|
2
|
+
def initialize(posts)
|
3
|
+
@posts = posts
|
4
|
+
end
|
5
|
+
|
6
|
+
def slug=(slug)
|
7
|
+
@slug = slug
|
8
|
+
end
|
9
|
+
|
10
|
+
def current
|
11
|
+
@posts.detect { |p| p.slug == @slug }
|
12
|
+
end
|
13
|
+
|
14
|
+
def previous_post
|
15
|
+
@posts[current_index + 1]
|
16
|
+
end
|
17
|
+
|
18
|
+
def next_post
|
19
|
+
@posts[current_index - 1] unless current_index == 0
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def current_index
|
25
|
+
@posts.index(current)
|
26
|
+
end
|
27
|
+
end
|
data/lib/paged.rb
CHANGED
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe LinkedPosts do
|
4
|
+
before :each do
|
5
|
+
@posts = []
|
6
|
+
0.upto(3) do |n|
|
7
|
+
post = stub "post #{n}"
|
8
|
+
post.stub!(:slug).and_return "2011/03/02/post#{n}"
|
9
|
+
@posts << post
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
context 'post in the middle of list of posts' do
|
14
|
+
before :each do
|
15
|
+
@linked_posts = LinkedPosts.new @posts
|
16
|
+
@linked_posts.slug = '2011/03/02/post2'
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'should return current post' do
|
20
|
+
@linked_posts.current.should == @posts[2]
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should return previous post' do
|
24
|
+
@linked_posts.previous_post.should == @posts[3]
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should return next post' do
|
28
|
+
@linked_posts.next_post.should == @posts[1]
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context 'edge of list' do
|
33
|
+
before :each do
|
34
|
+
@linked_posts = LinkedPosts.new @posts
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'should return nil for previous post when at the oldest post' do
|
38
|
+
@linked_posts.slug = '2011/03/02/post3'
|
39
|
+
@linked_posts.previous_post.should == nil
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'should return nil for next post when at latest post' do
|
43
|
+
@linked_posts.slug = '2011/03/02/post0'
|
44
|
+
@linked_posts.next_post.should == nil
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dunkstewart-blogbits
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 4
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.4.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Duncan Stewart
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-04-
|
18
|
+
date: 2011-04-16 00:00:00 +10:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -88,6 +88,20 @@ dependencies:
|
|
88
88
|
name: autotest
|
89
89
|
version_requirements: *id005
|
90
90
|
prerelease: false
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
type: :development
|
93
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
95
|
+
requirements:
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
hash: 3
|
99
|
+
segments:
|
100
|
+
- 0
|
101
|
+
version: "0"
|
102
|
+
name: gemcutter
|
103
|
+
version_requirements: *id006
|
104
|
+
prerelease: false
|
91
105
|
description: no really! that's it!
|
92
106
|
email: dunkstewart@gmail.com
|
93
107
|
executables: []
|
@@ -98,6 +112,7 @@ extra_rdoc_files:
|
|
98
112
|
- LICENSE.txt
|
99
113
|
- README.rdoc
|
100
114
|
files:
|
115
|
+
- .autotest
|
101
116
|
- .document
|
102
117
|
- .rspec
|
103
118
|
- .rvmrc
|
@@ -109,8 +124,11 @@ files:
|
|
109
124
|
- VERSION
|
110
125
|
- dunkstewart-blogbits.gemspec
|
111
126
|
- lib/blogbits.rb
|
127
|
+
- lib/clean_slate.rb
|
128
|
+
- lib/disqus_helper.rb
|
112
129
|
- lib/friendconnect_helper.rb
|
113
130
|
- lib/google_analytics_helper.rb
|
131
|
+
- lib/linked_posts.rb
|
114
132
|
- lib/paged.rb
|
115
133
|
- lib/partials_helper.rb
|
116
134
|
- lib/post.rb
|
@@ -118,6 +136,7 @@ files:
|
|
118
136
|
- lib/textile_tags.rb
|
119
137
|
- spec/2011-04-09-bom-removal-test.textile
|
120
138
|
- spec/2011-04-09-without-bom-test.textile
|
139
|
+
- spec/linked_posts_spec.rb
|
121
140
|
- spec/paged_spec.rb
|
122
141
|
- spec/post_spec.rb
|
123
142
|
- spec/spec_helper.rb
|
@@ -157,6 +176,7 @@ signing_key:
|
|
157
176
|
specification_version: 3
|
158
177
|
summary: library for creating a simple filesystem based blog from textile/yaml documents
|
159
178
|
test_files:
|
179
|
+
- spec/linked_posts_spec.rb
|
160
180
|
- spec/paged_spec.rb
|
161
181
|
- spec/post_spec.rb
|
162
182
|
- spec/spec_helper.rb
|