schnitzelpress 0.0.13 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,8 +14,8 @@ $(document).ready(function() {
14
14
  $('html').addClass('loading');
15
15
  });
16
16
 
17
- $('a#browser_id').click(function() {
17
+ $('a#browser_id').click(function(evt) {
18
+ evt.preventDefault();
18
19
  loginViaEmail();
19
- return false;
20
20
  });
21
21
  });
@@ -0,0 +1 @@
1
+ moo from schnitzelpress
@@ -5,7 +5,7 @@ require 'haml'
5
5
  require 'sass'
6
6
  require 'redcarpet'
7
7
  require 'schnitzelstyle'
8
- require 'rack-cache'
8
+ require 'rack/contrib'
9
9
  require 'mongoid'
10
10
  require 'chronic'
11
11
 
@@ -30,10 +30,16 @@ Mongoid.logger.level = 3
30
30
  module SchnitzelPress
31
31
  mattr_reader :mongo_uri
32
32
 
33
- def self.mongo_uri=(uri)
34
- Mongoid::Config.from_hash("uri" => uri)
35
- SchnitzelPress::Post.create_indexes
36
- @@mongo_uri = uri
33
+ class << self
34
+ def mongo_uri=(uri)
35
+ Mongoid::Config.from_hash("uri" => uri)
36
+ SchnitzelPress::Post.create_indexes
37
+ @@mongo_uri = uri
38
+ end
39
+
40
+ def env
41
+ (ENV['RACK_ENV'] || 'development').inquiry
42
+ end
37
43
  end
38
44
  end
39
45
 
@@ -11,7 +11,7 @@ module SchnitzelPress
11
11
 
12
12
  post '/auth/:provider/callback' do
13
13
  auth = request.env['omniauth.auth']
14
- session[:user] = "#{auth['provider']}:#{auth['uid']}"
14
+ session[:auth] = {:provider => auth['provider'], :uid => auth['uid']}
15
15
  redirect admin_logged_in? ? '/admin/' : '/'
16
16
  end
17
17
 
@@ -20,7 +20,7 @@ module SchnitzelPress
20
20
  end
21
21
 
22
22
  get '/logout' do
23
- session[:user] = nil
23
+ session[:auth] = nil
24
24
  redirect '/login'
25
25
  end
26
26
  end
@@ -7,6 +7,8 @@ module SchnitzelPress
7
7
  get '/' do
8
8
  @show_description = true
9
9
  if @post = Post.published.pages.where(:slugs => 'home').first
10
+ extra_posts = Post.latest.limit(5)
11
+ @extra_posts = ['From the Blog:', extra_posts] if extra_posts.any?
10
12
  render_post
11
13
  else
12
14
  render_blog
@@ -33,7 +35,12 @@ module SchnitzelPress
33
35
  scss :blog
34
36
  end
35
37
 
38
+ # /posts.atom is now deprecated.
36
39
  get '/posts.atom' do
40
+ redirect '/blog.atom', 301
41
+ end
42
+
43
+ get '/blog.atom' do
37
44
  cache_for 3.minutes
38
45
  @posts = Post.latest.limit(10)
39
46
  content_type 'application/atom+xml; charset=utf-8'
@@ -41,7 +48,7 @@ module SchnitzelPress
41
48
  end
42
49
 
43
50
  get '/feed/?' do
44
- redirect settings.feed_url
51
+ redirect settings.feed_url, 307
45
52
  end
46
53
 
47
54
  get %r{^/(\d{4})/(\d{1,2})/(\d{1,2})/?$} do
@@ -82,7 +89,7 @@ module SchnitzelPress
82
89
  if enforce_canonical_url && request.path != url_for(@post)
83
90
  redirect url_for(@post)
84
91
  else
85
- @show_description = (@post.slug == 'home')
92
+ @show_description = @post.home_page?
86
93
  haml :post
87
94
  end
88
95
  else
@@ -1,11 +1,14 @@
1
1
  module SchnitzelPress
2
2
  class App < Sinatra::Base
3
+ STATIC_PATHS = ["/favicon.ico", "/img", "/js"]
4
+
3
5
  set :views, ['./views/', File.expand_path('../../views/', __FILE__)]
4
6
  set :public_folder, File.expand_path('../../public/', __FILE__)
5
7
 
6
- use SchnitzelPress::Static
7
8
  use Rack::ShowExceptions
8
- use Rack::Cache
9
+ use Rack::StaticCache,
10
+ :urls => STATIC_PATHS,
11
+ :root => File.expand_path('../../public/', __FILE__)
9
12
  use Rack::MethodOverride
10
13
  use Rack::Session::Cookie
11
14
 
@@ -26,7 +29,7 @@ module SchnitzelPress
26
29
  set :twitter_id, nil
27
30
  set :footer, ""
28
31
  set :administrator, nil
29
- set :feed_url, '/posts.atom'
32
+ set :feed_url, '/blog.atom'
30
33
 
31
34
  disable :protection
32
35
  set :logging, true
@@ -39,5 +42,12 @@ module SchnitzelPress
39
42
  not_found do
40
43
  haml :"404"
41
44
  end
45
+
46
+ def self.with_local_files
47
+ Rack::Cascade.new([
48
+ Rack::StaticCache.new(self, :urls => STATIC_PATHS, :root => './public'),
49
+ self
50
+ ])
51
+ end
42
52
  end
43
53
  end
@@ -1,5 +1,9 @@
1
1
  module SchnitzelPress
2
2
  module Helpers
3
+ def h(*args)
4
+ escape_html(*args)
5
+ end
6
+
3
7
  def find_template(views, name, engine, &block)
4
8
  Array(views).each { |v| super(v, name, engine, &block) }
5
9
  end
@@ -36,11 +40,11 @@ module SchnitzelPress
36
40
  end
37
41
 
38
42
  def user_logged_in?
39
- session[:user].present?
43
+ session[:auth].present?
40
44
  end
41
45
 
42
46
  def admin_logged_in?
43
- user_logged_in? && session[:user] == settings.administrator
47
+ user_logged_in? && session[:auth] == settings.administrator
44
48
  end
45
49
 
46
50
  def admin_only!
@@ -63,6 +67,7 @@ module SchnitzelPress
63
67
 
64
68
  options[:type] ||= case options[:value]
65
69
  when DateTime, Time, Date then :datetime
70
+ when Boolean, FalseClass, TrueClass then :boolean
66
71
  else :text
67
72
  end
68
73
 
@@ -58,7 +58,7 @@ module SchnitzelPress
58
58
  before_save :update_body_html
59
59
 
60
60
  def disqus_identifier
61
- slug
61
+ "post-#{id}"
62
62
  end
63
63
 
64
64
  def slug
@@ -161,8 +161,16 @@ module SchnitzelPress
161
161
  published_at.day
162
162
  end
163
163
 
164
+ def home_page?
165
+ slug == 'home'
166
+ end
167
+
164
168
  def to_url
165
- published_at.present? ? "/#{year}/#{month}/#{day}/#{slug}/" : "/#{slug}/"
169
+ if home_page?
170
+ '/'
171
+ else
172
+ published_at.present? ? "/#{year}/#{month}/#{day}/#{slug}/" : "/#{slug}/"
173
+ end
166
174
  end
167
175
 
168
176
  def disqus?
@@ -2,12 +2,9 @@ require 'schnitzelpress'
2
2
 
3
3
  desc 'Run the SchnitzelPress console'
4
4
  task :console do
5
- require 'irb'
6
- require 'wirble'
5
+ require 'pry'
7
6
  ARGV.clear
8
- Wirble.init
9
- Wirble.colorize
10
- IRB.start
7
+ pry
11
8
  end
12
9
 
13
10
  namespace :db do
@@ -1,3 +1,3 @@
1
1
  module SchnitzelPress
2
- VERSION = "0.0.13"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -3,3 +3,4 @@
3
3
  .powenv
4
4
  .sass-cache
5
5
  tmp
6
+ .DS_Store
@@ -1,19 +1,10 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ gem 'unicorn', '~> 4.2.0'
4
+ gem 'rack-cache', '~> 1.1.0', :require => 'rack/cache'
5
+ gem 'schnitzelpress', '~> 0.1.0'
6
+
3
7
  group :development do
4
- gem 'shotgun'
5
- gem 'heroku'
8
+ gem 'shotgun', '~> 0.9.0'
9
+ gem 'heroku', '~> 2.20.0'
6
10
  end
7
-
8
- # For now, we're going to be using the development versions of
9
- # schnitzelstyle and schnitzelpress. I told you you were about
10
- # to live dangerously!
11
- #
12
- gem 'schnitzelstyle', :git => 'git://github.com/hmans/schnitzelstyle.git'
13
- gem 'schnitzelpress', :git => 'git://github.com/hmans/schnitzelpress.git'
14
-
15
- # If you'd prefer to use the officially released versions,
16
- # use these instead:
17
- #
18
- # gem 'schnitzelstyle'
19
- # gem 'schnitzelpress'
@@ -0,0 +1 @@
1
+ web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb
@@ -3,19 +3,25 @@ require 'rubygems'
3
3
  require 'bundler'
4
4
  Bundler.require
5
5
 
6
- SchnitzelPress.mongo_uri =
7
- ENV['MONGOLAB_URI'] ||
8
- ENV['MONGOHQ_URL'] ||
9
- ENV['MONGO_URL'] ||
10
- 'mongodb://localhost/<%= @name %>' # used for local development
6
+ SchnitzelPress.mongo_uri = case SchnitzelPress.env
7
+ when "development" then 'mongodb://localhost/<%= @name %>'
8
+ when "production" then ENV['MONGOLAB_URI'] || ENV['MONGOHQ_URL'] || ENV['MONGO_URL']
9
+ end
11
10
 
12
11
  class App < SchnitzelPress::App
13
12
  configure do
14
13
  set :blog_title, "<%= @name %>"
15
14
  set :blog_description, "A new blog powered by SchnitzelPress."
16
15
  set :author_name, "Your Name"
17
- set :footer, "powered by [SchnitzelPress](http://schnitzelpress.org)"
18
- set :administrator, "browser_id:your@email.com"
16
+ set :footer, "powered by [SchnitzelPress #{SchnitzelPress::VERSION}](http://schnitzelpress.org)"
17
+
18
+ # Set :uid to your email address. Only the user with this email address
19
+ # will be able to log into the administration section of your blog.
20
+ #
21
+ set :administrator, {
22
+ :provider => "browser_id", # don't change this. (for now.)
23
+ :uid => "your@email.com"
24
+ }
19
25
 
20
26
  # The following are optional:
21
27
  #
@@ -1,2 +1,18 @@
1
+ $stdout.sync = true
1
2
  require File.expand_path("../app.rb", __FILE__)
2
- run App
3
+
4
+ # Add some caching. This is designed to work out of the box
5
+ # on Heroku, but feel free to change this if eg. you'd prefer
6
+ # to use Memcache.
7
+ #
8
+ if SchnitzelPress.env.production?
9
+ use Rack::Cache, {
10
+ :verbose => true,
11
+ :metastore => URI.encode("file:/tmp/cache/meta"),
12
+ :entitystore => URI.encode("file:/tmp/cache/body")
13
+ }
14
+ end
15
+
16
+ # Run the app, with support for files in ./public/
17
+ #
18
+ run App.with_local_files
@@ -0,0 +1,5 @@
1
+ # Amount of workers to spin up. Don't overdo it. :)
2
+ worker_processes 3
3
+
4
+ # Kill workers hanging for more than 30 seconds.
5
+ timeout 30
@@ -1,7 +1,7 @@
1
1
  %section
2
2
  %h1 Administration
3
3
  %p
4
- You're logged in as #{session[:user]}.
4
+ You're logged in as #{session[:auth][:uid]}.
5
5
  %ul.admin
6
6
  %li
7
7
  %a.green.button{:href => '/admin/new'} Create new Post
@@ -1,3 +1,2 @@
1
1
  %section
2
- %h1 Edit Post
3
2
  = partial 'post_form', :post => @post
@@ -1,3 +1,2 @@
1
1
  %section
2
- %h1 New Post
3
2
  = partial 'post_form', :post => @post
data/lib/views/login.haml CHANGED
@@ -5,7 +5,7 @@
5
5
  Please use one of the following services to log in:
6
6
 
7
7
  %p
8
- %a.button#browser_id{:href => '#'} Log in with BrowserID
8
+ %a.button#browser_id{:href => '/auth/browser_id'} Log in with BrowserID
9
9
 
10
10
  %form{:method => 'post', :action => '/auth/browser_id/callback', :noValidate => 'noValidate'}
11
11
  %input{:type => 'hidden', :name => 'assertion'}
@@ -8,4 +8,4 @@
8
8
  %li
9
9
  %a.button{:href => url_for(post)} view
10
10
  %li
11
- = post.title || ("%s..." % html_escape(post.body.first(50)))
11
+ = h (post.title || ("%s..." % post.body.first(50)))
@@ -19,6 +19,11 @@
19
19
  - when :datetime
20
20
  %input{field_options.merge(:value => options[:value].to_formatted_s(:db))}
21
21
 
22
+ - when :boolean
23
+ %input{field_options.merge(:type => 'hidden', :value => "0")}
24
+ %input{field_options.merge(:type => 'checkbox', :value => "1", :checked => options[:value])}
25
+ %span.value Enable
26
+
22
27
  - else # normal inputs
23
28
  %input{field_options.merge(:value => options[:value])}
24
29
 
@@ -10,7 +10,7 @@
10
10
  %header
11
11
  - if show_title
12
12
  %h1
13
- %a{:href => post.link || post.to_url}= post.title
13
+ %a{:href => post.link || post.to_url}= h post.title
14
14
  - if post.link_post?
15
15
  %span.link-arrow ➝
16
16
 
@@ -11,8 +11,10 @@
11
11
  = form_field @post, :slug, :label => 'URL Slug', :placeholder => "Your post's URL slug.", :hint => @post.previous_slugs.any? ? "Previous slugs: #{@post.previous_slugs.join ', '}" : nil
12
12
  .four.columns
13
13
  = form_field @post, :published_at, :placeholder => 'Try "now", "in 3 days", ...'
14
- .four.columns
14
+ .two.columns
15
15
  = form_field @post, :status, :type => :dropdown, :options => [[:draft, "Draft"], [:published, "Published"]]
16
+ .two.columns
17
+ = form_field @post, :disqus
16
18
 
17
19
  .buttons
18
20
  %input{:type => 'submit', :value => @post.new_record? ? 'Create Post' : 'Update Post' }
data/lib/views/post.haml CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  = partial @post, :complete => true
4
4
 
5
+ - if @extra_posts
6
+ %section.extra_posts
7
+ %h1
8
+ %a{href: '/blog'}= @extra_posts.first
9
+ %ul
10
+ - for post in @extra_posts.second
11
+ %li
12
+ %a{:href => post.to_url}= h post.title
13
+
5
14
  - if show_disqus? && @post.disqus?
6
15
  %section.disqus
7
16
  = partial 'disqus', :disqus_identifier => @post.disqus_identifier
@@ -1,4 +1,6 @@
1
- // load stuff!
1
+ // $font-1: 16px "Palatino","Georgia",serif !default;
2
+ // $font-2: 14px "Lucida Grande","Tahoma",sans-serif !default;
3
+
2
4
  @import 'schnitzelstyle/complete';
3
5
 
4
6
  /* background image */
@@ -64,9 +66,9 @@ ul.admin-post-list {
64
66
  // welcome message
65
67
  section.posts #welcome {
66
68
  font: $font-header;
67
- font-size: 2em;
69
+ font-size: 1.8em;
68
70
  color: rgba($color-text, 0.5);
69
- p { line-height: 1.3; }
71
+ p { text-align: left; line-height: 1.3; }
70
72
  strong { color: $color-text; }
71
73
  p:first-child { font-size: 130%; }
72
74
  span.heart { color: #c66; }
@@ -16,10 +16,10 @@ Gem::Specification.new do |gem|
16
16
  gem.version = SchnitzelPress::VERSION
17
17
 
18
18
  # base dependencies
19
- gem.add_dependency 'rack', '~> 1.4.0'
19
+ gem.add_dependency 'rack', '~> 1.4.1'
20
+ gem.add_dependency 'rack-contrib', '~> 1.1.0'
20
21
  gem.add_dependency 'sinatra', '~> 1.3.2'
21
22
  gem.add_dependency 'activesupport', '~> 3.2.0'
22
- gem.add_dependency 'rack-cache', '~> 1.1.0'
23
23
 
24
24
  # database related
25
25
  gem.add_dependency 'mongo', '~> 1.5.2'
@@ -35,7 +35,7 @@ Gem::Specification.new do |gem|
35
35
  gem.add_dependency 'sass', '~> 3.1.15'
36
36
  gem.add_dependency 'redcarpet', '~> 2.1.0'
37
37
  gem.add_dependency 'coderay', '~> 1.0.5'
38
- gem.add_dependency 'schnitzelstyle', '~> 0.0.10'
38
+ gem.add_dependency 'schnitzelstyle', '~> 0.1.0'
39
39
  gem.add_dependency 'i18n', '~> 0.6.0'
40
40
  gem.add_dependency 'tilt', '~> 1.3.0'
41
41
  gem.add_dependency 'ruby-oembed', '~> 0.8.5'
@@ -43,7 +43,7 @@ Gem::Specification.new do |gem|
43
43
  # CLI related
44
44
  gem.add_dependency 'thor', '~> 0.14.6'
45
45
  gem.add_dependency 'rake', '~> 0.9.2.2'
46
- gem.add_dependency 'wirble', '~> 0.1.3'
46
+ gem.add_dependency 'pry', '~> 0.9.8'
47
47
 
48
48
  # misc
49
49
  gem.add_dependency 'chronic', '~> 0.6.7'
data/spec/app_spec.rb CHANGED
@@ -42,7 +42,7 @@ describe SchnitzelPress::App do
42
42
 
43
43
  subject { last_response }
44
44
  it { should be_redirect }
45
- its(:status) { should == 302 }
45
+ its(:status) { should == 307 }
46
46
  specify { subject["Location"].should == 'http://feeds.feedburner.com/example_org' }
47
47
  end
48
48
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schnitzelpress
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,55 +9,55 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-24 00:00:00.000000000 Z
12
+ date: 2012-02-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rack
16
- requirement: &70208250907460 !ruby/object:Gem::Requirement
16
+ requirement: &70364693327260 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 1.4.0
21
+ version: 1.4.1
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70208250907460
24
+ version_requirements: *70364693327260
25
25
  - !ruby/object:Gem::Dependency
26
- name: sinatra
27
- requirement: &70208250906960 !ruby/object:Gem::Requirement
26
+ name: rack-contrib
27
+ requirement: &70364693326460 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
31
31
  - !ruby/object:Gem::Version
32
- version: 1.3.2
32
+ version: 1.1.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70208250906960
35
+ version_requirements: *70364693326460
36
36
  - !ruby/object:Gem::Dependency
37
- name: activesupport
38
- requirement: &70208250906500 !ruby/object:Gem::Requirement
37
+ name: sinatra
38
+ requirement: &70364693325520 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
42
42
  - !ruby/object:Gem::Version
43
- version: 3.2.0
43
+ version: 1.3.2
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70208250906500
46
+ version_requirements: *70364693325520
47
47
  - !ruby/object:Gem::Dependency
48
- name: rack-cache
49
- requirement: &70208250906040 !ruby/object:Gem::Requirement
48
+ name: activesupport
49
+ requirement: &70364693325060 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: 1.1.0
54
+ version: 3.2.0
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70208250906040
57
+ version_requirements: *70364693325060
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: mongo
60
- requirement: &70208250905580 !ruby/object:Gem::Requirement
60
+ requirement: &70364693324480 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.5.2
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70208250905580
68
+ version_requirements: *70364693324480
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mongoid
71
- requirement: &70208250905060 !ruby/object:Gem::Requirement
71
+ requirement: &70364693324020 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 2.4.0
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *70208250905060
79
+ version_requirements: *70364693324020
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: bson_ext
82
- requirement: &70208250904520 !ruby/object:Gem::Requirement
82
+ requirement: &70364693323560 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 1.5.0
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *70208250904520
90
+ version_requirements: *70364693323560
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: omniauth
93
- requirement: &70208250903980 !ruby/object:Gem::Requirement
93
+ requirement: &70364693323060 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ~>
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 1.0.2
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *70208250903980
101
+ version_requirements: *70364693323060
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: omniauth-browserid
104
- requirement: &70208250903280 !ruby/object:Gem::Requirement
104
+ requirement: &70364693322580 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ~>
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: 0.0.1
110
110
  type: :runtime
111
111
  prerelease: false
112
- version_requirements: *70208250903280
112
+ version_requirements: *70364693322580
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: haml
115
- requirement: &70208250902260 !ruby/object:Gem::Requirement
115
+ requirement: &70364693322120 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ~>
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: 3.1.4
121
121
  type: :runtime
122
122
  prerelease: false
123
- version_requirements: *70208250902260
123
+ version_requirements: *70364693322120
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: sass
126
- requirement: &70208250901800 !ruby/object:Gem::Requirement
126
+ requirement: &70364693321660 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ~>
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: 3.1.15
132
132
  type: :runtime
133
133
  prerelease: false
134
- version_requirements: *70208250901800
134
+ version_requirements: *70364693321660
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: redcarpet
137
- requirement: &70208250901300 !ruby/object:Gem::Requirement
137
+ requirement: &70364693318120 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ~>
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: 2.1.0
143
143
  type: :runtime
144
144
  prerelease: false
145
- version_requirements: *70208250901300
145
+ version_requirements: *70364693318120
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: coderay
148
- requirement: &70208250900580 !ruby/object:Gem::Requirement
148
+ requirement: &70364693317660 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ~>
@@ -153,21 +153,21 @@ dependencies:
153
153
  version: 1.0.5
154
154
  type: :runtime
155
155
  prerelease: false
156
- version_requirements: *70208250900580
156
+ version_requirements: *70364693317660
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: schnitzelstyle
159
- requirement: &70208250899920 !ruby/object:Gem::Requirement
159
+ requirement: &70364693657720 !ruby/object:Gem::Requirement
160
160
  none: false
161
161
  requirements:
162
162
  - - ~>
163
163
  - !ruby/object:Gem::Version
164
- version: 0.0.10
164
+ version: 0.1.0
165
165
  type: :runtime
166
166
  prerelease: false
167
- version_requirements: *70208250899920
167
+ version_requirements: *70364693657720
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: i18n
170
- requirement: &70208250899200 !ruby/object:Gem::Requirement
170
+ requirement: &70364693599120 !ruby/object:Gem::Requirement
171
171
  none: false
172
172
  requirements:
173
173
  - - ~>
@@ -175,10 +175,10 @@ dependencies:
175
175
  version: 0.6.0
176
176
  type: :runtime
177
177
  prerelease: false
178
- version_requirements: *70208250899200
178
+ version_requirements: *70364693599120
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: tilt
181
- requirement: &70208250898300 !ruby/object:Gem::Requirement
181
+ requirement: &70364693440740 !ruby/object:Gem::Requirement
182
182
  none: false
183
183
  requirements:
184
184
  - - ~>
@@ -186,10 +186,10 @@ dependencies:
186
186
  version: 1.3.0
187
187
  type: :runtime
188
188
  prerelease: false
189
- version_requirements: *70208250898300
189
+ version_requirements: *70364693440740
190
190
  - !ruby/object:Gem::Dependency
191
191
  name: ruby-oembed
192
- requirement: &70208250897800 !ruby/object:Gem::Requirement
192
+ requirement: &70364693375580 !ruby/object:Gem::Requirement
193
193
  none: false
194
194
  requirements:
195
195
  - - ~>
@@ -197,10 +197,10 @@ dependencies:
197
197
  version: 0.8.5
198
198
  type: :runtime
199
199
  prerelease: false
200
- version_requirements: *70208250897800
200
+ version_requirements: *70364693375580
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: thor
203
- requirement: &70208250897340 !ruby/object:Gem::Requirement
203
+ requirement: &70364693362520 !ruby/object:Gem::Requirement
204
204
  none: false
205
205
  requirements:
206
206
  - - ~>
@@ -208,10 +208,10 @@ dependencies:
208
208
  version: 0.14.6
209
209
  type: :runtime
210
210
  prerelease: false
211
- version_requirements: *70208250897340
211
+ version_requirements: *70364693362520
212
212
  - !ruby/object:Gem::Dependency
213
213
  name: rake
214
- requirement: &70208250896700 !ruby/object:Gem::Requirement
214
+ requirement: &70364693365380 !ruby/object:Gem::Requirement
215
215
  none: false
216
216
  requirements:
217
217
  - - ~>
@@ -219,21 +219,21 @@ dependencies:
219
219
  version: 0.9.2.2
220
220
  type: :runtime
221
221
  prerelease: false
222
- version_requirements: *70208250896700
222
+ version_requirements: *70364693365380
223
223
  - !ruby/object:Gem::Dependency
224
- name: wirble
225
- requirement: &70208250896020 !ruby/object:Gem::Requirement
224
+ name: pry
225
+ requirement: &70364693367760 !ruby/object:Gem::Requirement
226
226
  none: false
227
227
  requirements:
228
228
  - - ~>
229
229
  - !ruby/object:Gem::Version
230
- version: 0.1.3
230
+ version: 0.9.8
231
231
  type: :runtime
232
232
  prerelease: false
233
- version_requirements: *70208250896020
233
+ version_requirements: *70364693367760
234
234
  - !ruby/object:Gem::Dependency
235
235
  name: chronic
236
- requirement: &70208250895360 !ruby/object:Gem::Requirement
236
+ requirement: &70364693298160 !ruby/object:Gem::Requirement
237
237
  none: false
238
238
  requirements:
239
239
  - - ~>
@@ -241,10 +241,10 @@ dependencies:
241
241
  version: 0.6.7
242
242
  type: :runtime
243
243
  prerelease: false
244
- version_requirements: *70208250895360
244
+ version_requirements: *70364693298160
245
245
  - !ruby/object:Gem::Dependency
246
246
  name: rspec
247
- requirement: &70208250894900 !ruby/object:Gem::Requirement
247
+ requirement: &70364693266620 !ruby/object:Gem::Requirement
248
248
  none: false
249
249
  requirements:
250
250
  - - ! '>='
@@ -252,10 +252,10 @@ dependencies:
252
252
  version: 2.8.0
253
253
  type: :development
254
254
  prerelease: false
255
- version_requirements: *70208250894900
255
+ version_requirements: *70364693266620
256
256
  - !ruby/object:Gem::Dependency
257
257
  name: rspec-html-matchers
258
- requirement: &70208250894520 !ruby/object:Gem::Requirement
258
+ requirement: &70364693176100 !ruby/object:Gem::Requirement
259
259
  none: false
260
260
  requirements:
261
261
  - - ! '>='
@@ -263,10 +263,10 @@ dependencies:
263
263
  version: '0'
264
264
  type: :development
265
265
  prerelease: false
266
- version_requirements: *70208250894520
266
+ version_requirements: *70364693176100
267
267
  - !ruby/object:Gem::Dependency
268
268
  name: database_cleaner
269
- requirement: &70208250894020 !ruby/object:Gem::Requirement
269
+ requirement: &70364693113140 !ruby/object:Gem::Requirement
270
270
  none: false
271
271
  requirements:
272
272
  - - ! '>='
@@ -274,10 +274,10 @@ dependencies:
274
274
  version: '0'
275
275
  type: :development
276
276
  prerelease: false
277
- version_requirements: *70208250894020
277
+ version_requirements: *70364693113140
278
278
  - !ruby/object:Gem::Dependency
279
279
  name: factory_girl
280
- requirement: &70208250893520 !ruby/object:Gem::Requirement
280
+ requirement: &70364692973700 !ruby/object:Gem::Requirement
281
281
  none: false
282
282
  requirements:
283
283
  - - ~>
@@ -285,10 +285,10 @@ dependencies:
285
285
  version: 2.6.0
286
286
  type: :development
287
287
  prerelease: false
288
- version_requirements: *70208250893520
288
+ version_requirements: *70364692973700
289
289
  - !ruby/object:Gem::Dependency
290
290
  name: ffaker
291
- requirement: &70208250893100 !ruby/object:Gem::Requirement
291
+ requirement: &70364692843020 !ruby/object:Gem::Requirement
292
292
  none: false
293
293
  requirements:
294
294
  - - ! '>='
@@ -296,10 +296,10 @@ dependencies:
296
296
  version: '0'
297
297
  type: :development
298
298
  prerelease: false
299
- version_requirements: *70208250893100
299
+ version_requirements: *70364692843020
300
300
  - !ruby/object:Gem::Dependency
301
301
  name: timecop
302
- requirement: &70208250892620 !ruby/object:Gem::Requirement
302
+ requirement: &70364692622600 !ruby/object:Gem::Requirement
303
303
  none: false
304
304
  requirements:
305
305
  - - ! '>='
@@ -307,10 +307,10 @@ dependencies:
307
307
  version: '0'
308
308
  type: :development
309
309
  prerelease: false
310
- version_requirements: *70208250892620
310
+ version_requirements: *70364692622600
311
311
  - !ruby/object:Gem::Dependency
312
312
  name: shotgun
313
- requirement: &70208250892200 !ruby/object:Gem::Requirement
313
+ requirement: &70364688380280 !ruby/object:Gem::Requirement
314
314
  none: false
315
315
  requirements:
316
316
  - - ! '>='
@@ -318,10 +318,10 @@ dependencies:
318
318
  version: '0'
319
319
  type: :development
320
320
  prerelease: false
321
- version_requirements: *70208250892200
321
+ version_requirements: *70364688380280
322
322
  - !ruby/object:Gem::Dependency
323
323
  name: rack-test
324
- requirement: &70208250891780 !ruby/object:Gem::Requirement
324
+ requirement: &70364679963760 !ruby/object:Gem::Requirement
325
325
  none: false
326
326
  requirements:
327
327
  - - ! '>='
@@ -329,10 +329,10 @@ dependencies:
329
329
  version: '0'
330
330
  type: :development
331
331
  prerelease: false
332
- version_requirements: *70208250891780
332
+ version_requirements: *70364679963760
333
333
  - !ruby/object:Gem::Dependency
334
334
  name: watchr
335
- requirement: &70208250884560 !ruby/object:Gem::Requirement
335
+ requirement: &70364679962400 !ruby/object:Gem::Requirement
336
336
  none: false
337
337
  requirements:
338
338
  - - ! '>='
@@ -340,10 +340,10 @@ dependencies:
340
340
  version: '0'
341
341
  type: :development
342
342
  prerelease: false
343
- version_requirements: *70208250884560
343
+ version_requirements: *70364679962400
344
344
  - !ruby/object:Gem::Dependency
345
345
  name: awesome_print
346
- requirement: &70208250884140 !ruby/object:Gem::Requirement
346
+ requirement: &70364679961520 !ruby/object:Gem::Requirement
347
347
  none: false
348
348
  requirements:
349
349
  - - ! '>='
@@ -351,7 +351,7 @@ dependencies:
351
351
  version: '0'
352
352
  type: :development
353
353
  prerelease: false
354
- version_requirements: *70208250884140
354
+ version_requirements: *70364679961520
355
355
  description: A lean, mean blogging machine for hackers and fools.
356
356
  email:
357
357
  - hendrik@mans.de
@@ -373,6 +373,7 @@ files:
373
373
  - lib/public/favicon.ico
374
374
  - lib/public/img/background.png
375
375
  - lib/public/js/schnitzelpress.js
376
+ - lib/public/moo.txt
376
377
  - lib/schnitzelpress.rb
377
378
  - lib/schnitzelpress/actions/admin.rb
378
379
  - lib/schnitzelpress/actions/auth.rb
@@ -387,10 +388,11 @@ files:
387
388
  - lib/schnitzelpress/version.rb
388
389
  - lib/templates/new_blog/.gitignore
389
390
  - lib/templates/new_blog/Gemfile
390
- - lib/templates/new_blog/Gemfile.lock
391
+ - lib/templates/new_blog/Procfile
391
392
  - lib/templates/new_blog/Rakefile
392
393
  - lib/templates/new_blog/app.rb.tt
393
394
  - lib/templates/new_blog/config.ru.tt
395
+ - lib/templates/new_blog/config/unicorn.rb
394
396
  - lib/templates/new_blog/public/.gitkeep
395
397
  - lib/views/404.haml
396
398
  - lib/views/admin/admin.haml