awestruct 0.5.0 → 0.5.1a

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,5 @@
1
1
  require 'awestruct/engine'
2
2
  require 'compass'
3
- require 'ninesixty'
4
3
 
5
4
  module Awestruct
6
5
  module CLI
@@ -5,13 +5,18 @@ require 'sass/plugin'
5
5
  module Awestruct
6
6
  module CLI
7
7
  class Init
8
+
9
+ def self.framework_path(path, framework = nil)
10
+ File.join [File.dirname(__FILE__), '..', 'frameworks', framework, path].compact
11
+ end
12
+
8
13
  BASE_MANIFEST = Manifest.new {
9
14
  mkdir( '_config' )
10
15
  mkdir( '_layouts' )
11
16
  mkdir( '_ext' )
12
- copy_file( '_ext/pipeline.rb', File.join( File.dirname(__FILE__), '/../frameworks/base_pipeline.rb' ) )
13
- copy_file( '.awestruct_ignore', File.join( File.dirname(__FILE__), '/../frameworks/base_awestruct_ignore' ) )
14
- copy_file( 'Rakefile', File.join( File.dirname(__FILE__), '/../frameworks/base_Rakefile' ) )
17
+ copy_file( '_ext/pipeline.rb', Init.framework_path( 'base_pipeline.rb' ) )
18
+ copy_file( '.awestruct_ignore', Init.framework_path( 'base_awestruct_ignore' ) )
19
+ copy_file( 'Rakefile', Init.framework_path( 'base_Rakefile' ) )
15
20
  mkdir( 'stylesheets' )
16
21
  }
17
22
 
@@ -23,23 +28,49 @@ module Awestruct
23
28
 
24
29
  def run()
25
30
  manifest = Manifest.new( BASE_MANIFEST )
31
+ scaffold_name = @framework
32
+ lib = nil
33
+ case @framework
34
+ when 'compass'
35
+ scaffold_name = 'blueprint'
36
+ when 'bootstrap'
37
+ lib = 'bootstrap-sass'
38
+ when 'foundation'
39
+ lib = 'zurb-foundation'
40
+ when '960'
41
+ lib = 'ninesixty'
42
+ end
43
+ require lib unless lib.nil?
26
44
  manifest.install_compass( @framework )
27
- scaffold_name = ( @framework == 'compass' ? 'blueprint' : @framework )
28
45
  if ( @scaffold )
29
- manifest.copy_file( '_layouts/base.html.haml',
30
- File.join( File.dirname(__FILE__), "/../frameworks/#{scaffold_name}/base_layout.html.haml" ) )
31
- if ( File.file? File.join( File.dirname(__FILE__), "/../frameworks/#{scaffold_name}/base_index.html.haml" ) )
32
- manifest.copy_file( 'index.html.haml',
33
- File.join( File.dirname(__FILE__), "/../frameworks/#{scaffold_name}/base_index.html.haml" ) )
46
+ manifest.copy_file( '_config/site.yml', framework_path( 'base_site.yml' ), :overwrite => true )
47
+ manifest.copy_file( '_layouts/base.html.haml', framework_path( 'base_layout.html.haml', scaffold_name ) )
48
+ base_index = framework_path( 'base_index.html.haml', scaffold_name )
49
+ if File.file? base_index
50
+ manifest.copy_file( 'index.html.haml', base_index)
34
51
  else
35
- manifest.copy_file( 'index.html.haml',
36
- File.join( File.dirname(__FILE__), "/../frameworks/base_index.html.haml" ) )
52
+ manifest.copy_file( 'index.html.haml', framework_path( 'base_index.html.haml' ) )
53
+ end
54
+
55
+ humans_txt = framework_path( 'humans.txt' )
56
+ if File.file? humans_txt
57
+ manifest.copy_file( 'humans.txt', humans_txt, :overwrite => true )
37
58
  end
59
+
38
60
  manifest.touch_file( '_config/site.yml' )
61
+ manifest.add_requires( '_ext/pipeline.rb', [lib] ) unless lib.nil?
62
+ if scaffold_name == 'foundation'
63
+ manifest.remove_file( 'index.html' )
64
+ manifest.remove_file( 'MIT-LICENSE.txt' )
65
+ end
39
66
  end
40
67
  manifest.perform( @dir )
41
68
  end
42
69
 
70
+ def framework_path(path, framework = nil)
71
+ Init.framework_path path, framework
72
+ end
73
+
43
74
  end
44
75
  end
45
76
  end
@@ -29,7 +29,6 @@ class Compass::AppIntegration::StandAlone::Installer
29
29
  rake
30
30
 
31
31
  then visit your site at: http://localhost:4242
32
-
33
32
  END
34
33
  end
35
34
  end
@@ -51,14 +50,22 @@ module Awestruct
51
50
  steps << MkDir.new( path )
52
51
  end
53
52
 
54
- def copy_file(path, input_path)
55
- steps << CopyFile.new( path, input_path )
53
+ def copy_file(path, input_path, opts = {})
54
+ steps << CopyFile.new( path, input_path, opts )
56
55
  end
57
56
 
58
57
  def touch_file(path)
59
58
  steps << TouchFile.new(path)
60
59
  end
61
60
 
61
+ def remove_file(path)
62
+ steps << RemoveFile.new(path)
63
+ end
64
+
65
+ def add_requires(path, libs = [])
66
+ steps << AddRequires.new(path, libs)
67
+ end
68
+
62
69
  def install_compass(framework)
63
70
  steps << InstallCompass.new(framework)
64
71
  end
@@ -143,15 +150,56 @@ module Awestruct
143
150
  end
144
151
  end
145
152
 
153
+ class RemoveFile
154
+ def initialize(path)
155
+ @path = path
156
+ end
157
+
158
+ def perform(dir)
159
+ FileUtils.rm( File.join( dir, @path ), :force => true )
160
+ end
161
+
162
+ def unperform(dir)
163
+ #nothing
164
+ end
165
+ end
166
+
167
+ # Adds a requires for each library in libs to the
168
+ # top of the file specified by path
169
+ class AddRequires
170
+ def initialize(path, libs)
171
+ @path = path
172
+ @libs = libs
173
+ end
174
+
175
+ def perform(dir)
176
+ file = File.join(dir, @path)
177
+ File.open(file, 'r') do |old|
178
+ File.unlink(file)
179
+ File.open(file, 'w') do |new|
180
+ @libs.each do |lib|
181
+ new.write "require '#{lib}'\n"
182
+ end
183
+ new.write old.read
184
+ end
185
+ end
186
+ end
187
+
188
+ def unperform(dir)
189
+ #nothing
190
+ end
191
+ end
192
+
146
193
  class CopyFile
147
- def initialize(path, input_path)
194
+ def initialize(path, input_path, opts = {})
148
195
  @path = path
149
196
  @input_path = input_path
197
+ @overwrite = opts[:overwrite]
150
198
  end
151
199
 
152
200
  def perform(dir )
153
201
  p = File.join( dir, @path )
154
- if ( File.exist?( p ) )
202
+ if !@overwrite && File.exist?( p )
155
203
  $LOG.error "Exists: #{p}" if $LOG.error?
156
204
  return
157
205
  end
@@ -52,7 +52,7 @@ module Awestruct
52
52
  self.init = init
53
53
  self.generate = false
54
54
  end
55
- opts.on( '-f', '--framework FRAMEWORK', 'Specify a compass framework during initialization (bootstrap, blueprint, 960)' ) do |framework|
55
+ opts.on( '-f', '--framework FRAMEWORK', 'Specify a compass framework during initialization (bootstrap, foundation, blueprint, 960)' ) do |framework|
56
56
  self.framework = framework
57
57
  end
58
58
  opts.on( '--[no-]scaffold', 'Create scaffolding during initialization (default: true)' ) do |s|
@@ -3,9 +3,9 @@ Dir[ File.join( File.dirname(__FILE__), '*.rb' ) ].each do |f|
3
3
  begin
4
4
  require f
5
5
  rescue LoadError => e
6
- puts "WARNING: Missing required dependency to activate optional built in extension #{File.basename(f)}\n #{e}"
6
+ puts "WARNING: Missing required dependency to activate optional built-in extension #{File.basename(f)}\n #{e}"
7
7
  rescue StandardError => e
8
- puts "WARNING: Missing runtime configuration to activate optional built in extension #{File.basename(f)}\n #{e}"
8
+ puts "WARNING: Missing runtime configuration to activate optional built-in extension #{File.basename(f)}\n #{e}"
9
9
  end
10
10
  end
11
11
 
@@ -9,7 +9,7 @@ module Awestruct
9
9
  @archive_path = archive_path
10
10
  @path_prefix = path_prefix
11
11
  @assign_to = assign_to
12
- @default_layout = opts[:default_layout] || 'posts'
12
+ @default_layout = opts[:default_layout] || 'post'
13
13
  end
14
14
 
15
15
  def execute(site)
@@ -0,0 +1,194 @@
1
+ # This file is a rake build file. The purpose of this file is to simplify
2
+ # setting up and using Awestruct. It's not required to use Awestruct, though it
3
+ # does save you time (hopefully). If you don't want to use rake, just ignore or
4
+ # delete this file.
5
+ #
6
+ # If you're just getting started, execute this command to install Awestruct and
7
+ # the libraries on which it depends:
8
+ #
9
+ # rake setup
10
+ #
11
+ # The setup task installs the necessary libraries according to which Ruby
12
+ # environment you are using. If you want the libraries kept inside the project,
13
+ # execute this command instead:
14
+ #
15
+ # rake setup[local]
16
+ #
17
+ # IMPORTANT: To install gems, you'll need development tools on your machine,
18
+ # which include a C compiler, the Ruby development libraries and some other
19
+ # development libraries as well.
20
+ #
21
+ # There are also tasks for running Awestruct. The build will auto-detect
22
+ # whether you are using Bundler and, if you are, wrap calls to awestruct in
23
+ # `bundle exec`.
24
+ #
25
+ # To run in Awestruct in development mode, execute:
26
+ #
27
+ # rake
28
+ #
29
+ # To clean the generated site before you build, execute:
30
+ #
31
+ # rake clean preview
32
+ #
33
+ # To deploy using the production profile, execute:
34
+ #
35
+ # rake deploy
36
+ #
37
+ # To get a list of all tasks, execute:
38
+ #
39
+ # rake -T
40
+ #
41
+ # Now you're Awestruct with rake!
42
+
43
+ $use_bundle_exec = true
44
+ $install_gems = ['awestruct -v "~> 0.5.0"', 'rb-inotify -v "~> 0.9.0"']
45
+ $awestruct_cmd = nil
46
+ task :default => :preview
47
+
48
+ desc 'Setup the environment to run Awestruct'
49
+ task :setup, [:env] => :init do |task, args|
50
+ next if !which('awestruct').nil?
51
+
52
+ if File.exist? 'Gemfile'
53
+ if args[:env] == 'local'
54
+ require 'fileutils'
55
+ FileUtils.remove_file 'Gemfile.lock', true
56
+ FileUtils.remove_dir '.bundle', true
57
+ system 'bundle install --binstubs=_bin --path=.bundle'
58
+ else
59
+ system 'bundle install'
60
+ end
61
+ else
62
+ if args[:env] == 'local'
63
+ $install_gems.each do |gem|
64
+ msg "Installing #{gem}..."
65
+ system "gem install --bindir=_bin --install-dir=.bundle #{gem}"
66
+ end
67
+ else
68
+ $install_gems.each do |gem|
69
+ msg "Installing #{gem}..."
70
+ system "gem install #{gem}"
71
+ end
72
+ end
73
+ end
74
+ msg 'Run awestruct using `awestruct` or `rake`'
75
+ # Don't execute any more tasks, need to reset env
76
+ exit 0
77
+ end
78
+
79
+ desc 'Update the environment to run Awestruct'
80
+ task :update => :init do
81
+ if File.exist? 'Gemfile'
82
+ system 'bundle update'
83
+ else
84
+ system 'gem update awestruct'
85
+ end
86
+ # Don't execute any more tasks, need to reset env
87
+ exit 0
88
+ end
89
+
90
+ desc 'Build and preview the site locally in development mode'
91
+ task :preview => :check do
92
+ run_awestruct '-d'
93
+ end
94
+
95
+ desc 'Generate the site using the development profile'
96
+ task :gen => :check do
97
+ run_awestruct '-P development -g --force'
98
+ end
99
+
100
+ desc 'Generate the site and deploy to production'
101
+ task :deploy => :check do
102
+ run_awestruct '-P production -g --force --deploy'
103
+ end
104
+
105
+ desc 'Clean out generated site and temporary files'
106
+ task :clean, :spec do |task, args|
107
+ require 'fileutils'
108
+ dirs = ['.awestruct', '.sass-cache', '_site']
109
+ if args[:spec] == 'all'
110
+ dirs << '_tmp'
111
+ end
112
+ dirs.each do |dir|
113
+ FileUtils.remove_dir dir unless !File.directory? dir
114
+ end
115
+ end
116
+
117
+ # Perform initialization steps, such as setting up the PATH
118
+ task :init do
119
+ # Detect using gems local to project
120
+ if File.exist? '_bin'
121
+ ENV['PATH'] = "_bin#{File::PATH_SEPARATOR}#{ENV['PATH']}"
122
+ ENV['GEM_HOME'] = '.bundle'
123
+ end
124
+ end
125
+
126
+ desc 'Check to ensure the environment is properly configured'
127
+ task :check => :init do
128
+ if !File.exist? 'Gemfile'
129
+ if which('awestruct').nil?
130
+ msg 'Could not find awestruct.', :warn
131
+ msg 'Run `rake setup` or `rake setup[local]` to install from RubyGems.'
132
+ # Enable once the rubygem-awestruct RPM is available
133
+ #msg 'Run `sudo yum install rubygem-awestruct` to install via RPM. (Fedora >= 18)'
134
+ exit 1
135
+ else
136
+ $use_bundle_exec = false
137
+ next
138
+ end
139
+ end
140
+
141
+ begin
142
+ require 'bundler'
143
+ Bundler.setup
144
+ rescue LoadError
145
+ $use_bundle_exec = false
146
+ rescue StandardError => e
147
+ msg e.message, :warn
148
+ if which('awestruct').nil?
149
+ msg 'Run `rake setup` or `rake setup[local]` to install required gems from RubyGems.'
150
+ else
151
+ msg 'Run `rake update` to install additional required gems from RubyGems.'
152
+ end
153
+ exit e.status_code
154
+ end
155
+ end
156
+
157
+ # Execute Awestruct
158
+ def run_awestruct(args)
159
+ system "#{$use_bundle_exec ? 'bundle exec ' : ''}awestruct #{args}"
160
+ end
161
+
162
+ # A cross-platform means of finding an executable in the $PATH.
163
+ # Respects $PATHEXT, which lists valid file extensions for executables on Windows
164
+ #
165
+ # which 'awestruct'
166
+ # => /usr/bin/awestruct
167
+ def which(cmd, opts = {})
168
+ unless $awestruct_cmd.nil? || opts[:clear_cache]
169
+ return $awestruct_cmd
170
+ end
171
+
172
+ $awestruct_cmd = nil
173
+ exts = ENV['PATHEXT'] ? ENV['PATHEXT'].split(';') : ['']
174
+ ENV['PATH'].split(File::PATH_SEPARATOR).each do |path|
175
+ exts.each do |ext|
176
+ candidate = File.join path, "#{cmd}#{ext}"
177
+ if File.executable? candidate
178
+ $awestruct_cmd = candidate
179
+ return $awestruct_cmd
180
+ end
181
+ end
182
+ end
183
+ return $awestruct_cmd
184
+ end
185
+
186
+ # Print a message to STDOUT
187
+ def msg(text, level = :info)
188
+ case level
189
+ when :warn
190
+ puts "\e[31m#{text}\e[0m"
191
+ else
192
+ puts "\e[33m#{text}\e[0m"
193
+ end
194
+ end
@@ -0,0 +1,2 @@
1
+ Gemfile*
2
+ Rakefile
@@ -1,6 +1,7 @@
1
1
 
2
2
  Awestruct::Extensions::Pipeline.new do
3
- # extension Awestruct::Extensions::Posts.new( '/news' )
3
+ # extension Awestruct::Extensions::Posts.new '/news'
4
4
  # extension Awestruct::Extensions::Indexifier.new
5
+ # Indexifier *must* come before Atomizer
6
+ # extension Awestruct::Extensions::Atomizer.new :posts, '/feed.atom'
5
7
  end
6
-
@@ -0,0 +1,4 @@
1
+ name: Project Name
2
+ title: Baked with Awestruct
3
+ org: Organization
4
+ base_url: ''
@@ -3,7 +3,7 @@ layout: base
3
3
  ---
4
4
  .hero-unit
5
5
  %h1 You're awestruct!
6
- %p This site is all setup to use Twitter Bootstrap with Awestruct.
6
+ %p This site is all setup to use Bootstrap 2 with Awestruct.
7
7
  %p
8
8
  %a.btn.btn-primary.btn-large{ :href=>'http://awestruct.org' }
9
9
  %i.icon-info-sign.icon-white
@@ -0,0 +1,34 @@
1
+ ---
2
+ layout: base
3
+ ---
4
+ .row
5
+ .large-12.columns
6
+ %h1 You're awestruct!
7
+ %hr
8
+
9
+ .row
10
+ .large-12.columns
11
+ .panel
12
+ %h3 Get started
13
+ %p This site is all setup to use Foundation 4 with Awestruct.
14
+ %a.button{:href=>'http://awestruct.org'} Check out Foundation 4
15
+ %a.button.secondary{:href=>'http://awestruct.org'} Check out Awestruct
16
+
17
+ .row
18
+ .large-4.columns
19
+ %h3 About
20
+ %p Awestruct is a framework for creating static HTML sites. It's inspired by the awesome Jekyll utility in the same genre. Additionally, Awestruct integrates technologies such as Compass, Markdown and Haml.
21
+ %p
22
+ %a.button{:href=>'http://awestruct.org'} View details &raquo;
23
+
24
+ .large-4.columns
25
+ %h3 Goal
26
+ %p The goal of Awestruct is to make it trivially easy to bake out non-trivial static websites. In addition to providing template-driven site creation (using Haml), Awestruct provides facilities for easily priming the site creation with additional non-page data.
27
+ %p
28
+ %a.button{:href=>'http://awestruct.org'} View details &raquo;
29
+
30
+ .large-4.columns
31
+ %h3 Concept
32
+ %p The core concept of Awestruct is that of structures, specifically Ruby OpenStruct structures. The struct aspect allows arbitrary, schema-less data to be associated with a specific page or the entire site.
33
+ %p
34
+ %a.button{:href=>'http://awestruct.org'} View details &raquo;
@@ -0,0 +1,58 @@
1
+ !!!5
2
+ -# To understand why the html tag is setup this way,
3
+ -# see http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither
4
+ <!--[if IE 8]><html class="no-js lt-ie9" lang="en"><![endif]-->
5
+ <!--[if gt IE 8]><!--><html class="no-js" lang="en"><!--<![endif]-->
6
+ %head
7
+ %meta(charset='utf-8')
8
+ %meta(name='viewport' content='width=device-width, initial-scale=1.0')
9
+ %title=site.title
10
+ %link{:rel=>'stylesheet', :href=>"#{site.base_url}/stylesheets/normalize.css"}
11
+ %link{:rel=>'stylesheet', :href=>"#{site.base_url}/stylesheets/app.css"}
12
+ %script(src="#{site.base_url}/javascripts/vendor/custom.modernizr.js")
13
+ %link{:rel=>'author', :type=>'text/plain', :href=>"#{site.base_url}/humans.txt"}
14
+ %body.antialiased
15
+ %nav.top-bar
16
+ %ul.title-area
17
+ %li.name
18
+ %h1
19
+ %a(href="#{site.base_url}/")=site.name
20
+ %li.toggle-topbar.menu-icon
21
+ %a{:href=>'#'}<
22
+ %span
23
+ %section.top-bar-section
24
+ %ul.right
25
+ %li.divider
26
+ %li
27
+ %a{:href=>"#{site.base_url}/"} Home
28
+ -#%li.divider
29
+ -# %li
30
+ -# %a{:href=>"#{site.base_url}/blog"} Blog
31
+ .row
32
+ .large-12.columns
33
+ ~ content
34
+ %footer.row(style='max-width: 100%')
35
+ %hr
36
+ .large-6.columns
37
+ %p(style='margin-bottom: .75em')
38
+ &copy; #{site.org} #{Date.today.year}
39
+ %br
40
+ Built on Foundation. Baked by Awestruct.
41
+ .large-6.columns
42
+ %ul.inline-list.right
43
+ %li
44
+ %a{:href=>"#{site.base_url}/"} Home
45
+ -#%li
46
+ -# %a{:href=>"#{site.base_url}/blog"} Blog
47
+ %script
48
+ document.write('<script src=' + ('__proto__' in {} ? '#{site.base_url}/javascripts/vendor/zepto' : '#{site.base_url}/javascripts/vendor/jquery') + '.js><\/script>')
49
+ %script{:src=>"#{site.base_url}/javascripts/foundation/foundation.js"}
50
+ -# select foundation components from this array and add them to the one on the line below it
51
+ -# [:orbit, :cookie, :clearing, :magellan, :section, :alerts, :topbar, :joyride, :forms, :tooltips, :dropdown, :placeholder, :reveal]
52
+ - [:topbar].each do |component|
53
+ %script{:src=>"#{site.base_url}/javascripts/foundation/foundation.#{component}.js"}
54
+ %script
55
+ $(document).foundation()
56
+ - if site.google_analytics
57
+ =google_analytics_async
58
+ </html>
@@ -0,0 +1,7 @@
1
+ /* Foundation was made by ZURB (zurb.com), an interaction design and design strategy firm in Campbell, CA */
2
+ /* To learn more about this file, visit humanstxt.org */
3
+
4
+ /* SITE */
5
+ Standards: HTML5, CSS3
6
+ Components: Foundation, Normalize, Modernizr, Zepto, jQuery
7
+ Software: Ruby, Rake, Awestruct, Haml, Git
@@ -4,7 +4,6 @@ require 'awestruct/handlers/front_matter_handler'
4
4
  require 'awestruct/handlers/layout_handler'
5
5
 
6
6
  require 'compass'
7
- require 'bootstrap-sass'
8
7
 
9
8
  module Awestruct
10
9
  module Handlers
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2007-2008 Sharon Rosner
2
+ Copyright (c) 2008-2009 Jeremy Evans
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ of this software and associated documentation files (the "Software"), to
6
+ deal in the Software without restriction, including without limitation the
7
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
8
+ sell copies of the Software, and to permit persons to whom the Software is
9
+ furnished to do so, subject to the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be included in
12
+ all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17
+ THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,4 +1,4 @@
1
1
 
2
2
  module Awestruct
3
- VERSION='0.5.0'
3
+ VERSION='0.5.1a'
4
4
  end
data/man/awestruct.1 CHANGED
@@ -2,12 +2,12 @@
2
2
  .\" Title: awestruct
3
3
  .\" Author: [see the "AUTHORS" section]
4
4
  .\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
5
- .\" Date: 03/11/2013
5
+ .\" Date: 03/29/2013
6
6
  .\" Manual: \ \&
7
7
  .\" Source: \ \&
8
8
  .\" Language: English
9
9
  .\"
10
- .TH "AWESTRUCT" "1" "03/11/2013" "\ \&" "\ \&"
10
+ .TH "AWESTRUCT" "1" "03/29/2013" "\ \&" "\ \&"
11
11
  .\" -----------------------------------------------------------------
12
12
  .\" * Define some portability stuff
13
13
  .\" -----------------------------------------------------------------
@@ -50,6 +50,7 @@ directory\&.
50
50
  \fB\-f, \-\-framework\fR=\fIFRAMEWORK\fR
51
51
  .RS 4
52
52
  Specify a Compass framework during initialization to use in the project\&. (\fIbootstrap\fR,
53
+ \fIfoundation\fR,
53
54
  \fIblueprint\fR,
54
55
  \fI960\fR)
55
56
  .RE
@@ -16,7 +16,7 @@ describe Awestruct::Extensions::Posts do
16
16
 
17
17
  it "should have 'posts' as a layout by default" do
18
18
  extension = Awestruct::Extensions::Posts.new('/posts', :posts)
19
- extension.default_layout.should eql 'posts'
19
+ extension.default_layout.should eql 'post'
20
20
  end
21
21
 
22
22
  it "should have a nil archive template by default" do
@@ -45,18 +45,18 @@ describe Awestruct::Extensions::Posts do
45
45
  end
46
46
 
47
47
  it "should accept a default layout for post pages" do
48
- extension = Awestruct::Extensions::Posts.new( '/posts', :news, nil, nil, :default_layout => 'post' )
48
+ extension = Awestruct::Extensions::Posts.new( '/posts', :news, nil, nil, :default_layout => 'blog' )
49
49
  extension.archive_path.should be_nil
50
50
  extension.archive_template.should be_nil
51
- extension.default_layout.should == 'post'
51
+ extension.default_layout.should == 'blog'
52
52
  end
53
53
 
54
54
  it "should assign default layout if specified to post without layout" do
55
- extension = Awestruct::Extensions::Posts.new( '/posts', :news, nil, nil, :default_layout => 'post' )
55
+ extension = Awestruct::Extensions::Posts.new( '/posts', :news, nil, nil, :default_layout => 'blog' )
56
56
  site = Hashery::OpenCascade[ { :encoding=>false } ]
57
57
  page = __create_page( 2012, 8, 9, '/posts/mock-post.md' )
58
58
  page.stub(:layout).and_return(nil)
59
- page.should_receive(:layout=).with('post')
59
+ page.should_receive(:layout=).with('blog')
60
60
  page.stub(:slug).and_return(nil, 'mock-post')
61
61
  page.should_receive(:slug=).with('mock-post')
62
62
  page.should_receive(:output_path=).with('/posts/2012/08/09/mock-post.html')
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awestruct
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
5
- prerelease:
4
+ version: 0.5.1a
5
+ prerelease: 5
6
6
  platform: ruby
7
7
  authors:
8
8
  - Bob McWhirter and other contributors
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-28 00:00:00.000000000 Z
12
+ date: 2013-05-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: haml
@@ -107,6 +107,22 @@ dependencies:
107
107
  - - ~>
108
108
  - !ruby/object:Gem::Version
109
109
  version: 2.3.1.0
110
+ - !ruby/object:Gem::Dependency
111
+ name: zurb-foundation
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 4.0.9
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 4.0.9
110
126
  - !ruby/object:Gem::Dependency
111
127
  name: json
112
128
  requirement: !ruby/object:Gem::Requirement
@@ -214,7 +230,18 @@ files:
214
230
  - lib/awestruct/config.rb
215
231
  - lib/awestruct/handler_chains.rb
216
232
  - lib/awestruct/context.rb
233
+ - lib/awestruct/frameworks/960/base_layout.html.haml
234
+ - lib/awestruct/frameworks/base_awestruct_ignore
235
+ - lib/awestruct/frameworks/base_index.html.haml
217
236
  - lib/awestruct/frameworks/base_pipeline.rb
237
+ - lib/awestruct/frameworks/base_site.yml
238
+ - lib/awestruct/frameworks/bootstrap/base_layout.html.haml
239
+ - lib/awestruct/frameworks/bootstrap/base_index.html.haml
240
+ - lib/awestruct/frameworks/foundation/base_layout.html.haml
241
+ - lib/awestruct/frameworks/foundation/base_index.html.haml
242
+ - lib/awestruct/frameworks/foundation/humans.txt
243
+ - lib/awestruct/frameworks/blueprint/base_layout.html.haml
244
+ - lib/awestruct/frameworks/base_Rakefile
218
245
  - lib/awestruct/rack/app.rb
219
246
  - lib/awestruct/astruct.rb
220
247
  - lib/awestruct/pipeline.rb
@@ -241,8 +268,10 @@ files:
241
268
  - lib/awestruct/handlers/file_handler.rb
242
269
  - lib/awestruct/handlers/redirect_handler.rb
243
270
  - lib/awestruct/handlers/base_tilt_handler.rb
271
+ - lib/awestruct/util/COPYING
244
272
  - lib/awestruct/util/default_inflections.rb
245
273
  - lib/awestruct/util/inflector.rb
274
+ - lib/awestruct/config/default-site.yml
246
275
  - lib/awestruct/site.rb
247
276
  - lib/awestruct/deployers.rb
248
277
  - lib/awestruct/astruct_mixin.rb
@@ -258,11 +287,14 @@ files:
258
287
  - lib/awestruct/cli/deploy.rb
259
288
  - lib/awestruct/cli/manifest.rb
260
289
  - lib/awestruct/extensions/posts.rb
290
+ - lib/awestruct/extensions/tag_cloud.html.haml
261
291
  - lib/awestruct/extensions/google_analytics.rb
262
292
  - lib/awestruct/extensions/atomizer.rb
263
293
  - lib/awestruct/extensions/pipeline.rb
264
294
  - lib/awestruct/extensions/indexifier.rb
295
+ - lib/awestruct/extensions/template.atom.haml
265
296
  - lib/awestruct/extensions/data_dir.rb
297
+ - lib/awestruct/extensions/sitemap.xml.haml
266
298
  - lib/awestruct/extensions/tag_cloud.rb
267
299
  - lib/awestruct/extensions/cachebuster.rb
268
300
  - lib/awestruct/extensions/relative.rb
@@ -284,15 +316,6 @@ files:
284
316
  - lib/awestruct/dependencies.rb
285
317
  - lib/awestruct/logger.rb
286
318
  - lib/awestruct/engine.rb
287
- - lib/awestruct/frameworks/960/base_layout.html.haml
288
- - lib/awestruct/frameworks/base_index.html.haml
289
- - lib/awestruct/frameworks/bootstrap/base_layout.html.haml
290
- - lib/awestruct/frameworks/bootstrap/base_index.html.haml
291
- - lib/awestruct/frameworks/blueprint/base_layout.html.haml
292
- - lib/awestruct/extensions/tag_cloud.html.haml
293
- - lib/awestruct/extensions/template.atom.haml
294
- - lib/awestruct/extensions/sitemap.xml.haml
295
- - lib/awestruct/config/default-site.yml
296
319
  - spec/yaml_handler_spec.rb
297
320
  - spec/mustache_handler_spec.rb
298
321
  - spec/options_spec.rb
@@ -418,16 +441,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
418
441
  version: '0'
419
442
  segments:
420
443
  - 0
421
- hash: 1113133206677710409
444
+ hash: 773767743724011562
422
445
  required_rubygems_version: !ruby/object:Gem::Requirement
423
446
  none: false
424
447
  requirements:
425
- - - ! '>='
448
+ - - ! '>'
426
449
  - !ruby/object:Gem::Version
427
- version: '0'
428
- segments:
429
- - 0
430
- hash: 1113133206677710409
450
+ version: 1.3.1
431
451
  requirements:
432
452
  - Any markup languages you are using and its dependencies
433
453
  - If LESS is used, or some other fixes within tilt, it is required to use Bundler