bloggy 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Dependencies specified in bloggy.gemspec
4
+ gemspec
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env rake
2
+ require "bundler/gem_tasks"
@@ -0,0 +1,66 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "bloggy/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.authors = ["Zach Bruhnke"]
7
+ s.email = ["z@zbruhnke.com"]
8
+ s.description = %q{Jekyll blog for existing Rails application}
9
+ s.summary = %q{generate jekyll blog within a rails apps}
10
+ s.homepage = "http://github.com/zbruhnke/bloggy"
11
+
12
+ s.files = `git ls-files`.split($\)
13
+ s.executables = s.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
14
+ s.test_files = s.files.grep(%r{^(test|spec|features)/})
15
+ s.name = "bloggy"
16
+ s.require_paths = ["lib"]
17
+ s.version = Bloggy::VERSION
18
+
19
+ s.rubyforge_project = "bloggy"
20
+
21
+ s.files = `git ls-files`.split("\n")
22
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
23
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
24
+ s.require_paths = ["lib"]
25
+
26
+ s.add_dependency "jekyll"
27
+ s.add_dependency "rdiscount"
28
+ s.add_dependency "rails"
29
+ s.add_dependency "rack-contrib"
30
+
31
+ s.add_development_dependency('rake', "~> 0.9")
32
+ s.add_development_dependency('rdoc', "~> 3.11")
33
+ s.add_development_dependency('redgreen', "~> 1.2")
34
+ s.add_development_dependency('shoulda', "~> 2.11")
35
+ s.add_development_dependency('rr', "~> 1.0")
36
+ s.add_development_dependency('cucumber', "1.1")
37
+ s.add_development_dependency('RedCloth', "~> 4.2")
38
+ s.add_development_dependency('rdiscount', "~> 1.6")
39
+ s.add_development_dependency('redcarpet', "~> 1.9")
40
+
41
+ # specify any dependencies here; for example:
42
+ # s.add_development_dependency "rspec"
43
+ # s.add_runtime_dependency "rest-client"
44
+
45
+ # = MANIFEST =
46
+ s.files = %w[
47
+ Gemfile
48
+ Rakefile
49
+ bloggy.gemspec
50
+ lib/generators/jekyll/blog/USAGE
51
+ lib/generators/jekyll/blog/blog_generator.rb
52
+ lib/generators/jekyll/blog/templates/config/jekyll/_config.yml.tt
53
+ lib/generators/jekyll/blog/templates/config/jekyll/_layouts/default.html.tt
54
+ lib/generators/jekyll/blog/templates/config/jekyll/_layouts/page.html.tt
55
+ lib/generators/jekyll/blog/templates/config/jekyll/_layouts/post.html.tt
56
+ lib/generators/jekyll/blog/templates/config/jekyll/_posts/2012-04-25-a-test-post.markdown.tt
57
+ lib/generators/jekyll/blog/templates/config/jekyll/atom.xml.tt
58
+ lib/generators/jekyll/blog/templates/config/jekyll/index.html.tt
59
+ lib/bloggy.rb
60
+ lib/bloggy/version.rb
61
+ test/helper.rb
62
+ test/test_generate_blog.rb
63
+ ]
64
+ # = MANIFEST =
65
+
66
+ end
@@ -0,0 +1,12 @@
1
+ require 'jekyll'
2
+ require 'rails'
3
+ require "bloggy/version"
4
+
5
+ module Jekyll
6
+ module Rails
7
+ end
8
+ end
9
+
10
+ #Rails::Generators.hidden_namespaces << "rails"
11
+ #Rails::Generators.hidden_namespaces << "jekyll:install"
12
+ #Rails::Generators.hidden_namespaces.flatten!
@@ -0,0 +1,3 @@
1
+ module Bloggy
2
+ VERSION = "0.0.3"
3
+ end
@@ -0,0 +1,9 @@
1
+ Description:
2
+ The generator allows you to create a Jekyll blog within your rails app.
3
+ The default [NAME] called blog
4
+
5
+ Example:
6
+ rails generate jekyll:blog [NAME]
7
+
8
+ This will create:
9
+ public/[NAME]
@@ -0,0 +1,36 @@
1
+ class Jekyll::BlogGenerator < Rails::Generators::NamedBase
2
+ source_root File.expand_path('../templates', __FILE__)
3
+
4
+ def copy_config_file
5
+ copy_file 'config/jekyll/_config.yml.tt', 'config/jekyll/_config.yml'
6
+ copy_file 'config/jekyll/atom.xml.tt', 'config/jekyll/atom.xml'
7
+ copy_file 'config/jekyll/index.html.tt', 'config/jekyll/index.html'
8
+ copy_file 'config/jekyll/_layouts/default.html.tt', 'config/jekyll/_layouts/default.html'
9
+ copy_file 'config/jekyll/_layouts/page.html.tt', 'config/jekyll/_layouts/page.html'
10
+ copy_file 'config/jekyll/_layouts/post.html.tt', 'config/jekyll/_layouts/post.html'
11
+ copy_file 'config/jekyll/_posts/2012-04-25-a-test-post.markdown.tt', 'config/jekyll/_posts/2012-04-25-a-test-post.markdown'
12
+ copy_file 'config/jekyll/css/screen.css', 'config/jekyll/css/screen.css'
13
+ copy_file 'config/jekyll/css/syntax.css', 'config/jekyll/css/syntax.css'
14
+ end
15
+
16
+ def create_blog source = 'config/jekyll', destination = 'public/blog'
17
+ options = {
18
+ 'source' => source,
19
+ 'destination' => destination
20
+ }
21
+ source_dir = 'config/jekyll'
22
+ options = Jekyll.configuration(options)
23
+ site = Jekyll::Site.new(options)
24
+
25
+ begin
26
+ site.process
27
+ rescue Jekyll::FatalException => e
28
+ puts
29
+ puts "ERROR: YOUR SITE COULD NOT BE BUILT:"
30
+ puts "------------------------------------"
31
+ puts e.message
32
+ exit(1)
33
+ end
34
+ puts "Successfully generated site: #{source} -> #{destination}"
35
+ end
36
+ end
@@ -0,0 +1,8 @@
1
+ markdown: rdiscount
2
+ permalink: /:title.html
3
+ destination: ../../public/blog
4
+ auto: true
5
+ exclude:
6
+ - Rakefile
7
+ - Gemfile
8
+ - .gitignore
@@ -0,0 +1,70 @@
1
+ <!DOCTYPE html>
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en-us">
3
+ <head>
4
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
5
+ <title>{{ page.title }}</title>
6
+ <meta name="author" content="Zach Bruhnke" />
7
+
8
+ <!-- syntax highlighting CSS -->
9
+ <link rel="stylesheet" href="/blog/css/syntax.css" type="text/css" />
10
+
11
+ <!-- Homepage CSS -->
12
+ <link rel="stylesheet" href="/blog/css/screen.css" type="text/css" media="screen, projection" />
13
+
14
+ <!-- Typekit -->
15
+ <script type="text/javascript" src="http://use.typekit.com/jpd0pfm.js"></script>
16
+ <script type="text/javascript">try{Typekit.load();}catch(e){}</script>
17
+ </head>
18
+ <body>
19
+
20
+ <!-- ClickTale Top part -->
21
+ <script type="text/javascript">
22
+ var WRInitTime=(new Date()).getTime();
23
+ </script>
24
+ <!-- ClickTale end of Top part -->
25
+
26
+ <div class="site">
27
+ <div class="title">
28
+ <a href="/blog">Zach Bruhnke</a>
29
+ <a class="extra" href="/blog">Bloggy</a>
30
+ </div>
31
+
32
+ {{ content }}
33
+
34
+ <div class="footer">
35
+ <div class="contact">
36
+ <p>
37
+ Zach Bruhnke<br />
38
+ Works at <a href="http://engineyard.com">EngineYard</a><br />
39
+ zbruhnke@engineyard.com
40
+ </p>
41
+ </div>
42
+ <div class="contact">
43
+ <p>
44
+ <a href="http://github.com/zbruhnke/">github.com/zbruhnke</a><br />
45
+ <a href="http://twitter.com/zbruhnke/">twitter.com/zbruhnke</a><br />
46
+ <a href="http://facebook.com/zbruhnke">facebook.com/zbruhnke</a>
47
+ </p>
48
+ </div>
49
+ </div>
50
+ </div>
51
+
52
+ <a href="https://github.com/zbruhnke/bloggy"><img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt="Fork me on GitHub" /></a>
53
+
54
+ <!-- ClickTale Bottom part -->
55
+ <div id="ClickTaleDiv" style="display: none;"></div>
56
+ <script type="text/javascript">
57
+ if(document.location.protocol!='https:')
58
+ document.write(unescape("%3Cscript%20src='http://s.clicktale.net/WRb.js'%20type='text/javascript'%3E%3C/script%3E"));
59
+ </script>
60
+ <script type="text/javascript">
61
+ if(typeof ClickTale=='function') ClickTale(206,0.3,"www03");
62
+ </script>
63
+ <!-- ClickTale end of Bottom part -->
64
+
65
+ <!-- Google Analytics -->
66
+
67
+ <!-- Google Analytics end -->
68
+
69
+ </body>
70
+ </html>
@@ -0,0 +1,10 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <div class="post">
5
+ <h3><a href="{{ post.url }}">{{ page.title }}</a></h3>
6
+
7
+ <div class="body">
8
+ {{ content }}
9
+ </div>
10
+ </div>
@@ -0,0 +1,15 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <div id="post">
5
+ {{ content }}
6
+ </div>
7
+
8
+ <div id="related">
9
+ <h2>Related Posts</h2>
10
+ <ul class="posts">
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>
13
+ {% endfor %}
14
+ </ul>
15
+ </div>
@@ -0,0 +1,6 @@
1
+ ---
2
+ layout: post
3
+ title: A Test Post
4
+ ---
5
+
6
+ Zach was bored while his girlfriend and her sister were talking and watching the voice. so this gem was created to generate a blog inside my rails application for my engine yard blog post.
@@ -0,0 +1,26 @@
1
+ ---
2
+ layout: nil
3
+ ---
4
+ <?xml version="1.0" encoding="utf-8"?>
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+
7
+ <title>BLOG_NAME</title>
8
+ <link href="YOUR_URL/atom.xml" rel="self"/>
9
+ <link href="YOUR_URL"/>
10
+ <updated>{{ site.time | date_to_xmlschema }}</updated>
11
+ <id>BLOG_URL</id>
12
+ <author>
13
+ <name>BLOG_NAME</name>
14
+ </author>
15
+
16
+ {% for post in site.posts %}
17
+ <entry>
18
+ <title>{{ post.title }}</title>
19
+ <link href="YOUR_URL{{ post.url }}"/>
20
+ <updated>{{ post.date | date_to_xmlschema }}</updated>
21
+ <id>BLOG_URL{{ post.id }}</id>
22
+ <content type="html">{{ post.content | xml_escape }}</content>
23
+ </entry>
24
+ {% endfor %}
25
+
26
+ </feed>
@@ -0,0 +1,13 @@
1
+ ---
2
+ layout: default
3
+ title: Zach Bruhnke
4
+ ---
5
+
6
+ <div id="home">
7
+ <h1>Blog Posts</h1>
8
+ <ul class="posts">
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>
11
+ {% endfor %}
12
+ </ul>
13
+ </div>
@@ -0,0 +1,44 @@
1
+ # encoding: UTF-8
2
+ =begin
3
+ Created on 2012-04-25
4
+
5
+ @author: Zach Bruhnke <z@zbruhnke.com>
6
+
7
+ =end
8
+
9
+ require 'rubygems'
10
+ require 'yaml'
11
+ YAML::ENGINE.yamler = 'syck'
12
+
13
+ gem 'RedCloth', '>= 4.2.1'
14
+
15
+ require 'jekyll-rails'
16
+
17
+ require 'RedCloth'
18
+ require 'rdiscount'
19
+ require 'kramdown'
20
+ require 'redcarpet'
21
+
22
+ require 'shoulda'
23
+ require 'rr'
24
+
25
+ include Jekyll::Rails
26
+
27
+ # Send STDERR into the void to suppress program output messages
28
+ STDERR.reopen(test(?e, '/dev/null') ? '/dev/null' : 'NUL:')
29
+
30
+ class Test::Unit::TestCase
31
+ include RR::Adapters::TestUnit
32
+
33
+ def dest_dir(*subdirs)
34
+ File.join(File.dirname(__FILE__), 'dest', *subdirs)
35
+ end
36
+
37
+ def source_dir(*subdirs)
38
+ File.join(File.dirname(__FILE__), 'source', *subdirs)
39
+ end
40
+
41
+ def clear_dest
42
+ FileUtils.rm_rf(dest_dir)
43
+ end
44
+ end
@@ -0,0 +1,21 @@
1
+ # encoding: UTF-8
2
+ =begin
3
+ Created on 2012-04-25
4
+
5
+ @author: Zach Bruhnke <z@zbruhnke.com>
6
+
7
+ =end
8
+
9
+ require 'helper'
10
+ require 'rails/generators/actions'
11
+
12
+ class TestGenerateBlog < Test::Unit::TestCase
13
+ context "creating blog" do
14
+ should "genearte blog" do
15
+ source = 'config/jekyll'
16
+ destination = 'blog'
17
+ #Rails::Generators::Actions.generate('jekyll', '')
18
+ Jekyll::Rails::JekyllGenerator.new.copy_initializer_file
19
+ end
20
+ end
21
+ end
metadata ADDED
@@ -0,0 +1,271 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bloggy
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Zach Bruhnke
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-04-27 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: jekyll
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rdiscount
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rails
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rack-contrib
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: rake
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: '0.9'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: '0.9'
94
+ - !ruby/object:Gem::Dependency
95
+ name: rdoc
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: '3.11'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: '3.11'
110
+ - !ruby/object:Gem::Dependency
111
+ name: redgreen
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: '1.2'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: '1.2'
126
+ - !ruby/object:Gem::Dependency
127
+ name: shoulda
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ version: '2.11'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: '2.11'
142
+ - !ruby/object:Gem::Dependency
143
+ name: rr
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ~>
148
+ - !ruby/object:Gem::Version
149
+ version: '1.0'
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ~>
156
+ - !ruby/object:Gem::Version
157
+ version: '1.0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: cucumber
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - '='
164
+ - !ruby/object:Gem::Version
165
+ version: '1.1'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - '='
172
+ - !ruby/object:Gem::Version
173
+ version: '1.1'
174
+ - !ruby/object:Gem::Dependency
175
+ name: RedCloth
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ~>
180
+ - !ruby/object:Gem::Version
181
+ version: '4.2'
182
+ type: :development
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ~>
188
+ - !ruby/object:Gem::Version
189
+ version: '4.2'
190
+ - !ruby/object:Gem::Dependency
191
+ name: rdiscount
192
+ requirement: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ~>
196
+ - !ruby/object:Gem::Version
197
+ version: '1.6'
198
+ type: :development
199
+ prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ~>
204
+ - !ruby/object:Gem::Version
205
+ version: '1.6'
206
+ - !ruby/object:Gem::Dependency
207
+ name: redcarpet
208
+ requirement: !ruby/object:Gem::Requirement
209
+ none: false
210
+ requirements:
211
+ - - ~>
212
+ - !ruby/object:Gem::Version
213
+ version: '1.9'
214
+ type: :development
215
+ prerelease: false
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ~>
220
+ - !ruby/object:Gem::Version
221
+ version: '1.9'
222
+ description: Jekyll blog for existing Rails application
223
+ email:
224
+ - z@zbruhnke.com
225
+ executables: []
226
+ extensions: []
227
+ extra_rdoc_files: []
228
+ files:
229
+ - Gemfile
230
+ - Rakefile
231
+ - bloggy.gemspec
232
+ - lib/generators/jekyll/blog/USAGE
233
+ - lib/generators/jekyll/blog/blog_generator.rb
234
+ - lib/generators/jekyll/blog/templates/config/jekyll/_config.yml.tt
235
+ - lib/generators/jekyll/blog/templates/config/jekyll/_layouts/default.html.tt
236
+ - lib/generators/jekyll/blog/templates/config/jekyll/_layouts/page.html.tt
237
+ - lib/generators/jekyll/blog/templates/config/jekyll/_layouts/post.html.tt
238
+ - lib/generators/jekyll/blog/templates/config/jekyll/_posts/2012-04-25-a-test-post.markdown.tt
239
+ - lib/generators/jekyll/blog/templates/config/jekyll/atom.xml.tt
240
+ - lib/generators/jekyll/blog/templates/config/jekyll/index.html.tt
241
+ - lib/bloggy.rb
242
+ - lib/bloggy/version.rb
243
+ - test/helper.rb
244
+ - test/test_generate_blog.rb
245
+ homepage: http://github.com/zbruhnke/bloggy
246
+ licenses: []
247
+ post_install_message:
248
+ rdoc_options: []
249
+ require_paths:
250
+ - lib
251
+ required_ruby_version: !ruby/object:Gem::Requirement
252
+ none: false
253
+ requirements:
254
+ - - ! '>='
255
+ - !ruby/object:Gem::Version
256
+ version: '0'
257
+ required_rubygems_version: !ruby/object:Gem::Requirement
258
+ none: false
259
+ requirements:
260
+ - - ! '>='
261
+ - !ruby/object:Gem::Version
262
+ version: '0'
263
+ requirements: []
264
+ rubyforge_project: bloggy
265
+ rubygems_version: 1.8.22
266
+ signing_key:
267
+ specification_version: 3
268
+ summary: generate jekyll blog within a rails apps
269
+ test_files:
270
+ - test/helper.rb
271
+ - test/test_generate_blog.rb