awestruct 0.5.0 → 0.5.1a

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.
@@ -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