nesta 0.9.13 → 0.10.0

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 (53) hide show
  1. checksums.yaml +7 -0
  2. data/{spec/spec.opts → .rspec} +0 -0
  3. data/.travis.yml +3 -2
  4. data/CHANGES +130 -1
  5. data/Gemfile +1 -8
  6. data/Gemfile.lock +68 -51
  7. data/LICENSE +1 -1
  8. data/README.md +38 -6
  9. data/Rakefile +2 -5
  10. data/bin/nesta +59 -3
  11. data/config.ru +3 -0
  12. data/lib/nesta.rb +1 -1
  13. data/lib/nesta/app.rb +20 -17
  14. data/lib/nesta/commands.rb +6 -3
  15. data/lib/nesta/config.rb +52 -15
  16. data/lib/nesta/helpers.rb +30 -3
  17. data/lib/nesta/models.rb +48 -30
  18. data/lib/nesta/navigation.rb +32 -12
  19. data/lib/nesta/overrides.rb +5 -5
  20. data/lib/nesta/version.rb +1 -1
  21. data/nesta.gemspec +9 -10
  22. data/smoke-test.sh +102 -0
  23. data/spec/atom_spec.rb +52 -49
  24. data/spec/commands_spec.rb +22 -16
  25. data/spec/config_spec.rb +66 -6
  26. data/spec/fixtures/nesta-plugin-test/lib/nesta-plugin-test/init.rb +1 -3
  27. data/spec/model_factory.rb +16 -16
  28. data/spec/models_spec.rb +197 -144
  29. data/spec/overrides_spec.rb +21 -21
  30. data/spec/page_spec.rb +182 -136
  31. data/spec/sitemap_spec.rb +48 -43
  32. data/spec/spec_helper.rb +32 -17
  33. data/templates/Gemfile +5 -2
  34. data/templates/config/config.yml +13 -13
  35. data/templates/config/deploy.rb +2 -2
  36. data/templates/index.haml +2 -0
  37. data/templates/themes/app.rb +1 -1
  38. data/templates/themes/views/layout.haml +7 -0
  39. data/templates/themes/views/master.sass +3 -0
  40. data/templates/themes/views/page.haml +1 -0
  41. data/views/atom.haml +3 -3
  42. data/views/comments.haml +1 -1
  43. data/views/error.haml +1 -1
  44. data/views/feed.haml +1 -1
  45. data/views/layout.haml +6 -3
  46. data/views/master.sass +143 -133
  47. data/views/mixins.sass +53 -28
  48. data/views/normalize.scss +396 -0
  49. data/views/page_meta.haml +2 -2
  50. data/views/sitemap.haml +2 -2
  51. data/views/summaries.haml +2 -2
  52. metadata +155 -202
  53. data/lib/nesta/cache.rb +0 -138
@@ -10,7 +10,7 @@
10
10
  - page.categories.each do |category|
11
11
  - if category != page.categories[-1]
12
12
  = succeed ',' do
13
- %a(href="#{url(category.abspath)}")= category.heading
13
+ %a(href="#{path_to(category.abspath)}")= category.link_text
14
14
  - else
15
- %a(href="#{url(category.abspath)}")= category.heading
15
+ %a(href="#{path_to(category.abspath)}")= category.link_text
16
16
 
@@ -1,11 +1,11 @@
1
1
  !!! XML
2
2
  %urlset(xmlns="http://www.sitemaps.org/schemas/sitemap/0.9")
3
3
  %url
4
- %loc= url('/')
4
+ %loc= path_to('/', :uri => true)
5
5
  %changefreq daily
6
6
  %priority 1.0
7
7
  %lastmod= @last.xmlschema
8
8
  - @pages.each do |page|
9
9
  %url
10
- %loc= url(page.path)
10
+ %loc= path_to(page.path, :uri => true)
11
11
  %lastmod= page.last_modified.xmlschema
@@ -5,11 +5,11 @@
5
5
  %article
6
6
  %header
7
7
  %h1
8
- %a(href="#{url(page.abspath)}")= page.heading
8
+ %a(href="#{path_to(page.abspath)}")= page.link_text
9
9
  - if page.summary.nil? || page.summary.empty?
10
10
  ~ page.body(self)
11
11
  - else
12
12
  ~ page.summary
13
13
  %p.read_more
14
- %a(href="#{url(page.abspath)}")= page.read_more
14
+ %a(href="#{path_to(page.abspath)}")= page.read_more
15
15
  = haml :page_meta, :layout => false, :locals => { :page => page }
metadata CHANGED
@@ -1,230 +1,191 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: nesta
3
- version: !ruby/object:Gem::Version
4
- hash: 33
5
- prerelease:
6
- segments:
7
- - 0
8
- - 9
9
- - 13
10
- version: 0.9.13
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.10.0
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Graham Ashton
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2012-03-03 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- prerelease: false
22
- requirement: &id001 !ruby/object:Gem::Requirement
23
- none: false
24
- requirements:
25
- - - ~>
26
- - !ruby/object:Gem::Version
27
- hash: 5
28
- segments:
29
- - 3
30
- - 1
31
- version: "3.1"
32
- version_requirements: *id001
11
+ date: 2014-04-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
33
14
  name: haml
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '3.1'
34
20
  type: :runtime
35
- - !ruby/object:Gem::Dependency
36
21
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
40
- - - ~>
41
- - !ruby/object:Gem::Version
42
- hash: 5
43
- segments:
44
- - 3
45
- - 1
46
- version: "3.1"
47
- version_requirements: *id002
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '3.1'
27
+ - !ruby/object:Gem::Dependency
48
28
  name: sass
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '3.1'
49
34
  type: :runtime
50
- - !ruby/object:Gem::Dependency
51
35
  prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
53
- none: false
54
- requirements:
55
- - - ~>
56
- - !ruby/object:Gem::Version
57
- hash: 3
58
- segments:
59
- - 1
60
- - 6
61
- version: "1.6"
62
- version_requirements: *id003
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '3.1'
41
+ - !ruby/object:Gem::Dependency
63
42
  name: rdiscount
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.1'
64
48
  type: :runtime
65
- - !ruby/object:Gem::Dependency
66
49
  prerelease: false
67
- requirement: &id004 !ruby/object:Gem::Requirement
68
- none: false
69
- requirements:
70
- - - ~>
71
- - !ruby/object:Gem::Version
72
- hash: 31
73
- segments:
74
- - 4
75
- - 2
76
- version: "4.2"
77
- version_requirements: *id004
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.1'
55
+ - !ruby/object:Gem::Dependency
78
56
  name: RedCloth
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '4.2'
79
62
  type: :runtime
80
- - !ruby/object:Gem::Dependency
81
63
  prerelease: false
82
- requirement: &id005 !ruby/object:Gem::Requirement
83
- none: false
84
- requirements:
85
- - - ~>
86
- - !ruby/object:Gem::Version
87
- hash: 9
88
- segments:
89
- - 1
90
- - 3
91
- version: "1.3"
92
- version_requirements: *id005
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '4.2'
69
+ - !ruby/object:Gem::Dependency
93
70
  name: sinatra
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.4'
94
76
  type: :runtime
95
- - !ruby/object:Gem::Dependency
96
77
  prerelease: false
97
- requirement: &id006 !ruby/object:Gem::Requirement
98
- none: false
99
- requirements:
100
- - - ~>
101
- - !ruby/object:Gem::Version
102
- hash: 13
103
- segments:
104
- - 1
105
- - 1
106
- version: "1.1"
107
- version_requirements: *id006
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.4'
83
+ - !ruby/object:Gem::Dependency
108
84
  name: rack
109
- type: :runtime
110
- - !ruby/object:Gem::Dependency
111
- prerelease: false
112
- requirement: &id007 !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
115
87
  - - ">="
116
- - !ruby/object:Gem::Version
117
- hash: 27
118
- segments:
119
- - 0
120
- - 8
121
- version: "0.8"
122
- version_requirements: *id007
123
- name: shotgun
88
+ - !ruby/object:Gem::Version
89
+ version: '1.3'
124
90
  type: :runtime
125
- - !ruby/object:Gem::Dependency
126
91
  prerelease: false
127
- requirement: &id008 !ruby/object:Gem::Requirement
128
- none: false
129
- requirements:
130
- - - "="
131
- - !ruby/object:Gem::Version
132
- hash: 55
133
- segments:
134
- - 0
135
- - 8
136
- - 4
137
- version: 0.8.4
138
- version_requirements: *id008
139
- name: hpricot
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '1.3'
97
+ - !ruby/object:Gem::Dependency
98
+ name: mr-sparkle
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: 0.0.2
140
104
  type: :development
141
- - !ruby/object:Gem::Dependency
142
105
  prerelease: false
143
- requirement: &id009 !ruby/object:Gem::Requirement
144
- none: false
145
- requirements:
146
- - - "="
147
- - !ruby/object:Gem::Version
148
- hash: 5
149
- segments:
150
- - 0
151
- - 6
152
- - 1
153
- version: 0.6.1
154
- version_requirements: *id009
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: 0.0.2
111
+ - !ruby/object:Gem::Dependency
155
112
  name: rack-test
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '='
116
+ - !ruby/object:Gem::Version
117
+ version: 0.6.1
156
118
  type: :development
157
- - !ruby/object:Gem::Dependency
158
119
  prerelease: false
159
- requirement: &id010 !ruby/object:Gem::Requirement
160
- none: false
161
- requirements:
162
- - - "="
163
- - !ruby/object:Gem::Version
164
- hash: 27
165
- segments:
166
- - 1
167
- - 3
168
- - 0
169
- version: 1.3.0
170
- version_requirements: *id010
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '='
123
+ - !ruby/object:Gem::Version
124
+ version: 0.6.1
125
+ - !ruby/object:Gem::Dependency
171
126
  name: rspec
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 2.14.0
172
132
  type: :development
173
- - !ruby/object:Gem::Dependency
174
133
  prerelease: false
175
- requirement: &id011 !ruby/object:Gem::Requirement
176
- none: false
177
- requirements:
178
- - - "="
179
- - !ruby/object:Gem::Version
180
- hash: 15
181
- segments:
182
- - 1
183
- - 0
184
- version: "1.0"
185
- version_requirements: *id011
186
- name: rspec_hpricot_matchers
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 2.14.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: test-unit
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '='
144
+ - !ruby/object:Gem::Version
145
+ version: 1.2.3
187
146
  type: :development
188
- - !ruby/object:Gem::Dependency
189
147
  prerelease: false
190
- requirement: &id012 !ruby/object:Gem::Requirement
191
- none: false
192
- requirements:
193
- - - "="
194
- - !ruby/object:Gem::Version
195
- hash: 25
196
- segments:
197
- - 1
198
- - 2
199
- - 3
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '='
151
+ - !ruby/object:Gem::Version
200
152
  version: 1.2.3
201
- version_requirements: *id012
202
- name: test-unit
153
+ - !ruby/object:Gem::Dependency
154
+ name: webrat
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 0.7.3
203
160
  type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 0.7.3
204
167
  description: |
205
168
  Nesta is a lightweight Content Management System, written in Ruby using
206
169
  the Sinatra web framework. Nesta has the simplicity of a static site
207
170
  generator, but (being a fully fledged Rack application) allows you to
208
171
  serve dynamic content on demand.
209
-
172
+
210
173
  Content is stored on disk in plain text files (there is no database).
211
174
  Edit your content in a text editor and keep it under version control
212
175
  (most people use git, but any version control system will do fine).
213
-
176
+
214
177
  Implementing your site's design is easy, but Nesta also has a small
215
178
  selection of themes to choose from.
216
-
217
- email:
179
+ email:
218
180
  - graham@effectif.com
219
- executables:
181
+ executables:
220
182
  - nesta
221
183
  extensions: []
222
-
223
184
  extra_rdoc_files: []
224
-
225
- files:
226
- - .gitignore
227
- - .travis.yml
185
+ files:
186
+ - ".gitignore"
187
+ - ".rspec"
188
+ - ".travis.yml"
228
189
  - CHANGES
229
190
  - Gemfile
230
191
  - Gemfile.lock
@@ -237,7 +198,6 @@ files:
237
198
  - config/deploy.rb.sample
238
199
  - lib/nesta.rb
239
200
  - lib/nesta/app.rb
240
- - lib/nesta/cache.rb
241
201
  - lib/nesta/commands.rb
242
202
  - lib/nesta/config.rb
243
203
  - lib/nesta/env.rb
@@ -250,6 +210,7 @@ files:
250
210
  - lib/nesta/version.rb
251
211
  - nesta.gemspec
252
212
  - scripts/import-from-mephisto
213
+ - smoke-test.sh
253
214
  - spec/atom_spec.rb
254
215
  - spec/commands_spec.rb
255
216
  - spec/config_spec.rb
@@ -266,7 +227,6 @@ files:
266
227
  - spec/path_spec.rb
267
228
  - spec/plugin_spec.rb
268
229
  - spec/sitemap_spec.rb
269
- - spec/spec.opts
270
230
  - spec/spec_helper.rb
271
231
  - templates/Gemfile
272
232
  - templates/Rakefile
@@ -276,6 +236,9 @@ files:
276
236
  - templates/index.haml
277
237
  - templates/themes/README.md
278
238
  - templates/themes/app.rb
239
+ - templates/themes/views/layout.haml
240
+ - templates/themes/views/master.sass
241
+ - templates/themes/views/page.haml
279
242
  - views/analytics.haml
280
243
  - views/atom.haml
281
244
  - views/categories.haml
@@ -288,6 +251,7 @@ files:
288
251
  - views/layout.haml
289
252
  - views/master.sass
290
253
  - views/mixins.sass
254
+ - views/normalize.scss
291
255
  - views/not_found.haml
292
256
  - views/page.haml
293
257
  - views/page_meta.haml
@@ -296,38 +260,28 @@ files:
296
260
  - views/summaries.haml
297
261
  homepage: http://nestacms.com
298
262
  licenses: []
299
-
263
+ metadata: {}
300
264
  post_install_message:
301
265
  rdoc_options: []
302
-
303
- require_paths:
266
+ require_paths:
304
267
  - lib
305
- required_ruby_version: !ruby/object:Gem::Requirement
306
- none: false
307
- requirements:
268
+ required_ruby_version: !ruby/object:Gem::Requirement
269
+ requirements:
308
270
  - - ">="
309
- - !ruby/object:Gem::Version
310
- hash: 3
311
- segments:
312
- - 0
313
- version: "0"
314
- required_rubygems_version: !ruby/object:Gem::Requirement
315
- none: false
316
- requirements:
271
+ - !ruby/object:Gem::Version
272
+ version: '0'
273
+ required_rubygems_version: !ruby/object:Gem::Requirement
274
+ requirements:
317
275
  - - ">="
318
- - !ruby/object:Gem::Version
319
- hash: 3
320
- segments:
321
- - 0
322
- version: "0"
276
+ - !ruby/object:Gem::Version
277
+ version: '0'
323
278
  requirements: []
324
-
325
279
  rubyforge_project: nesta
326
- rubygems_version: 1.8.17
280
+ rubygems_version: 2.2.2
327
281
  signing_key:
328
- specification_version: 3
282
+ specification_version: 4
329
283
  summary: Ruby CMS, written in Sinatra
330
- test_files:
284
+ test_files:
331
285
  - spec/atom_spec.rb
332
286
  - spec/commands_spec.rb
333
287
  - spec/config_spec.rb
@@ -344,5 +298,4 @@ test_files:
344
298
  - spec/path_spec.rb
345
299
  - spec/plugin_spec.rb
346
300
  - spec/sitemap_spec.rb
347
- - spec/spec.opts
348
301
  - spec/spec_helper.rb