schnitzelpress 0.0.6 → 0.0.7
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/lib/public/img/background.png +0 -0
- data/lib/public/js/schnitzelpress.js +5 -0
- data/lib/schnitzelpress.rb +26 -0
- data/lib/schnitzelpress/actions/blog.rb +7 -3
- data/lib/schnitzelpress/post.rb +14 -19
- data/lib/schnitzelpress/version.rb +1 -1
- data/lib/views/index.haml +16 -3
- data/lib/views/layout.haml +2 -0
- data/lib/views/partials/_post.haml +3 -7
- data/lib/views/schnitzelpress.scss +18 -2
- data/schnitzelpress.gemspec +2 -1
- data/spec/app_spec.rb +6 -0
- data/spec/post_spec.rb +21 -5
- metadata +74 -61
Binary file
|
data/lib/schnitzelpress.rb
CHANGED
@@ -21,10 +21,36 @@ Sass::Engine::DEFAULT_OPTIONS[:load_paths].unshift(File.expand_path("./views"))
|
|
21
21
|
Mongoid.logger.level = 3
|
22
22
|
|
23
23
|
module SchnitzelPress
|
24
|
+
class MarkdownRenderer < Redcarpet::Render::HTML
|
25
|
+
include Redcarpet::Render::SmartyPants
|
26
|
+
|
27
|
+
def block_code(code, language)
|
28
|
+
CodeRay.highlight(code, language)
|
29
|
+
end
|
30
|
+
|
31
|
+
def autolink(link, type)
|
32
|
+
OEmbed::Providers.get(link).html
|
33
|
+
rescue OEmbed::NotFound
|
34
|
+
%q(<a href="%s">%s</a>) % [link, link]
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
24
38
|
mattr_reader :mongo_uri
|
25
39
|
|
26
40
|
def self.mongo_uri=(uri)
|
27
41
|
Mongoid::Config.from_hash("uri" => uri)
|
42
|
+
SchnitzelPress::Post.create_indexes
|
28
43
|
@@mongo_uri = uri
|
29
44
|
end
|
30
45
|
end
|
46
|
+
|
47
|
+
# teach HAML to use RedCarpet for markdown
|
48
|
+
module Haml::Filters::Redcarpet
|
49
|
+
include Haml::Filters::Base
|
50
|
+
|
51
|
+
def render(text)
|
52
|
+
Redcarpet::Markdown.new(SchnitzelPress::MarkdownRenderer,
|
53
|
+
autolink: true, space_after_headers: true, fenced_code_blocks: true).
|
54
|
+
render(text)
|
55
|
+
end
|
56
|
+
end
|
@@ -4,9 +4,13 @@ module SchnitzelPress
|
|
4
4
|
extend ActiveSupport::Concern
|
5
5
|
|
6
6
|
included do
|
7
|
-
get
|
8
|
-
|
9
|
-
|
7
|
+
get %r{^\/(blog)?$} do
|
8
|
+
total_count = Post.latest.count
|
9
|
+
skipped_count = params[:page].to_i * 10
|
10
|
+
@posts = Post.latest.skip(skipped_count).limit(10)
|
11
|
+
displayed_count = @posts.count(true)
|
12
|
+
|
13
|
+
@show_previous_posts_button = total_count > skipped_count + displayed_count
|
10
14
|
@show_description = true
|
11
15
|
haml :index
|
12
16
|
end
|
data/lib/schnitzelpress/post.rb
CHANGED
@@ -1,24 +1,13 @@
|
|
1
1
|
require 'tilt'
|
2
2
|
require 'coderay'
|
3
|
+
require 'oembed'
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
def block_code(code, language)
|
9
|
-
CodeRay.highlight(code, language)
|
10
|
-
end
|
11
|
-
|
12
|
-
def autolink(link, type)
|
13
|
-
if link =~ %r{youtube.com\/watch\?v=(.+)$}
|
14
|
-
youtube_id = $1
|
15
|
-
%q(<iframe width="600" height="335" src="http://www.youtube.com/embed/%s"></iframe>) % youtube_id
|
16
|
-
else
|
17
|
-
%q(<a href="%s">%s</a>) % [link, link]
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
5
|
+
OEmbed::Providers.register_all
|
6
|
+
SoundCloudProvider = OEmbed::Provider.new("http://soundcloud.com/oembed", :json)
|
7
|
+
SoundCloudProvider << "http://*.soundcloud.com/*"
|
8
|
+
OEmbed::Providers.register(SoundCloudProvider)
|
21
9
|
|
10
|
+
module SchnitzelPress
|
22
11
|
class Post
|
23
12
|
include Mongoid::Document
|
24
13
|
store_in :posts
|
@@ -43,6 +32,12 @@ module SchnitzelPress
|
|
43
32
|
# extra
|
44
33
|
field :body_html, type: String
|
45
34
|
|
35
|
+
# indices
|
36
|
+
index :slugs
|
37
|
+
index :published_at
|
38
|
+
index :status
|
39
|
+
|
40
|
+
# validations
|
46
41
|
validates_presence_of :status, :slug
|
47
42
|
validates_inclusion_of :status, in: [:draft, :published]
|
48
43
|
|
@@ -87,8 +82,8 @@ module SchnitzelPress
|
|
87
82
|
end
|
88
83
|
|
89
84
|
def set_defaults
|
90
|
-
if slug.blank?
|
91
|
-
self.slug = title.parameterize
|
85
|
+
if slug.blank?
|
86
|
+
self.slug = (title || body.truncate(40, separator: ' ')).parameterize
|
92
87
|
end
|
93
88
|
end
|
94
89
|
|
data/lib/views/index.haml
CHANGED
@@ -1,6 +1,19 @@
|
|
1
1
|
%section.posts
|
2
|
-
- @posts.
|
3
|
-
|
2
|
+
- if @posts.any?
|
3
|
+
- @posts.each do |post|
|
4
|
+
= partial post
|
5
|
+
- else
|
6
|
+
#welcome
|
7
|
+
:redcarpet
|
8
|
+
**Congratulations on setting up your new SchnitzelPress blog!**
|
9
|
+
A world of hackery and adventure awaits.
|
10
|
+
<span class="heart">♥</span>
|
11
|
+
|
12
|
+
To get started, please log into your blog's
|
13
|
+
[Administration Section](/admin).
|
14
|
+
|
15
|
+
Visit www.schnitzelpress.org for the latest news and gossip!
|
4
16
|
|
5
17
|
%footer
|
6
|
-
|
18
|
+
- if @show_previous_posts_button
|
19
|
+
%a.button{ href: "/?page=#{params[:page].to_i + 1}"} View Older Posts
|
data/lib/views/layout.haml
CHANGED
@@ -6,6 +6,8 @@
|
|
6
6
|
%meta{ name: "viewport", content: "width=device-width, initial-scale=1.0" }
|
7
7
|
%link{ href: '/blog.css', media: "screen", rel: "stylesheet", type: "text/css" }
|
8
8
|
%link{ href: settings.feed_url, title: "Subscribe via Atom Feed", rel: 'alternate', type: 'application/atom+xml' }
|
9
|
+
%script{ type: 'text/javascript', src: '//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' }
|
10
|
+
%script{ type: 'text/javascript', src: '/js/schnitzelpress.js' }
|
9
11
|
%body
|
10
12
|
.container
|
11
13
|
%header
|
@@ -1,6 +1,5 @@
|
|
1
1
|
- complete ||= false
|
2
|
-
- show_title ||= post.
|
3
|
-
- show_link ||= post.link_post?
|
2
|
+
- show_title ||= post.title.present?
|
4
3
|
- show_summary ||= post.summary.present?
|
5
4
|
- show_body ||= complete || !show_summary
|
6
5
|
- show_read_more ||= !complete && post.summary.present?
|
@@ -11,11 +10,8 @@
|
|
11
10
|
%header
|
12
11
|
- if show_title
|
13
12
|
%h1
|
14
|
-
%a{href: post.to_url}= post.title
|
15
|
-
|
16
|
-
%h1
|
17
|
-
%a{href: post.link}= post.title
|
18
|
-
➝
|
13
|
+
%a{href: post.link || post.to_url}= post.title
|
14
|
+
= "➝" if post.link_post?
|
19
15
|
|
20
16
|
- if show_summary
|
21
17
|
.summary
|
@@ -1,6 +1,11 @@
|
|
1
1
|
// load stuff!
|
2
2
|
@import 'schnitzelstyle/complete';
|
3
3
|
|
4
|
+
/* background image */
|
5
|
+
body {
|
6
|
+
background: url(/img/background.png);
|
7
|
+
}
|
8
|
+
|
4
9
|
/* misc crap */
|
5
10
|
.social_media_buttons {
|
6
11
|
margin: 1em 0;
|
@@ -22,12 +27,13 @@
|
|
22
27
|
/* posts */
|
23
28
|
article.post {
|
24
29
|
&.draft header h1 { background-color: #ccc; }
|
25
|
-
|
30
|
+
header {
|
26
31
|
h1 {
|
27
32
|
font-size: 100%;
|
28
33
|
background: none;
|
29
34
|
text-transform: none;
|
30
35
|
padding: none;
|
36
|
+
color: lighten($color-link, 30%);
|
31
37
|
}
|
32
38
|
font: $font-header;
|
33
39
|
font-weight: bold;
|
@@ -35,7 +41,6 @@ article.post {
|
|
35
41
|
display: inline-block;
|
36
42
|
line-height: 150%;
|
37
43
|
border-bottom: 2px solid $color-link-underline;
|
38
|
-
color: darken($color-page-background, 30%);
|
39
44
|
a {
|
40
45
|
border: none;
|
41
46
|
}
|
@@ -91,6 +96,17 @@ ul.admin {
|
|
91
96
|
.input.post_published_at input { width: 180px; }
|
92
97
|
.input.post_slug input { width: 180px }
|
93
98
|
|
99
|
+
/* welcome message */
|
100
|
+
section.posts #welcome {
|
101
|
+
font: $font-header;
|
102
|
+
font-size: 2em;
|
103
|
+
color: $color-2;
|
104
|
+
p { line-height: 1.3; }
|
105
|
+
strong { color: $color-1; }
|
106
|
+
p:first-child { font-size: 130%; }
|
107
|
+
span.heart { color: #c66; }
|
108
|
+
}
|
109
|
+
|
94
110
|
/* disqus */
|
95
111
|
#dsq-content {
|
96
112
|
a {
|
data/schnitzelpress.gemspec
CHANGED
@@ -34,9 +34,10 @@ Gem::Specification.new do |gem|
|
|
34
34
|
gem.add_dependency 'sass'
|
35
35
|
gem.add_dependency 'redcarpet'
|
36
36
|
gem.add_dependency 'coderay'
|
37
|
-
gem.add_dependency 'schnitzelstyle', '~> 0.0.
|
37
|
+
gem.add_dependency 'schnitzelstyle', '~> 0.0.7'
|
38
38
|
gem.add_dependency 'i18n'
|
39
39
|
gem.add_dependency 'tilt', '~> 1.3.0'
|
40
|
+
gem.add_dependency 'ruby-oembed'
|
40
41
|
|
41
42
|
# CLI related
|
42
43
|
gem.add_dependency 'thor'
|
data/spec/app_spec.rb
CHANGED
@@ -28,6 +28,12 @@ describe SchnitzelPress::App do
|
|
28
28
|
its(:body) { should_not have_tag 'section.posts > article.post.draft' }
|
29
29
|
end
|
30
30
|
|
31
|
+
describe 'the /blog page' do
|
32
|
+
before { get '/blog' }
|
33
|
+
subject { last_response }
|
34
|
+
it { should be_ok }
|
35
|
+
end
|
36
|
+
|
31
37
|
describe 'the public feed url' do
|
32
38
|
before do
|
33
39
|
TestApp.set :feed_url, 'http://feeds.feedburner.com/example_org'
|
data/spec/post_spec.rb
CHANGED
@@ -17,13 +17,29 @@ describe SchnitzelPress::Post do
|
|
17
17
|
|
18
18
|
context 'saving' do
|
19
19
|
context "when no slug is set" do
|
20
|
-
before
|
21
|
-
|
22
|
-
|
20
|
+
before { subject.slug = nil }
|
21
|
+
|
22
|
+
context "when a title is available" do
|
23
|
+
before { subject.title = "Team Schnitzel is AWESOME!" }
|
24
|
+
|
25
|
+
it "should set its slug to a sluggified version of its title" do
|
26
|
+
expect { subject.save }.to change(subject, :slug).
|
27
|
+
from(nil).
|
28
|
+
to('team-schnitzel-is-awesome')
|
29
|
+
end
|
23
30
|
end
|
24
31
|
|
25
|
-
|
26
|
-
|
32
|
+
context "when no title is available" do
|
33
|
+
before do
|
34
|
+
subject.title = nil
|
35
|
+
subject.body = "Team Schnitzel is AWESOME! Lorem ipsum and so on."
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should set its slug to a sluggified version of the truncated body" do
|
39
|
+
expect { subject.save }.to change(subject, :slug).
|
40
|
+
from(nil).
|
41
|
+
to('team-schnitzel-is-awesome-lorem')
|
42
|
+
end
|
27
43
|
end
|
28
44
|
end
|
29
45
|
|
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.
|
4
|
+
version: 0.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-02-
|
12
|
+
date: 2012-02-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rack
|
16
|
-
requirement: &
|
16
|
+
requirement: &70309253301160 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.4.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70309253301160
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: sinatra
|
27
|
-
requirement: &
|
27
|
+
requirement: &70309253300660 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.3.2
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70309253300660
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: activesupport
|
38
|
-
requirement: &
|
38
|
+
requirement: &70309253300200 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 3.2.0
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70309253300200
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rack-cache
|
49
|
-
requirement: &
|
49
|
+
requirement: &70309253299820 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70309253299820
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: mongoid
|
60
|
-
requirement: &
|
60
|
+
requirement: &70309253299280 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '2.4'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70309253299280
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: bson_ext
|
71
|
-
requirement: &
|
71
|
+
requirement: &70309253298780 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '1.5'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70309253298780
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: omniauth
|
82
|
-
requirement: &
|
82
|
+
requirement: &70309253298400 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70309253298400
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: omniauth-browserid
|
93
|
-
requirement: &
|
93
|
+
requirement: &70309252553600 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :runtime
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70309252553600
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: haml
|
104
|
-
requirement: &
|
104
|
+
requirement: &70309252551100 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: '0'
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *70309252551100
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: sass
|
115
|
-
requirement: &
|
115
|
+
requirement: &70309260566240 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ! '>='
|
@@ -120,10 +120,10 @@ dependencies:
|
|
120
120
|
version: '0'
|
121
121
|
type: :runtime
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *70309260566240
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: redcarpet
|
126
|
-
requirement: &
|
126
|
+
requirement: &70309260565820 !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
129
129
|
- - ! '>='
|
@@ -131,10 +131,10 @@ dependencies:
|
|
131
131
|
version: '0'
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
|
-
version_requirements: *
|
134
|
+
version_requirements: *70309260565820
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
136
|
name: coderay
|
137
|
-
requirement: &
|
137
|
+
requirement: &70309260565400 !ruby/object:Gem::Requirement
|
138
138
|
none: false
|
139
139
|
requirements:
|
140
140
|
- - ! '>='
|
@@ -142,21 +142,21 @@ dependencies:
|
|
142
142
|
version: '0'
|
143
143
|
type: :runtime
|
144
144
|
prerelease: false
|
145
|
-
version_requirements: *
|
145
|
+
version_requirements: *70309260565400
|
146
146
|
- !ruby/object:Gem::Dependency
|
147
147
|
name: schnitzelstyle
|
148
|
-
requirement: &
|
148
|
+
requirement: &70309260564900 !ruby/object:Gem::Requirement
|
149
149
|
none: false
|
150
150
|
requirements:
|
151
151
|
- - ~>
|
152
152
|
- !ruby/object:Gem::Version
|
153
|
-
version: 0.0.
|
153
|
+
version: 0.0.7
|
154
154
|
type: :runtime
|
155
155
|
prerelease: false
|
156
|
-
version_requirements: *
|
156
|
+
version_requirements: *70309260564900
|
157
157
|
- !ruby/object:Gem::Dependency
|
158
158
|
name: i18n
|
159
|
-
requirement: &
|
159
|
+
requirement: &70309260564480 !ruby/object:Gem::Requirement
|
160
160
|
none: false
|
161
161
|
requirements:
|
162
162
|
- - ! '>='
|
@@ -164,10 +164,10 @@ dependencies:
|
|
164
164
|
version: '0'
|
165
165
|
type: :runtime
|
166
166
|
prerelease: false
|
167
|
-
version_requirements: *
|
167
|
+
version_requirements: *70309260564480
|
168
168
|
- !ruby/object:Gem::Dependency
|
169
169
|
name: tilt
|
170
|
-
requirement: &
|
170
|
+
requirement: &70309260563940 !ruby/object:Gem::Requirement
|
171
171
|
none: false
|
172
172
|
requirements:
|
173
173
|
- - ~>
|
@@ -175,10 +175,21 @@ dependencies:
|
|
175
175
|
version: 1.3.0
|
176
176
|
type: :runtime
|
177
177
|
prerelease: false
|
178
|
-
version_requirements: *
|
178
|
+
version_requirements: *70309260563940
|
179
|
+
- !ruby/object:Gem::Dependency
|
180
|
+
name: ruby-oembed
|
181
|
+
requirement: &70309260563520 !ruby/object:Gem::Requirement
|
182
|
+
none: false
|
183
|
+
requirements:
|
184
|
+
- - ! '>='
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: '0'
|
187
|
+
type: :runtime
|
188
|
+
prerelease: false
|
189
|
+
version_requirements: *70309260563520
|
179
190
|
- !ruby/object:Gem::Dependency
|
180
191
|
name: thor
|
181
|
-
requirement: &
|
192
|
+
requirement: &70309260563060 !ruby/object:Gem::Requirement
|
182
193
|
none: false
|
183
194
|
requirements:
|
184
195
|
- - ! '>='
|
@@ -186,10 +197,10 @@ dependencies:
|
|
186
197
|
version: '0'
|
187
198
|
type: :runtime
|
188
199
|
prerelease: false
|
189
|
-
version_requirements: *
|
200
|
+
version_requirements: *70309260563060
|
190
201
|
- !ruby/object:Gem::Dependency
|
191
202
|
name: rake
|
192
|
-
requirement: &
|
203
|
+
requirement: &70309260562640 !ruby/object:Gem::Requirement
|
193
204
|
none: false
|
194
205
|
requirements:
|
195
206
|
- - ! '>='
|
@@ -197,10 +208,10 @@ dependencies:
|
|
197
208
|
version: '0'
|
198
209
|
type: :runtime
|
199
210
|
prerelease: false
|
200
|
-
version_requirements: *
|
211
|
+
version_requirements: *70309260562640
|
201
212
|
- !ruby/object:Gem::Dependency
|
202
213
|
name: wirble
|
203
|
-
requirement: &
|
214
|
+
requirement: &70309260562220 !ruby/object:Gem::Requirement
|
204
215
|
none: false
|
205
216
|
requirements:
|
206
217
|
- - ! '>='
|
@@ -208,10 +219,10 @@ dependencies:
|
|
208
219
|
version: '0'
|
209
220
|
type: :runtime
|
210
221
|
prerelease: false
|
211
|
-
version_requirements: *
|
222
|
+
version_requirements: *70309260562220
|
212
223
|
- !ruby/object:Gem::Dependency
|
213
224
|
name: chronic
|
214
|
-
requirement: &
|
225
|
+
requirement: &70309260561800 !ruby/object:Gem::Requirement
|
215
226
|
none: false
|
216
227
|
requirements:
|
217
228
|
- - ! '>='
|
@@ -219,10 +230,10 @@ dependencies:
|
|
219
230
|
version: '0'
|
220
231
|
type: :runtime
|
221
232
|
prerelease: false
|
222
|
-
version_requirements: *
|
233
|
+
version_requirements: *70309260561800
|
223
234
|
- !ruby/object:Gem::Dependency
|
224
235
|
name: rspec
|
225
|
-
requirement: &
|
236
|
+
requirement: &70309260561300 !ruby/object:Gem::Requirement
|
226
237
|
none: false
|
227
238
|
requirements:
|
228
239
|
- - ! '>='
|
@@ -230,10 +241,10 @@ dependencies:
|
|
230
241
|
version: 2.8.0
|
231
242
|
type: :development
|
232
243
|
prerelease: false
|
233
|
-
version_requirements: *
|
244
|
+
version_requirements: *70309260561300
|
234
245
|
- !ruby/object:Gem::Dependency
|
235
246
|
name: rspec-html-matchers
|
236
|
-
requirement: &
|
247
|
+
requirement: &70309260560880 !ruby/object:Gem::Requirement
|
237
248
|
none: false
|
238
249
|
requirements:
|
239
250
|
- - ! '>='
|
@@ -241,10 +252,10 @@ dependencies:
|
|
241
252
|
version: '0'
|
242
253
|
type: :development
|
243
254
|
prerelease: false
|
244
|
-
version_requirements: *
|
255
|
+
version_requirements: *70309260560880
|
245
256
|
- !ruby/object:Gem::Dependency
|
246
257
|
name: database_cleaner
|
247
|
-
requirement: &
|
258
|
+
requirement: &70309260560420 !ruby/object:Gem::Requirement
|
248
259
|
none: false
|
249
260
|
requirements:
|
250
261
|
- - ! '>='
|
@@ -252,10 +263,10 @@ dependencies:
|
|
252
263
|
version: '0'
|
253
264
|
type: :development
|
254
265
|
prerelease: false
|
255
|
-
version_requirements: *
|
266
|
+
version_requirements: *70309260560420
|
256
267
|
- !ruby/object:Gem::Dependency
|
257
268
|
name: factory_girl
|
258
|
-
requirement: &
|
269
|
+
requirement: &70309260559920 !ruby/object:Gem::Requirement
|
259
270
|
none: false
|
260
271
|
requirements:
|
261
272
|
- - ~>
|
@@ -263,10 +274,10 @@ dependencies:
|
|
263
274
|
version: 2.6.0
|
264
275
|
type: :development
|
265
276
|
prerelease: false
|
266
|
-
version_requirements: *
|
277
|
+
version_requirements: *70309260559920
|
267
278
|
- !ruby/object:Gem::Dependency
|
268
279
|
name: ffaker
|
269
|
-
requirement: &
|
280
|
+
requirement: &70309260559500 !ruby/object:Gem::Requirement
|
270
281
|
none: false
|
271
282
|
requirements:
|
272
283
|
- - ! '>='
|
@@ -274,10 +285,10 @@ dependencies:
|
|
274
285
|
version: '0'
|
275
286
|
type: :development
|
276
287
|
prerelease: false
|
277
|
-
version_requirements: *
|
288
|
+
version_requirements: *70309260559500
|
278
289
|
- !ruby/object:Gem::Dependency
|
279
290
|
name: timecop
|
280
|
-
requirement: &
|
291
|
+
requirement: &70309260559040 !ruby/object:Gem::Requirement
|
281
292
|
none: false
|
282
293
|
requirements:
|
283
294
|
- - ! '>='
|
@@ -285,10 +296,10 @@ dependencies:
|
|
285
296
|
version: '0'
|
286
297
|
type: :development
|
287
298
|
prerelease: false
|
288
|
-
version_requirements: *
|
299
|
+
version_requirements: *70309260559040
|
289
300
|
- !ruby/object:Gem::Dependency
|
290
301
|
name: shotgun
|
291
|
-
requirement: &
|
302
|
+
requirement: &70309260558620 !ruby/object:Gem::Requirement
|
292
303
|
none: false
|
293
304
|
requirements:
|
294
305
|
- - ! '>='
|
@@ -296,10 +307,10 @@ dependencies:
|
|
296
307
|
version: '0'
|
297
308
|
type: :development
|
298
309
|
prerelease: false
|
299
|
-
version_requirements: *
|
310
|
+
version_requirements: *70309260558620
|
300
311
|
- !ruby/object:Gem::Dependency
|
301
312
|
name: rack-test
|
302
|
-
requirement: &
|
313
|
+
requirement: &70309252544760 !ruby/object:Gem::Requirement
|
303
314
|
none: false
|
304
315
|
requirements:
|
305
316
|
- - ! '>='
|
@@ -307,10 +318,10 @@ dependencies:
|
|
307
318
|
version: '0'
|
308
319
|
type: :development
|
309
320
|
prerelease: false
|
310
|
-
version_requirements: *
|
321
|
+
version_requirements: *70309252544760
|
311
322
|
- !ruby/object:Gem::Dependency
|
312
323
|
name: watchr
|
313
|
-
requirement: &
|
324
|
+
requirement: &70309252542560 !ruby/object:Gem::Requirement
|
314
325
|
none: false
|
315
326
|
requirements:
|
316
327
|
- - ! '>='
|
@@ -318,10 +329,10 @@ dependencies:
|
|
318
329
|
version: '0'
|
319
330
|
type: :development
|
320
331
|
prerelease: false
|
321
|
-
version_requirements: *
|
332
|
+
version_requirements: *70309252542560
|
322
333
|
- !ruby/object:Gem::Dependency
|
323
334
|
name: awesome_print
|
324
|
-
requirement: &
|
335
|
+
requirement: &70309252539740 !ruby/object:Gem::Requirement
|
325
336
|
none: false
|
326
337
|
requirements:
|
327
338
|
- - ! '>='
|
@@ -329,7 +340,7 @@ dependencies:
|
|
329
340
|
version: '0'
|
330
341
|
type: :development
|
331
342
|
prerelease: false
|
332
|
-
version_requirements: *
|
343
|
+
version_requirements: *70309252539740
|
333
344
|
description: A lean, mean blogging machine for hackers and fools.
|
334
345
|
email:
|
335
346
|
- hendrik@mans.de
|
@@ -349,6 +360,8 @@ files:
|
|
349
360
|
- bin/schnitzelpress
|
350
361
|
- lib/public/.gitkeep
|
351
362
|
- lib/public/favicon.ico
|
363
|
+
- lib/public/img/background.png
|
364
|
+
- lib/public/js/schnitzelpress.js
|
352
365
|
- lib/schnitzelpress.rb
|
353
366
|
- lib/schnitzelpress/actions/admin.rb
|
354
367
|
- lib/schnitzelpress/actions/auth.rb
|