bloggy 0.1.1 → 0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/README.md +6 -1
- data/bloggy.gemspec +2 -2
- data/lib/bloggy/version.rb +1 -1
- data/lib/generators/jekyll/blog/blog_generator.rb +5 -5
- data/lib/generators/jekyll/blog/templates/config/jekyll/_config.yml.tt +1 -1
- data/lib/generators/jekyll/blog/templates/config/jekyll/_layouts/default.html.tt +4 -4
- data/lib/generators/jekyll/blog/templates/config/jekyll/_layouts/post.html.tt +2 -2
- data/lib/generators/jekyll/blog/templates/config/jekyll/index.html.tt +2 -2
- data/lib/generators/jekyll/blog/templates/tasks/new_post.rake.tt +18 -3
- data/test/test_generate_blog.rb +1 -1
- metadata +32 -96
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -26,10 +26,15 @@ Once you run
|
|
26
26
|
|
27
27
|
you will find the file structure you are used to seeing for creating blog posts, editing default layout etc. inside of the config/jekyll directory. There you can add add the same commands you would from a normal jekyll installation (they are provided at the <a href="https://github.com/mojombo/jekyll/wiki/Configuration">Jekyll configuration page</a>). So now just configure to your liking. (edit the default.html inside of _layouts for your main page and the post.html and page.html files for the corresponding results).
|
28
28
|
|
29
|
-
I have provided a rake task to name and open your new blog post
|
29
|
+
I have provided a rake task to name and open your new blog post for editing. To use it just run
|
30
30
|
|
31
31
|
$ rake np post-title
|
32
32
|
|
33
|
+
By default, your post will open in textmate, but you can override this by creating a .bloggyrc file in your home directory, containing the command line invocation of your editor.
|
34
|
+
|
35
|
+
# mine for Rubymine, subl for Sublime Text, mate for TextMate, etc.
|
36
|
+
editor: mine
|
37
|
+
|
33
38
|
Your posts will be served from the public/blog directory inside of your rails application. After you write a new blog post simply run
|
34
39
|
|
35
40
|
$ rake generate
|
data/bloggy.gemspec
CHANGED
@@ -3,10 +3,10 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
require "bloggy/version"
|
4
4
|
|
5
5
|
Gem::Specification.new do |s|
|
6
|
-
s.authors = ["Zach Bruhnke"]
|
6
|
+
s.authors = ["Zach Bruhnke", "Eric Thiese"]
|
7
7
|
s.email = ["z@zbruhnke.com"]
|
8
8
|
s.description = %q{Add a Jekyll blog to an existing Rails application in seconds}
|
9
|
-
s.summary = %q{generate a jekyll blog within a rails application quickly and easily. No
|
9
|
+
s.summary = %q{generate a jekyll blog within a rails application quickly and easily. No additional nginx config required}
|
10
10
|
s.homepage = "http://github.com/zbruhnke/bloggy"
|
11
11
|
|
12
12
|
s.files = `git ls-files`.split($\)
|
data/lib/bloggy/version.rb
CHANGED
@@ -3,12 +3,12 @@ class Jekyll::BlogGenerator < Rails::Generators::NamedBase
|
|
3
3
|
argument :name, :type => :string, :default => "blog"
|
4
4
|
|
5
5
|
def copy_config_file
|
6
|
-
|
6
|
+
template 'config/jekyll/_config.yml.tt', 'config/jekyll/_config.yml'
|
7
7
|
copy_file 'config/jekyll/atom.xml.tt', 'config/jekyll/atom.xml'
|
8
|
-
|
9
|
-
|
8
|
+
template 'config/jekyll/index.html.tt', 'config/jekyll/index.html'
|
9
|
+
template 'config/jekyll/_layouts/default.html.tt', 'config/jekyll/_layouts/default.html'
|
10
|
+
template 'config/jekyll/_layouts/post.html.tt', 'config/jekyll/_layouts/post.html'
|
10
11
|
copy_file 'config/jekyll/_layouts/page.html.tt', 'config/jekyll/_layouts/page.html'
|
11
|
-
copy_file 'config/jekyll/_layouts/post.html.tt', 'config/jekyll/_layouts/post.html'
|
12
12
|
copy_file 'config/jekyll/_posts/2012-04-25-a-test-post.markdown.tt', 'config/jekyll/_posts/2012-04-25-a-test-post.markdown'
|
13
13
|
copy_file 'config/jekyll/css/screen.css.tt', 'config/jekyll/css/screen.css'
|
14
14
|
copy_file 'config/jekyll/css/syntax.css.tt', 'config/jekyll/css/syntax.css'
|
@@ -16,7 +16,7 @@ class Jekyll::BlogGenerator < Rails::Generators::NamedBase
|
|
16
16
|
copy_file 'tasks/gen.rake.tt', 'lib/tasks/gen.rake'
|
17
17
|
end
|
18
18
|
|
19
|
-
def create_blog source = 'config/jekyll', destination = 'public
|
19
|
+
def create_blog source = 'config/jekyll', destination = File.join('public',"#{name}")
|
20
20
|
options = {
|
21
21
|
'source' => source,
|
22
22
|
'destination' => destination
|
@@ -6,10 +6,10 @@
|
|
6
6
|
<meta name="author" content="Zach Bruhnke" />
|
7
7
|
|
8
8
|
<!-- syntax highlighting CSS -->
|
9
|
-
<link rel="stylesheet" href="
|
9
|
+
<link rel="stylesheet" href="/<%= name %>/css/syntax.css" type="text/css" />
|
10
10
|
|
11
11
|
<!-- Homepage CSS -->
|
12
|
-
<link rel="stylesheet" href="
|
12
|
+
<link rel="stylesheet" href="/<%= name %>/css/screen.css" type="text/css" media="screen, projection" />
|
13
13
|
|
14
14
|
<!-- Typekit -->
|
15
15
|
<script type="text/javascript" src="http://use.typekit.com/jpd0pfm.js"></script>
|
@@ -25,8 +25,8 @@ var WRInitTime=(new Date()).getTime();
|
|
25
25
|
|
26
26
|
<div class="site">
|
27
27
|
<div class="title">
|
28
|
-
<a href="
|
29
|
-
<a class="extra" href="
|
28
|
+
<a href="/<%= name %>">Zach Bruhnke</a>
|
29
|
+
<a class="extra" href="/<%= name %>">Bloggy</a>
|
30
30
|
</div>
|
31
31
|
|
32
32
|
{{ content }}
|
@@ -9,7 +9,7 @@ layout: default
|
|
9
9
|
<h2>Related Posts</h2>
|
10
10
|
<ul class="posts">
|
11
11
|
{% for post in site.related_posts limit:3 %}
|
12
|
-
<li><span>{{ post.date | date_to_string }}</span> » <a href="
|
12
|
+
<li><span>{{ post.date | date_to_string }}</span> » <a href="/<%= name %>{{ post.url }}">{{ post.title }}</a></li>
|
13
13
|
{% endfor %}
|
14
14
|
</ul>
|
15
|
-
</div>
|
15
|
+
</div>
|
@@ -7,7 +7,7 @@ title: Zach Bruhnke
|
|
7
7
|
<h1>Blog Posts</h1>
|
8
8
|
<ul class="posts">
|
9
9
|
{% for post in site.posts %}
|
10
|
-
<li><span>{{ post.date | date_to_string }}</span> » <a href="
|
10
|
+
<li><span>{{ post.date | date_to_string }}</span> » <a href="/<%= name %>{{ post.url }}">{{ post.title }}</a></li>
|
11
11
|
{% endfor %}
|
12
12
|
</ul>
|
13
|
-
</div>
|
13
|
+
</div>
|
@@ -11,14 +11,29 @@ task :np do
|
|
11
11
|
path = "config/jekyll/_posts/#{Date.today}-#{title.downcase.gsub(/[^[:alnum:]]+/, '-')}.markdown"
|
12
12
|
|
13
13
|
if File.exist?(path)
|
14
|
-
|
14
|
+
puts "[WARN] File exists - skipping create"
|
15
15
|
else
|
16
16
|
File.open(path, "w") do |file|
|
17
17
|
file.puts YAML.dump({'layout' => 'post', 'published' => false, 'title' => title})
|
18
18
|
file.puts "---"
|
19
19
|
end
|
20
|
+
|
21
|
+
begin
|
22
|
+
config = {'editor' => 'mate'}
|
23
|
+
if File.exist?("#{Dir.home}/.bloggyrc")
|
24
|
+
config.merge!(YAML.load_file("#{Dir.home}/.bloggyrc"))
|
25
|
+
end
|
26
|
+
rescue TypeError
|
27
|
+
puts "[WARN] Failed to parse editor from .bloggyrc"
|
28
|
+
end
|
29
|
+
|
30
|
+
begin
|
31
|
+
`#{config['editor']} #{path}`
|
32
|
+
rescue Exception
|
33
|
+
puts "[WARN] Could not find editor #{config['editor']} - please edit #{path} manually"
|
34
|
+
end
|
35
|
+
|
20
36
|
end
|
21
|
-
`mate #{path}`
|
22
37
|
|
23
38
|
exit 1
|
24
|
-
end
|
39
|
+
end
|
data/test/test_generate_blog.rb
CHANGED
@@ -11,7 +11,7 @@ require 'rails/generators/actions'
|
|
11
11
|
|
12
12
|
class TestGenerateBlog < Test::Unit::TestCase
|
13
13
|
context "creating blog" do
|
14
|
-
should "
|
14
|
+
should "generate blog" do
|
15
15
|
source = 'config/jekyll'
|
16
16
|
destination = 'blog'
|
17
17
|
#Rails::Generators::Actions.generate('jekyll', '')
|
metadata
CHANGED
@@ -1,19 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bloggy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.2'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Zach Bruhnke
|
9
|
+
- Eric Thiese
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date:
|
13
|
+
date: 2013-02-02 00:00:00.000000000Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: jekyll
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirement: &70100066950060 !ruby/object:Gem::Requirement
|
17
18
|
none: false
|
18
19
|
requirements:
|
19
20
|
- - ! '>='
|
@@ -21,15 +22,10 @@ dependencies:
|
|
21
22
|
version: '0'
|
22
23
|
type: :runtime
|
23
24
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ! '>='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0'
|
25
|
+
version_requirements: *70100066950060
|
30
26
|
- !ruby/object:Gem::Dependency
|
31
27
|
name: rdiscount
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
28
|
+
requirement: &70100066949560 !ruby/object:Gem::Requirement
|
33
29
|
none: false
|
34
30
|
requirements:
|
35
31
|
- - ! '>='
|
@@ -37,15 +33,10 @@ dependencies:
|
|
37
33
|
version: '0'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
|
-
version_requirements:
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
36
|
+
version_requirements: *70100066949560
|
46
37
|
- !ruby/object:Gem::Dependency
|
47
38
|
name: rails
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
39
|
+
requirement: &70100066949140 !ruby/object:Gem::Requirement
|
49
40
|
none: false
|
50
41
|
requirements:
|
51
42
|
- - ! '>='
|
@@ -53,15 +44,10 @@ dependencies:
|
|
53
44
|
version: '0'
|
54
45
|
type: :runtime
|
55
46
|
prerelease: false
|
56
|
-
version_requirements:
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
47
|
+
version_requirements: *70100066949140
|
62
48
|
- !ruby/object:Gem::Dependency
|
63
49
|
name: rack-contrib
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirement: &70100066948540 !ruby/object:Gem::Requirement
|
65
51
|
none: false
|
66
52
|
requirements:
|
67
53
|
- - ! '>='
|
@@ -69,15 +55,10 @@ dependencies:
|
|
69
55
|
version: '0'
|
70
56
|
type: :runtime
|
71
57
|
prerelease: false
|
72
|
-
version_requirements:
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ! '>='
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0'
|
58
|
+
version_requirements: *70100066948540
|
78
59
|
- !ruby/object:Gem::Dependency
|
79
60
|
name: rake
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
61
|
+
requirement: &70100066948020 !ruby/object:Gem::Requirement
|
81
62
|
none: false
|
82
63
|
requirements:
|
83
64
|
- - ~>
|
@@ -85,15 +66,10 @@ dependencies:
|
|
85
66
|
version: '0.9'
|
86
67
|
type: :development
|
87
68
|
prerelease: false
|
88
|
-
version_requirements:
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - ~>
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: '0.9'
|
69
|
+
version_requirements: *70100066948020
|
94
70
|
- !ruby/object:Gem::Dependency
|
95
71
|
name: rdoc
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirement: &70100066947160 !ruby/object:Gem::Requirement
|
97
73
|
none: false
|
98
74
|
requirements:
|
99
75
|
- - ~>
|
@@ -101,15 +77,10 @@ dependencies:
|
|
101
77
|
version: '3.11'
|
102
78
|
type: :development
|
103
79
|
prerelease: false
|
104
|
-
version_requirements:
|
105
|
-
none: false
|
106
|
-
requirements:
|
107
|
-
- - ~>
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '3.11'
|
80
|
+
version_requirements: *70100066947160
|
110
81
|
- !ruby/object:Gem::Dependency
|
111
82
|
name: redgreen
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
83
|
+
requirement: &70100066945900 !ruby/object:Gem::Requirement
|
113
84
|
none: false
|
114
85
|
requirements:
|
115
86
|
- - ~>
|
@@ -117,15 +88,10 @@ dependencies:
|
|
117
88
|
version: '1.2'
|
118
89
|
type: :development
|
119
90
|
prerelease: false
|
120
|
-
version_requirements:
|
121
|
-
none: false
|
122
|
-
requirements:
|
123
|
-
- - ~>
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '1.2'
|
91
|
+
version_requirements: *70100066945900
|
126
92
|
- !ruby/object:Gem::Dependency
|
127
93
|
name: shoulda
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
94
|
+
requirement: &70100066944940 !ruby/object:Gem::Requirement
|
129
95
|
none: false
|
130
96
|
requirements:
|
131
97
|
- - ~>
|
@@ -133,15 +99,10 @@ dependencies:
|
|
133
99
|
version: '2.11'
|
134
100
|
type: :development
|
135
101
|
prerelease: false
|
136
|
-
version_requirements:
|
137
|
-
none: false
|
138
|
-
requirements:
|
139
|
-
- - ~>
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: '2.11'
|
102
|
+
version_requirements: *70100066944940
|
142
103
|
- !ruby/object:Gem::Dependency
|
143
104
|
name: rr
|
144
|
-
requirement: !ruby/object:Gem::Requirement
|
105
|
+
requirement: &70100066944480 !ruby/object:Gem::Requirement
|
145
106
|
none: false
|
146
107
|
requirements:
|
147
108
|
- - ~>
|
@@ -149,31 +110,21 @@ dependencies:
|
|
149
110
|
version: '1.0'
|
150
111
|
type: :development
|
151
112
|
prerelease: false
|
152
|
-
version_requirements:
|
153
|
-
none: false
|
154
|
-
requirements:
|
155
|
-
- - ~>
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
version: '1.0'
|
113
|
+
version_requirements: *70100066944480
|
158
114
|
- !ruby/object:Gem::Dependency
|
159
115
|
name: cucumber
|
160
|
-
requirement: !ruby/object:Gem::Requirement
|
116
|
+
requirement: &70100066944020 !ruby/object:Gem::Requirement
|
161
117
|
none: false
|
162
118
|
requirements:
|
163
|
-
- -
|
119
|
+
- - =
|
164
120
|
- !ruby/object:Gem::Version
|
165
121
|
version: '1.1'
|
166
122
|
type: :development
|
167
123
|
prerelease: false
|
168
|
-
version_requirements:
|
169
|
-
none: false
|
170
|
-
requirements:
|
171
|
-
- - '='
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: '1.1'
|
124
|
+
version_requirements: *70100066944020
|
174
125
|
- !ruby/object:Gem::Dependency
|
175
126
|
name: RedCloth
|
176
|
-
requirement: !ruby/object:Gem::Requirement
|
127
|
+
requirement: &70100066943200 !ruby/object:Gem::Requirement
|
177
128
|
none: false
|
178
129
|
requirements:
|
179
130
|
- - ~>
|
@@ -181,15 +132,10 @@ dependencies:
|
|
181
132
|
version: '4.2'
|
182
133
|
type: :development
|
183
134
|
prerelease: false
|
184
|
-
version_requirements:
|
185
|
-
none: false
|
186
|
-
requirements:
|
187
|
-
- - ~>
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
version: '4.2'
|
135
|
+
version_requirements: *70100066943200
|
190
136
|
- !ruby/object:Gem::Dependency
|
191
137
|
name: rdiscount
|
192
|
-
requirement: !ruby/object:Gem::Requirement
|
138
|
+
requirement: &70100066927960 !ruby/object:Gem::Requirement
|
193
139
|
none: false
|
194
140
|
requirements:
|
195
141
|
- - ~>
|
@@ -197,15 +143,10 @@ dependencies:
|
|
197
143
|
version: '1.6'
|
198
144
|
type: :development
|
199
145
|
prerelease: false
|
200
|
-
version_requirements:
|
201
|
-
none: false
|
202
|
-
requirements:
|
203
|
-
- - ~>
|
204
|
-
- !ruby/object:Gem::Version
|
205
|
-
version: '1.6'
|
146
|
+
version_requirements: *70100066927960
|
206
147
|
- !ruby/object:Gem::Dependency
|
207
148
|
name: redcarpet
|
208
|
-
requirement: !ruby/object:Gem::Requirement
|
149
|
+
requirement: &70100066927420 !ruby/object:Gem::Requirement
|
209
150
|
none: false
|
210
151
|
requirements:
|
211
152
|
- - ~>
|
@@ -213,12 +154,7 @@ dependencies:
|
|
213
154
|
version: '1.9'
|
214
155
|
type: :development
|
215
156
|
prerelease: false
|
216
|
-
version_requirements:
|
217
|
-
none: false
|
218
|
-
requirements:
|
219
|
-
- - ~>
|
220
|
-
- !ruby/object:Gem::Version
|
221
|
-
version: '1.9'
|
157
|
+
version_requirements: *70100066927420
|
222
158
|
description: Add a Jekyll blog to an existing Rails application in seconds
|
223
159
|
email:
|
224
160
|
- z@zbruhnke.com
|
@@ -269,11 +205,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
269
205
|
version: '0'
|
270
206
|
requirements: []
|
271
207
|
rubyforge_project: bloggy
|
272
|
-
rubygems_version: 1.8.
|
208
|
+
rubygems_version: 1.8.6
|
273
209
|
signing_key:
|
274
210
|
specification_version: 3
|
275
211
|
summary: generate a jekyll blog within a rails application quickly and easily. No
|
276
|
-
|
212
|
+
additional nginx config required
|
277
213
|
test_files:
|
278
214
|
- test/helper.rb
|
279
215
|
- test/test_generate_blog.rb
|