manuscript 0.2.3 → 0.3.9pre
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -0
- data/Gemfile +23 -0
- data/Rakefile +7 -5
- data/VERSION +1 -1
- data/config.ru +18 -4
- data/lib/manuscript.rb +18 -5
- data/lib/manuscript/design_manager.rb +87 -0
- data/lib/manuscript/keymaster.rb +1 -2
- data/lib/manuscript/page.rb +2 -2
- data/lib/manuscript/page_manager.rb +1 -0
- data/lib/manuscript/settings.rb +30 -0
- data/lib/manuscript/settings_manager.rb +17 -0
- data/lib/manuscript/template_file.rb +10 -3
- data/lib/manuscript/views/_page.haml +8 -0
- data/lib/manuscript/views/design.haml +29 -0
- data/lib/manuscript/views/edit_template_file.haml +7 -0
- data/{views → lib/manuscript/views}/layout.haml +1 -1
- data/lib/manuscript/views/menu.haml +16 -0
- data/lib/manuscript/views/new_template_file.haml +6 -0
- data/{views → lib/manuscript/views}/page.haml +7 -6
- data/lib/manuscript/views/pages.haml +7 -0
- data/lib/manuscript/views/settings.haml +10 -0
- data/{views → lib/manuscript/views}/template.haml +5 -9
- data/manuscript.gemspec +35 -23
- data/public/css/base.css +82 -14
- data/public/css/wmd.css +133 -0
- data/public/images/buttonbg.png +0 -0
- data/public/images/wmd-buttons.png +0 -0
- data/public/js/wmd.min.js +1 -0
- data/spec/manuscript/{template_manager_spec.rb → design_manager_spec.rb} +9 -9
- data/spec/manuscript/page_manager_spec.rb +2 -2
- data/spec/manuscript/settings_manager_spec.rb +21 -0
- data/spec/manuscript/settings_spec.rb +19 -0
- data/spec/spec_helper.rb +3 -0
- metadata +126 -56
- data/lib/manuscript/template_file_manager.rb +0 -53
- data/lib/manuscript/template_manager.rb +0 -44
- data/spec/manuscript/template_file_manager_spec.rb +0 -10
- data/views/_page.haml +0 -10
- data/views/edit_template_file.haml +0 -9
- data/views/menu.haml +0 -16
- data/views/new_template_file.haml +0 -7
- data/views/pages.haml +0 -6
- data/views/template_files.haml +0 -9
- data/views/templates.haml +0 -15
@@ -13,8 +13,8 @@ describe "PageManager" do
|
|
13
13
|
end
|
14
14
|
|
15
15
|
it "should display list with both pages" do
|
16
|
-
get "/admin/pages"
|
17
|
-
|
16
|
+
get "/admin/pages", {}
|
17
|
+
|
18
18
|
last_response.should be_ok
|
19
19
|
last_response.body.should include("details")
|
20
20
|
last_response.body.should include("contact")
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe "SettingsManager" do
|
4
|
+
include Rack::Test::Methods
|
5
|
+
|
6
|
+
def app
|
7
|
+
Manuscript::SettingsManager
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should show an edit form" do
|
11
|
+
get '/admin/settings'
|
12
|
+
last_response.should be_ok
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should update settings" do
|
16
|
+
post '/admin/settings', :settings => { :site_name => "sample-page.com" }
|
17
|
+
last_response.should be_ok
|
18
|
+
Manuscript::Settings.new('settings.yml')[:site_name].should == "sample-page.com"
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe Manuscript::Settings do
|
4
|
+
|
5
|
+
it "should load settings from file" do
|
6
|
+
@settings = Manuscript::Settings.new('settings.yml')
|
7
|
+
@settings.to_hash.should == {}
|
8
|
+
@settings.settings_file_name.should eql('settings.yml')
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should save settings to file" do
|
12
|
+
@settings = Manuscript::Settings.new('settings.yml')
|
13
|
+
test_time = Time.now.to_s
|
14
|
+
@settings[:test_time] = test_time
|
15
|
+
@settings.save
|
16
|
+
Manuscript::Settings.new('settings.yml')[:test_time].should eql(test_time)
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,99 +1,161 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: manuscript
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: true
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 3
|
8
|
+
- 9pre
|
9
|
+
version: 0.3.9pre
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
|
-
-
|
12
|
+
- Chris Dinn
|
8
13
|
autorequire:
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date: 2010-
|
17
|
+
date: 2010-04-27 00:00:00 -04:00
|
13
18
|
default_executable:
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
21
|
+
name: ruby-openid
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 0
|
29
|
+
version: "0"
|
17
30
|
type: :runtime
|
18
|
-
|
19
|
-
|
31
|
+
version_requirements: *id001
|
32
|
+
- !ruby/object:Gem::Dependency
|
33
|
+
name: activerecord
|
34
|
+
prerelease: false
|
35
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
20
36
|
requirements:
|
21
37
|
- - ">="
|
22
38
|
- !ruby/object:Gem::Version
|
39
|
+
segments:
|
40
|
+
- 2
|
41
|
+
- 3
|
42
|
+
- 5
|
23
43
|
version: 2.3.5
|
24
|
-
|
44
|
+
type: :runtime
|
45
|
+
version_requirements: *id002
|
25
46
|
- !ruby/object:Gem::Dependency
|
26
47
|
name: rdiscount
|
27
|
-
|
28
|
-
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
48
|
+
prerelease: false
|
49
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
30
50
|
requirements:
|
31
51
|
- - ">="
|
32
52
|
- !ruby/object:Gem::Version
|
53
|
+
segments:
|
54
|
+
- 1
|
55
|
+
- 3
|
56
|
+
- 5
|
33
57
|
version: 1.3.5
|
34
|
-
|
58
|
+
type: :runtime
|
59
|
+
version_requirements: *id003
|
35
60
|
- !ruby/object:Gem::Dependency
|
36
|
-
name:
|
61
|
+
name: aws-s3
|
62
|
+
prerelease: false
|
63
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
segments:
|
68
|
+
- 0
|
69
|
+
version: "0"
|
37
70
|
type: :runtime
|
38
|
-
|
39
|
-
|
71
|
+
version_requirements: *id004
|
72
|
+
- !ruby/object:Gem::Dependency
|
73
|
+
name: sinatra
|
74
|
+
prerelease: false
|
75
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
40
76
|
requirements:
|
41
77
|
- - ">="
|
42
78
|
- !ruby/object:Gem::Version
|
79
|
+
segments:
|
80
|
+
- 0
|
81
|
+
- 9
|
82
|
+
- 4
|
43
83
|
version: 0.9.4
|
44
|
-
|
84
|
+
type: :runtime
|
85
|
+
version_requirements: *id005
|
45
86
|
- !ruby/object:Gem::Dependency
|
46
87
|
name: haml
|
47
|
-
|
48
|
-
|
49
|
-
version_requirements: !ruby/object:Gem::Requirement
|
88
|
+
prerelease: false
|
89
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
50
90
|
requirements:
|
51
91
|
- - ">="
|
52
92
|
- !ruby/object:Gem::Version
|
93
|
+
segments:
|
94
|
+
- 2
|
95
|
+
- 2
|
96
|
+
- 12
|
53
97
|
version: 2.2.12
|
54
|
-
|
98
|
+
type: :runtime
|
99
|
+
version_requirements: *id006
|
55
100
|
- !ruby/object:Gem::Dependency
|
56
101
|
name: gatekeeper
|
57
|
-
|
58
|
-
|
59
|
-
version_requirements: !ruby/object:Gem::Requirement
|
102
|
+
prerelease: false
|
103
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
60
104
|
requirements:
|
61
105
|
- - ">="
|
62
106
|
- !ruby/object:Gem::Version
|
107
|
+
segments:
|
108
|
+
- 0
|
109
|
+
- 1
|
110
|
+
- 1
|
63
111
|
version: 0.1.1
|
64
|
-
|
112
|
+
type: :runtime
|
113
|
+
version_requirements: *id007
|
65
114
|
- !ruby/object:Gem::Dependency
|
66
115
|
name: liquid
|
67
|
-
|
68
|
-
|
69
|
-
version_requirements: !ruby/object:Gem::Requirement
|
116
|
+
prerelease: false
|
117
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
70
118
|
requirements:
|
71
119
|
- - ">="
|
72
120
|
- !ruby/object:Gem::Version
|
121
|
+
segments:
|
122
|
+
- 2
|
123
|
+
- 0
|
124
|
+
- 0
|
73
125
|
version: 2.0.0
|
74
|
-
|
126
|
+
type: :runtime
|
127
|
+
version_requirements: *id008
|
75
128
|
- !ruby/object:Gem::Dependency
|
76
129
|
name: paperclip
|
77
|
-
|
78
|
-
|
79
|
-
version_requirements: !ruby/object:Gem::Requirement
|
130
|
+
prerelease: false
|
131
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
80
132
|
requirements:
|
81
133
|
- - ">="
|
82
134
|
- !ruby/object:Gem::Version
|
135
|
+
segments:
|
136
|
+
- 2
|
137
|
+
- 3
|
138
|
+
- 1
|
139
|
+
- 1
|
83
140
|
version: 2.3.1.1
|
84
|
-
|
141
|
+
type: :runtime
|
142
|
+
version_requirements: *id009
|
85
143
|
- !ruby/object:Gem::Dependency
|
86
144
|
name: rspec
|
87
|
-
|
88
|
-
|
89
|
-
version_requirements: !ruby/object:Gem::Requirement
|
145
|
+
prerelease: false
|
146
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
90
147
|
requirements:
|
91
148
|
- - ">="
|
92
149
|
- !ruby/object:Gem::Version
|
150
|
+
segments:
|
151
|
+
- 1
|
152
|
+
- 2
|
153
|
+
- 9
|
93
154
|
version: 1.2.9
|
94
|
-
|
155
|
+
type: :development
|
156
|
+
version_requirements: *id010
|
95
157
|
description: A gem for publishing a small Hot Ink authenticated site
|
96
|
-
email:
|
158
|
+
email: chrisgdinn@gmail.com
|
97
159
|
executables: []
|
98
160
|
|
99
161
|
extensions: []
|
@@ -104,6 +166,7 @@ extra_rdoc_files:
|
|
104
166
|
files:
|
105
167
|
- .document
|
106
168
|
- .gitignore
|
169
|
+
- Gemfile
|
107
170
|
- LICENSE
|
108
171
|
- README.rdoc
|
109
172
|
- Rakefile
|
@@ -117,41 +180,45 @@ files:
|
|
117
180
|
- db/migrate/006_add_parent_to_pages.rb
|
118
181
|
- lib/manuscript.rb
|
119
182
|
- lib/manuscript/base.rb
|
183
|
+
- lib/manuscript/design_manager.rb
|
120
184
|
- lib/manuscript/keymaster.rb
|
121
185
|
- lib/manuscript/layout_template.rb
|
122
186
|
- lib/manuscript/page.rb
|
123
187
|
- lib/manuscript/page_manager.rb
|
124
188
|
- lib/manuscript/page_template.rb
|
189
|
+
- lib/manuscript/settings.rb
|
190
|
+
- lib/manuscript/settings_manager.rb
|
125
191
|
- lib/manuscript/template.rb
|
126
192
|
- lib/manuscript/template_file.rb
|
127
|
-
- lib/manuscript/template_file_manager.rb
|
128
|
-
- lib/manuscript/template_manager.rb
|
129
193
|
- lib/manuscript/user.rb
|
194
|
+
- lib/manuscript/views/_page.haml
|
195
|
+
- lib/manuscript/views/design.haml
|
196
|
+
- lib/manuscript/views/edit_template_file.haml
|
197
|
+
- lib/manuscript/views/layout.haml
|
198
|
+
- lib/manuscript/views/menu.haml
|
199
|
+
- lib/manuscript/views/new_template_file.haml
|
200
|
+
- lib/manuscript/views/page.haml
|
201
|
+
- lib/manuscript/views/pages.haml
|
202
|
+
- lib/manuscript/views/settings.haml
|
203
|
+
- lib/manuscript/views/template.haml
|
130
204
|
- manuscript.gemspec
|
131
205
|
- public/css/base.css
|
206
|
+
- public/css/wmd.css
|
207
|
+
- public/images/buttonbg.png
|
208
|
+
- public/images/wmd-buttons.png
|
209
|
+
- public/js/wmd.min.js
|
132
210
|
- spec/manuscript/base_spec.rb
|
211
|
+
- spec/manuscript/design_manager_spec.rb
|
133
212
|
- spec/manuscript/layout_template_spec.rb
|
134
213
|
- spec/manuscript/page_manager_spec.rb
|
135
214
|
- spec/manuscript/page_spec.rb
|
136
215
|
- spec/manuscript/page_template_spec.rb
|
137
|
-
- spec/manuscript/template_file_manager_spec.rb
|
138
216
|
- spec/manuscript/template_file_spec.rb
|
139
|
-
- spec/manuscript/template_manager_spec.rb
|
140
217
|
- spec/manuscript/user_spec.rb
|
141
218
|
- spec/spec.opts
|
142
219
|
- spec/spec_helper.rb
|
143
|
-
- views/_page.haml
|
144
|
-
- views/edit_template_file.haml
|
145
|
-
- views/layout.haml
|
146
|
-
- views/menu.haml
|
147
|
-
- views/new_template_file.haml
|
148
|
-
- views/page.haml
|
149
|
-
- views/pages.haml
|
150
|
-
- views/template.haml
|
151
|
-
- views/template_files.haml
|
152
|
-
- views/templates.haml
|
153
220
|
has_rdoc: true
|
154
|
-
homepage: http://github.com/
|
221
|
+
homepage: http://github.com/chrisdinn/manuscript
|
155
222
|
licenses: []
|
156
223
|
|
157
224
|
post_install_message:
|
@@ -163,29 +230,32 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
163
230
|
requirements:
|
164
231
|
- - ">="
|
165
232
|
- !ruby/object:Gem::Version
|
233
|
+
segments:
|
234
|
+
- 0
|
166
235
|
version: "0"
|
167
|
-
version:
|
168
236
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
169
237
|
requirements:
|
170
238
|
- - ">="
|
171
239
|
- !ruby/object:Gem::Version
|
240
|
+
segments:
|
241
|
+
- 0
|
172
242
|
version: "0"
|
173
|
-
version:
|
174
243
|
requirements: []
|
175
244
|
|
176
245
|
rubyforge_project:
|
177
|
-
rubygems_version: 1.3.
|
246
|
+
rubygems_version: 1.3.6
|
178
247
|
signing_key:
|
179
248
|
specification_version: 3
|
180
249
|
summary: A gem for publishing a small Hot Ink authenticated site
|
181
250
|
test_files:
|
182
251
|
- spec/manuscript/base_spec.rb
|
252
|
+
- spec/manuscript/design_manager_spec.rb
|
183
253
|
- spec/manuscript/layout_template_spec.rb
|
184
254
|
- spec/manuscript/page_manager_spec.rb
|
185
255
|
- spec/manuscript/page_spec.rb
|
186
256
|
- spec/manuscript/page_template_spec.rb
|
187
|
-
- spec/manuscript/
|
257
|
+
- spec/manuscript/settings_manager_spec.rb
|
258
|
+
- spec/manuscript/settings_spec.rb
|
188
259
|
- spec/manuscript/template_file_spec.rb
|
189
|
-
- spec/manuscript/template_manager_spec.rb
|
190
260
|
- spec/manuscript/user_spec.rb
|
191
261
|
- spec/spec_helper.rb
|
@@ -1,53 +0,0 @@
|
|
1
|
-
|
2
|
-
module Manuscript
|
3
|
-
class TemplateFileManager < Sinatra::Base
|
4
|
-
enable :methodoverride
|
5
|
-
|
6
|
-
get '/admin/template_files/?' do
|
7
|
-
@files = TemplateFile.all
|
8
|
-
haml :template_files
|
9
|
-
end
|
10
|
-
|
11
|
-
get '/admin/template_files/new/?' do
|
12
|
-
haml :new_template_file
|
13
|
-
end
|
14
|
-
|
15
|
-
post '/admin/template_files' do
|
16
|
-
new_file = params[:template_file][:file][:tempfile]
|
17
|
-
new_file.original_filename = params[:template_file][:file][:filename]
|
18
|
-
|
19
|
-
@file = TemplateFile.new
|
20
|
-
@file.file = new_file
|
21
|
-
@file.save
|
22
|
-
redirect '/admin/template_files'
|
23
|
-
end
|
24
|
-
|
25
|
-
get '/admin/template_files/:id/edit' do
|
26
|
-
@file = TemplateFile.find(params[:id])
|
27
|
-
haml :edit_template_file
|
28
|
-
end
|
29
|
-
|
30
|
-
put '/admin/template_files/:id' do
|
31
|
-
new_file = params[:template_file][:file][:tempfile]
|
32
|
-
new_file.original_filename = params[:template_file][:file][:filename]
|
33
|
-
|
34
|
-
@file = TemplateFile.find(params[:id])
|
35
|
-
raise Sinatra::NotFound unless @file
|
36
|
-
@file.file = new_file
|
37
|
-
@file.save
|
38
|
-
redirect '/admin/template_files'
|
39
|
-
end
|
40
|
-
|
41
|
-
delete '/admin/template_files/:id' do
|
42
|
-
@file = TemplateFile.find(params[:id])
|
43
|
-
raise Sinatra::NotFound unless @file
|
44
|
-
@file.destroy
|
45
|
-
redirect '/admin/template_files'
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
# Paperclip expects a Rails-specific ActionController::UploadedFile, so fake it with Tempfile hack
|
51
|
-
class Tempfile
|
52
|
-
attr_accessor :original_filename
|
53
|
-
end
|
@@ -1,44 +0,0 @@
|
|
1
|
-
module Manuscript
|
2
|
-
class TemplateManager < Sinatra::Base
|
3
|
-
enable :methodoverride
|
4
|
-
|
5
|
-
get "/admin/templates/?" do
|
6
|
-
@templates = PageTemplate.all
|
7
|
-
@layouts = LayoutTemplate.all
|
8
|
-
haml :templates
|
9
|
-
end
|
10
|
-
|
11
|
-
get "/admin/templates/new" do
|
12
|
-
@template = PageTemplate.new
|
13
|
-
haml :template
|
14
|
-
end
|
15
|
-
|
16
|
-
get "/admin/layouts/new" do
|
17
|
-
@template = LayoutTemplate.new
|
18
|
-
haml :template
|
19
|
-
end
|
20
|
-
|
21
|
-
post "/admin/templates/?" do
|
22
|
-
@template = PageTemplate.create(params[:template])
|
23
|
-
redirect "/admin/templates/#{@template.id}/edit"
|
24
|
-
end
|
25
|
-
|
26
|
-
post "/admin/layouts/?" do
|
27
|
-
@template = LayoutTemplate.create(params[:template])
|
28
|
-
redirect "/admin/templates/#{@template.id}/edit"
|
29
|
-
end
|
30
|
-
|
31
|
-
get "/admin/templates/:id/edit" do
|
32
|
-
@template = Template.find_by_id params[:id]
|
33
|
-
halt 404, "Template not found" unless @template
|
34
|
-
haml :template
|
35
|
-
end
|
36
|
-
|
37
|
-
put "/admin/templates/:id/?" do
|
38
|
-
@template = Template.find_by_id params[:id]
|
39
|
-
halt 404, "Template not found" unless @template
|
40
|
-
@template.update_attributes(params[:template])
|
41
|
-
redirect "/admin/templates/#{@template.id}/edit"
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|