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 CHANGED
@@ -16,3 +16,4 @@ test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
18
  .DS_Store
19
+ .idea
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 in textmate as default but feel free to change it to use the editor of your choice. To use it just run
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
@@ -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 additonal nginx config required}
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($\)
@@ -1,3 +1,3 @@
1
1
  module Bloggy
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2"
3
3
  end
@@ -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
- copy_file 'config/jekyll/_config.yml.tt', 'config/jekyll/_config.yml'
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
- copy_file 'config/jekyll/index.html.tt', 'config/jekyll/index.html'
9
- copy_file 'config/jekyll/_layouts/default.html.tt', 'config/jekyll/_layouts/default.html'
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/blog'
19
+ def create_blog source = 'config/jekyll', destination = File.join('public',"#{name}")
20
20
  options = {
21
21
  'source' => source,
22
22
  'destination' => destination
@@ -1,6 +1,6 @@
1
1
  markdown: rdiscount
2
2
  permalink: /:title.html
3
- destination: ../../public/blog
3
+ destination: ../../public/<%= name %>
4
4
  auto: true
5
5
  exclude:
6
6
  - Rakefile
@@ -6,10 +6,10 @@
6
6
  <meta name="author" content="Zach Bruhnke" />
7
7
 
8
8
  <!-- syntax highlighting CSS -->
9
- <link rel="stylesheet" href="/blog/css/syntax.css" type="text/css" />
9
+ <link rel="stylesheet" href="/<%= name %>/css/syntax.css" type="text/css" />
10
10
 
11
11
  <!-- Homepage CSS -->
12
- <link rel="stylesheet" href="/blog/css/screen.css" type="text/css" media="screen, projection" />
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="/blog">Zach Bruhnke</a>
29
- <a class="extra" href="/blog">Bloggy</a>
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> &raquo; <a href="/blog{{ post.url }}">{{ post.title }}</a></li>
12
+ <li><span>{{ post.date | date_to_string }}</span> &raquo; <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> &raquo; <a href="/blog{{ post.url }}">{{ post.title }}</a></li>
10
+ <li><span>{{ post.date | date_to_string }}</span> &raquo; <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
- puts "[WARN] File exists - skipping create"
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
@@ -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 "genearte blog" do
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.1.1
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: 2012-05-04 00:00:00.000000000 Z
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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: !ruby/object:Gem::Requirement
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.22
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
- additonal nginx config required
212
+ additional nginx config required
277
213
  test_files:
278
214
  - test/helper.rb
279
215
  - test/test_generate_blog.rb