manuscript 0.2.3 → 0.3.9pre

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.
Files changed (45) hide show
  1. data/.gitignore +3 -0
  2. data/Gemfile +23 -0
  3. data/Rakefile +7 -5
  4. data/VERSION +1 -1
  5. data/config.ru +18 -4
  6. data/lib/manuscript.rb +18 -5
  7. data/lib/manuscript/design_manager.rb +87 -0
  8. data/lib/manuscript/keymaster.rb +1 -2
  9. data/lib/manuscript/page.rb +2 -2
  10. data/lib/manuscript/page_manager.rb +1 -0
  11. data/lib/manuscript/settings.rb +30 -0
  12. data/lib/manuscript/settings_manager.rb +17 -0
  13. data/lib/manuscript/template_file.rb +10 -3
  14. data/lib/manuscript/views/_page.haml +8 -0
  15. data/lib/manuscript/views/design.haml +29 -0
  16. data/lib/manuscript/views/edit_template_file.haml +7 -0
  17. data/{views → lib/manuscript/views}/layout.haml +1 -1
  18. data/lib/manuscript/views/menu.haml +16 -0
  19. data/lib/manuscript/views/new_template_file.haml +6 -0
  20. data/{views → lib/manuscript/views}/page.haml +7 -6
  21. data/lib/manuscript/views/pages.haml +7 -0
  22. data/lib/manuscript/views/settings.haml +10 -0
  23. data/{views → lib/manuscript/views}/template.haml +5 -9
  24. data/manuscript.gemspec +35 -23
  25. data/public/css/base.css +82 -14
  26. data/public/css/wmd.css +133 -0
  27. data/public/images/buttonbg.png +0 -0
  28. data/public/images/wmd-buttons.png +0 -0
  29. data/public/js/wmd.min.js +1 -0
  30. data/spec/manuscript/{template_manager_spec.rb → design_manager_spec.rb} +9 -9
  31. data/spec/manuscript/page_manager_spec.rb +2 -2
  32. data/spec/manuscript/settings_manager_spec.rb +21 -0
  33. data/spec/manuscript/settings_spec.rb +19 -0
  34. data/spec/spec_helper.rb +3 -0
  35. metadata +126 -56
  36. data/lib/manuscript/template_file_manager.rb +0 -53
  37. data/lib/manuscript/template_manager.rb +0 -44
  38. data/spec/manuscript/template_file_manager_spec.rb +0 -10
  39. data/views/_page.haml +0 -10
  40. data/views/edit_template_file.haml +0 -9
  41. data/views/menu.haml +0 -16
  42. data/views/new_template_file.haml +0 -7
  43. data/views/pages.haml +0 -6
  44. data/views/template_files.haml +0 -9
  45. 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
@@ -2,6 +2,9 @@ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
2
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
3
 
4
4
  require 'manuscript'
5
+
6
+ Bundler.require :test
7
+
5
8
  require 'spec'
6
9
  require 'spec/autorun'
7
10
  require 'rack/test'
metadata CHANGED
@@ -1,99 +1,161 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: manuscript
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ prerelease: true
5
+ segments:
6
+ - 0
7
+ - 3
8
+ - 9pre
9
+ version: 0.3.9pre
5
10
  platform: ruby
6
11
  authors:
7
- - hotink
12
+ - Chris Dinn
8
13
  autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2010-01-22 00:00:00 -05:00
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: activerecord
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
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
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
- version:
44
+ type: :runtime
45
+ version_requirements: *id002
25
46
  - !ruby/object:Gem::Dependency
26
47
  name: rdiscount
27
- type: :runtime
28
- version_requirement:
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
- version:
58
+ type: :runtime
59
+ version_requirements: *id003
35
60
  - !ruby/object:Gem::Dependency
36
- name: sinatra
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
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
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
- version:
84
+ type: :runtime
85
+ version_requirements: *id005
45
86
  - !ruby/object:Gem::Dependency
46
87
  name: haml
47
- type: :runtime
48
- version_requirement:
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
- version:
98
+ type: :runtime
99
+ version_requirements: *id006
55
100
  - !ruby/object:Gem::Dependency
56
101
  name: gatekeeper
57
- type: :runtime
58
- version_requirement:
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
- version:
112
+ type: :runtime
113
+ version_requirements: *id007
65
114
  - !ruby/object:Gem::Dependency
66
115
  name: liquid
67
- type: :runtime
68
- version_requirement:
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
- version:
126
+ type: :runtime
127
+ version_requirements: *id008
75
128
  - !ruby/object:Gem::Dependency
76
129
  name: paperclip
77
- type: :runtime
78
- version_requirement:
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
- version:
141
+ type: :runtime
142
+ version_requirements: *id009
85
143
  - !ruby/object:Gem::Dependency
86
144
  name: rspec
87
- type: :development
88
- version_requirement:
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
- version:
155
+ type: :development
156
+ version_requirements: *id010
95
157
  description: A gem for publishing a small Hot Ink authenticated site
96
- email: chris@hotink.net
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/hotink/manuscript
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.5
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/template_file_manager_spec.rb
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