nesta 0.9.1 → 0.9.2

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/CHANGES ADDED
@@ -0,0 +1,35 @@
1
+ = 0.9.2 / 10 January 2011
2
+
3
+ * Made the FileModel.metadata method public, to allow for custom
4
+ metadata at the top of each page. (Wynn Netherland)
5
+
6
+ * Relaxed the stringent dependency specifications, using pessimistic
7
+ version constraints (see http://docs.rubygems.org/read/chapter/16).
8
+
9
+ * Added templates required by `nesta theme:create`.
10
+
11
+ = 0.9.1 / 31 December 2010
12
+
13
+ * Re-implemented the default theme, using semantic HTML5 and
14
+ Andy Clarke's Universal Internet Explorer 6 CSS. Named the previous
15
+ default theme "slate" and moved it into a separate GitHub project.
16
+ https://github.com/gma/nesta-theme-slate
17
+
18
+ * Added `--git` switch to `nesta new`, that will create a new git
19
+ repository and make an initial commit.
20
+
21
+ * Moved the navigation helpers into the Nesta::Navigation::Renderers
22
+ module.
23
+
24
+ = 0.9.0 / 20 December 2010
25
+
26
+ * Packaged Nesta as a gem for the first time, instead of as a template
27
+ site that can be cloned, edited and deployed. Added the `nesta`
28
+ command for generating new sites and managing themes.
29
+
30
+ = Previous versions / from 26 November 2008
31
+
32
+ * Prior to 0.9.0 Nesta was distributed as a git repository that could
33
+ be forked, edited and deployed. The only change log for these
34
+ versions is the Git commit history.
35
+ https://github.com/gma/nesta/commits/master
data/Gemfile.lock CHANGED
@@ -1,29 +1,29 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nesta (0.9.1)
5
- RedCloth (= 4.2.2)
6
- builder (= 2.1.2)
7
- haml (= 3.0.12)
8
- maruku (= 0.6.0)
4
+ nesta (0.9.2)
5
+ RedCloth (~> 4.2)
6
+ builder (~> 3.0)
7
+ haml (~> 3.0)
8
+ maruku (>= 0.6.0)
9
9
  shotgun (>= 0.8)
10
- sinatra (= 1.1.0)
10
+ sinatra (= 1.1.2)
11
11
 
12
12
  GEM
13
13
  remote: http://rubygems.org/
14
14
  specs:
15
- RedCloth (4.2.2)
16
- builder (2.1.2)
17
- haml (3.0.12)
15
+ RedCloth (4.2.3)
16
+ builder (3.0.0)
17
+ haml (3.0.25)
18
18
  hoe (2.6.2)
19
19
  rake (>= 0.8.7)
20
20
  rubyforge (>= 2.0.4)
21
- hpricot (0.8.2)
21
+ hpricot (0.8.3)
22
22
  json_pure (1.4.6)
23
23
  maruku (0.6.0)
24
24
  syntax (>= 1.0.0)
25
25
  rack (1.2.1)
26
- rack-test (0.5.3)
26
+ rack-test (0.5.7)
27
27
  rack (>= 1.0)
28
28
  rake (0.8.7)
29
29
  rspec (1.3.0)
@@ -32,27 +32,27 @@ GEM
32
32
  json_pure (>= 1.1.7)
33
33
  shotgun (0.8)
34
34
  rack (>= 1.0)
35
- sinatra (1.1.0)
35
+ sinatra (1.1.2)
36
36
  rack (~> 1.1)
37
- tilt (~> 1.1)
37
+ tilt (~> 1.2)
38
38
  syntax (1.0.0)
39
39
  test-unit (1.2.3)
40
40
  hoe (>= 1.5.1)
41
- tilt (1.1)
41
+ tilt (1.2.1)
42
42
 
43
43
  PLATFORMS
44
44
  ruby
45
45
 
46
46
  DEPENDENCIES
47
- RedCloth (= 4.2.2)
48
- builder (= 2.1.2)
49
- haml (= 3.0.12)
50
- hpricot (= 0.8.2)
51
- maruku (= 0.6.0)
47
+ RedCloth (~> 4.2)
48
+ builder (~> 3.0)
49
+ haml (~> 3.0)
50
+ hpricot (= 0.8.3)
51
+ maruku (>= 0.6.0)
52
52
  nesta!
53
- rack-test (= 0.5.3)
53
+ rack-test (= 0.5.7)
54
54
  rspec (= 1.3.0)
55
55
  rspec_hpricot_matchers (= 1.0)
56
56
  shotgun (>= 0.8)
57
- sinatra (= 1.1.0)
57
+ sinatra (= 1.1.2)
58
58
  test-unit (= 1.2.3)
data/lib/nesta/models.rb CHANGED
@@ -97,16 +97,16 @@ module Nesta
97
97
  def keywords
98
98
  metadata("keywords")
99
99
  end
100
+
101
+ def metadata(key)
102
+ @metadata[key]
103
+ end
100
104
 
101
105
  private
102
106
  def markup
103
107
  @markup
104
108
  end
105
109
 
106
- def metadata(key)
107
- @metadata[key]
108
- end
109
-
110
110
  def paragraph_is_metadata(text)
111
111
  text.split("\n").first =~ /^[\w ]+:/
112
112
  end
data/lib/nesta/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Nesta
2
- VERSION = '0.9.1'
2
+ VERSION = '0.9.2'
3
3
  end
data/nesta.gemspec CHANGED
@@ -31,19 +31,19 @@ EOF
31
31
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
32
32
  s.require_paths = ["lib"]
33
33
 
34
- s.add_dependency("builder", "2.1.2")
35
- s.add_dependency("haml", "3.0.12")
36
- s.add_dependency("maruku", "0.6.0")
37
- s.add_dependency("RedCloth", "4.2.2")
38
- s.add_dependency("sinatra", "1.1.0")
34
+ s.add_dependency('builder', '~> 3.0')
35
+ s.add_dependency('haml', '~> 3.0')
36
+ s.add_dependency('maruku', '>= 0.6.0')
37
+ s.add_dependency('RedCloth', '~> 4.2')
38
+ s.add_dependency('sinatra', '1.1.2')
39
39
 
40
40
  # Useful in development
41
- s.add_dependency("shotgun", ">= 0.8")
41
+ s.add_dependency('shotgun', '>= 0.8')
42
42
 
43
43
  # Test libraries
44
- s.add_development_dependency("hpricot", "0.8.2")
45
- s.add_development_dependency("rack-test", "0.5.3")
46
- s.add_development_dependency("rspec", "1.3.0")
47
- s.add_development_dependency("rspec_hpricot_matchers", "1.0")
48
- s.add_development_dependency("test-unit", "1.2.3")
44
+ s.add_development_dependency('hpricot', '0.8.3')
45
+ s.add_development_dependency('rack-test', '0.5.7')
46
+ s.add_development_dependency('rspec', '1.3.0')
47
+ s.add_development_dependency('rspec_hpricot_matchers', '1.0')
48
+ s.add_development_dependency('test-unit', '1.2.3')
49
49
  end
@@ -76,8 +76,8 @@ describe "nesta" do
76
76
 
77
77
  it "should commit the blank project" do
78
78
  @command.should_receive(:system).with('git', 'add', '.')
79
- @command.should_receive(:system)
80
- .with('git', 'commit', '-m', 'Initial commit')
79
+ @command.should_receive(:system).with(
80
+ 'git', 'commit', '-m', 'Initial commit')
81
81
  @command.execute
82
82
  end
83
83
  end
@@ -135,8 +135,8 @@ describe "nesta" do
135
135
  end
136
136
 
137
137
  it "should clone the repository" do
138
- @command.should_receive(:system)
139
- .with('git', 'clone', @repo_url, @demo_path)
138
+ @command.should_receive(:system).with(
139
+ 'git', 'clone', @repo_url, @demo_path)
140
140
  @command.execute
141
141
  end
142
142
 
data/spec/models_spec.rb CHANGED
@@ -222,6 +222,7 @@ describe "Page", :shared => true do
222
222
  @description = "Page about stuff"
223
223
  @summary = 'Multiline\n\nsummary'
224
224
  @read_more = "Continue at your leisure"
225
+ @skillz = "ruby, guitar, bowstaff"
225
226
  @article = create_article(:metadata => {
226
227
  "layout" => @layout,
227
228
  "template" => @template,
@@ -229,7 +230,8 @@ describe "Page", :shared => true do
229
230
  "description" => @description,
230
231
  "keywords" => @keywords,
231
232
  "summary" => @summary,
232
- "read more" => @read_more
233
+ "read more" => @read_more,
234
+ "skillz" => @skillz
233
235
  })
234
236
  end
235
237
 
@@ -288,6 +290,10 @@ describe "Page", :shared => true do
288
290
  it "should treat double newline chars as paragraph break in summary" do
289
291
  @article.summary.should match(/#{@summary.split('\n\n').last}/)
290
292
  end
293
+
294
+ it "should allow arbitrary access to metadata" do
295
+ @article.metadata('skillz').should == @skillz
296
+ end
291
297
  end
292
298
 
293
299
  describe "when checking last modification time" do
@@ -18,6 +18,7 @@ describe "Rendering" do
18
18
  end
19
19
 
20
20
  def create_template(type, name, content)
21
+ create_fixture(type, File.join('views', 'layout.haml'), '= yield')
21
22
  create_fixture(type, File.join('views', name), content)
22
23
  end
23
24
 
@@ -0,0 +1,7 @@
1
+ <%= @name.capitalize.gsub(/[_-]/, ' ') %> Nesta theme
2
+ <%= '=' * @name.length %>============
3
+
4
+ <%= @name %> is a theme for Nesta, a [Ruby CMS](nesta), designed by
5
+ <insert your name here>.
6
+
7
+ [nesta]: http://effectif.com/nesta
@@ -0,0 +1,19 @@
1
+ # Use the app.rb file to load Ruby code, modify or extend the models, or
2
+ # do whatever else you fancy when the theme is loaded.
3
+
4
+ module Nesta
5
+ class App
6
+ # Uncomment the Rack::Static line below if your theme has assets
7
+ # (i.e images or JavaScript).
8
+ #
9
+ # Put your assets in themes/<%= @name %>/public/<%= @name %>.
10
+ #
11
+ # use Rack::Static, :urls => ["/<%= @name %>"], :root => "themes/<%= @name %>/public"
12
+
13
+ helpers do
14
+ # Add new helpers here.
15
+ end
16
+
17
+ # Add new routes here.
18
+ end
19
+ end
data/views/master.sass CHANGED
@@ -110,7 +110,7 @@ div#container
110
110
  div#sidebar
111
111
  width: 12em
112
112
  margin-left: 40em
113
- padding: 1px 1em
113
+ padding: 0 1em
114
114
 
115
115
  footer.branding
116
116
  clear: both
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 9
8
- - 1
9
- version: 0.9.1
8
+ - 2
9
+ version: 0.9.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Graham Ashton
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-12-31 00:00:00 +00:00
17
+ date: 2011-01-10 00:00:00 +00:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -22,13 +22,12 @@ dependencies:
22
22
  requirement: &id001 !ruby/object:Gem::Requirement
23
23
  none: false
24
24
  requirements:
25
- - - "="
25
+ - - ~>
26
26
  - !ruby/object:Gem::Version
27
27
  segments:
28
- - 2
29
- - 1
30
- - 2
31
- version: 2.1.2
28
+ - 3
29
+ - 0
30
+ version: "3.0"
32
31
  type: :runtime
33
32
  prerelease: false
34
33
  version_requirements: *id001
@@ -37,13 +36,12 @@ dependencies:
37
36
  requirement: &id002 !ruby/object:Gem::Requirement
38
37
  none: false
39
38
  requirements:
40
- - - "="
39
+ - - ~>
41
40
  - !ruby/object:Gem::Version
42
41
  segments:
43
42
  - 3
44
43
  - 0
45
- - 12
46
- version: 3.0.12
44
+ version: "3.0"
47
45
  type: :runtime
48
46
  prerelease: false
49
47
  version_requirements: *id002
@@ -52,7 +50,7 @@ dependencies:
52
50
  requirement: &id003 !ruby/object:Gem::Requirement
53
51
  none: false
54
52
  requirements:
55
- - - "="
53
+ - - ">="
56
54
  - !ruby/object:Gem::Version
57
55
  segments:
58
56
  - 0
@@ -67,13 +65,12 @@ dependencies:
67
65
  requirement: &id004 !ruby/object:Gem::Requirement
68
66
  none: false
69
67
  requirements:
70
- - - "="
68
+ - - ~>
71
69
  - !ruby/object:Gem::Version
72
70
  segments:
73
71
  - 4
74
72
  - 2
75
- - 2
76
- version: 4.2.2
73
+ version: "4.2"
77
74
  type: :runtime
78
75
  prerelease: false
79
76
  version_requirements: *id004
@@ -87,8 +84,8 @@ dependencies:
87
84
  segments:
88
85
  - 1
89
86
  - 1
90
- - 0
91
- version: 1.1.0
87
+ - 2
88
+ version: 1.1.2
92
89
  type: :runtime
93
90
  prerelease: false
94
91
  version_requirements: *id005
@@ -116,8 +113,8 @@ dependencies:
116
113
  segments:
117
114
  - 0
118
115
  - 8
119
- - 2
120
- version: 0.8.2
116
+ - 3
117
+ version: 0.8.3
121
118
  type: :development
122
119
  prerelease: false
123
120
  version_requirements: *id007
@@ -131,8 +128,8 @@ dependencies:
131
128
  segments:
132
129
  - 0
133
130
  - 5
134
- - 3
135
- version: 0.5.3
131
+ - 7
132
+ version: 0.5.7
136
133
  type: :development
137
134
  prerelease: false
138
135
  version_requirements: *id008
@@ -203,6 +200,7 @@ extra_rdoc_files: []
203
200
 
204
201
  files:
205
202
  - .gitignore
203
+ - CHANGES
206
204
  - Gemfile
207
205
  - Gemfile.lock
208
206
  - LICENSE
@@ -241,6 +239,8 @@ files:
241
239
  - templates/config.ru
242
240
  - templates/config/config.yml
243
241
  - templates/config/deploy.rb
242
+ - templates/themes/README.md
243
+ - templates/themes/app.rb
244
244
  - views/analytics.haml
245
245
  - views/atom.builder
246
246
  - views/categories.haml
@@ -273,7 +273,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
273
273
  requirements:
274
274
  - - ">="
275
275
  - !ruby/object:Gem::Version
276
- hash: 3521966817245856409
276
+ hash: -3009128770582666243
277
277
  segments:
278
278
  - 0
279
279
  version: "0"
@@ -282,7 +282,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
282
282
  requirements:
283
283
  - - ">="
284
284
  - !ruby/object:Gem::Version
285
- hash: 3521966817245856409
285
+ hash: -3009128770582666243
286
286
  segments:
287
287
  - 0
288
288
  version: "0"