forge 0.0.1 → 0.0.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.
Files changed (34) hide show
  1. data/.gitmodules +3 -3
  2. data/Gemfile +9 -8
  3. data/Gemfile.lock +13 -12
  4. data/README.md +25 -4
  5. data/Rakefile +2 -2
  6. data/VERSION +1 -1
  7. data/forge.gemspec +40 -34
  8. data/layouts/config/config.json.erb +21 -1
  9. data/layouts/config/stylesheet_header.erb +5 -1
  10. data/layouts/default/javascripts/admin.js +1 -0
  11. data/layouts/default/javascripts/theme.js +1 -0
  12. data/layouts/default/stylesheets/_reset.scss +1 -1
  13. data/layouts/default/stylesheets/style.css.scss.erb +3 -2
  14. data/layouts/default/templates/404.php.erb +4 -4
  15. data/layouts/default/templates/attachment.php.erb +1 -3
  16. data/layouts/default/templates/footer.php +2 -2
  17. data/layouts/default/templates/header.php.erb +18 -19
  18. data/layouts/default/templates/index.php +1 -3
  19. data/layouts/default/templates/page.php +3 -7
  20. data/layouts/default/templates/partials/loop.php.erb +17 -11
  21. data/layouts/default/templates/search.php.erb +2 -4
  22. data/layouts/default/templates/single.php.erb +2 -4
  23. data/layouts/lib/{forge-settings → struts}/README.md +2 -2
  24. data/layouts/lib/{forge-settings → struts}/classes/settings.php +0 -0
  25. data/layouts/lib/{forge-settings → struts}/classes/settings/collection.php +0 -0
  26. data/layouts/lib/{forge-settings → struts}/classes/settings/option.php +0 -0
  27. data/layouts/lib/{forge-settings → struts}/classes/settings/option/select.php +0 -0
  28. data/layouts/lib/{forge-settings → struts}/classes/settings/option/text.php +0 -0
  29. data/layouts/lib/{forge-settings → struts}/classes/settings/section.php +0 -0
  30. data/lib/forge/builder.rb +50 -25
  31. data/lib/forge/cli.rb +18 -23
  32. data/lib/forge/generator.rb +13 -3
  33. data/pkg/forge-0.0.2.gem +0 -0
  34. metadata +69 -55
data/.gitmodules CHANGED
@@ -1,3 +1,3 @@
1
- [submodule "layouts/lib/forge-settings"]
2
- path = layouts/lib/forge-settings
3
- url = git@github.com:jestro/forge-settings.git
1
+ [submodule "layouts/lib/struts"]
2
+ path = layouts/lib/struts
3
+ url = git@github.com:jestro/struts.git
data/Gemfile CHANGED
@@ -3,14 +3,15 @@ source "http://rubygems.org"
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
 
6
- gem "thor"
7
- gem "guard"
8
- gem "sprockets"
9
- gem "rubyzip"
10
- gem "json"
11
- gem "sass"
12
- gem "sprockets-sass"
13
- gem "compass"
6
+ gem "thor", "~> 0.14.6"
7
+ gem "guard", "~> 0.8.4"
8
+ gem "sprockets", "~> 2.0.2"
9
+ gem "rubyzip", "~> 0.9.4"
10
+ gem "json", "~> 1.6.1"
11
+ gem "sass", "~> 3.1.8"
12
+ gem "sprockets-sass", "~> 0.3.0"
13
+ gem "compass", "~> 0.11.5"
14
+ gem 'rack', '1.3.3'
14
15
 
15
16
  # Add dependencies to develop your gem here.
16
17
  # Include everything needed to run rake, tests, features, etc.
data/Gemfile.lock CHANGED
@@ -29,7 +29,7 @@ GEM
29
29
  gherkin (2.5.1)
30
30
  json (>= 1.4.6)
31
31
  git (1.2.5)
32
- guard (0.8.1)
32
+ guard (0.8.4)
33
33
  thor (~> 0.14.6)
34
34
  hike (1.2.1)
35
35
  jeweler (1.6.4)
@@ -50,12 +50,12 @@ GEM
50
50
  diff-lcs (~> 1.1.2)
51
51
  rspec-mocks (2.6.0)
52
52
  rubyzip (0.9.4)
53
- sass (3.1.7)
54
- sprockets (2.0.0)
53
+ sass (3.1.8)
54
+ sprockets (2.0.2)
55
55
  hike (~> 1.2)
56
56
  rack (~> 1.0)
57
57
  tilt (!= 1.3.0, ~> 1.1)
58
- sprockets-sass (0.2.3)
58
+ sprockets-sass (0.3.0)
59
59
  sprockets (~> 2.0)
60
60
  term-ansicolor (1.0.6)
61
61
  thor (0.14.6)
@@ -67,15 +67,16 @@ PLATFORMS
67
67
  DEPENDENCIES
68
68
  aruba
69
69
  bundler (~> 1.0.0)
70
- compass
70
+ compass (~> 0.11.5)
71
71
  cucumber
72
- guard
72
+ guard (~> 0.8.4)
73
73
  jeweler (~> 1.6.4)
74
- json
74
+ json (~> 1.6.1)
75
+ rack (= 1.3.3)
75
76
  rcov
76
77
  rspec
77
- rubyzip
78
- sass
79
- sprockets
80
- sprockets-sass
81
- thor
78
+ rubyzip (~> 0.9.4)
79
+ sass (~> 3.1.8)
80
+ sprockets (~> 2.0.2)
81
+ sprockets-sass (~> 0.3.0)
82
+ thor (~> 0.14.6)
data/README.md CHANGED
@@ -1,12 +1,12 @@
1
1
  ## Forge is a toolkit for bootstrapping and developing WordPress themes.
2
2
 
3
- [Forge website and screencast](http://forge.thethemefoundry.com/)
3
+ [Forge website](http://forge.thethemefoundry.com/)
4
4
 
5
5
  [User's manual](http://forge.thethemefoundry.com/manual)
6
6
 
7
7
  -----
8
8
 
9
- Current Version: **0.1.0**
9
+ Current Version: **0.0.2**
10
10
 
11
11
  Install Forge (requires [Ruby](http://www.ruby-lang.org/) and [RubyGems](http://rubygems.org/)):
12
12
 
@@ -14,11 +14,32 @@ Install Forge (requires [Ruby](http://www.ruby-lang.org/) and [RubyGems](http://
14
14
 
15
15
  Create your new theme project:
16
16
 
17
- $ forge create themename
17
+ $ forge create your_theme
18
+
19
+ Change to your new project directory:
20
+
21
+ $ cd your_theme
22
+
23
+ Link to your WordPress theme folder:
24
+
25
+ $ forge link /path/to/wordpress/wp-content/themes/your_theme
18
26
 
19
27
  Watch for changes and start developing!
20
28
 
21
- $ cd themename
22
29
  $ forge watch
23
30
 
31
+ Press Ctrl + C to exit watch mode
32
+
33
+ Build your theme into the build_here directory:
34
+
35
+ $ forge build build_here
36
+
37
+ Package your theme as your_theme.zip:
38
+
39
+ $ forge package your_theme
40
+
41
+ Get a little help with the Forge commands:
42
+
43
+ $ forge help
44
+
24
45
  See the [user's manual](http://forge.thethemefoundry.com/manual) for more information.
data/Rakefile CHANGED
@@ -15,14 +15,14 @@ require 'jeweler'
15
15
  Jeweler::Tasks.new do |gem|
16
16
  # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
17
  gem.name = "forge"
18
- gem.homepage = "http://nohomepageyet.org"
18
+ gem.homepage = "http://forge.thethemefoundry.com"
19
19
  gem.license = "MIT"
20
20
  gem.summary = %Q{A tool for developing wordpress themes}
21
21
  gem.description = %Q{A toolkit for bootstrapping and developing WordPress themes.}
22
22
  gem.email = "aadams@jestro.com"
23
23
  gem.authors = ["Andy Adams", "Drew Strojny", "Matt Button"]
24
24
  # dependencies defined in Gemfile
25
- gem.files.include Dir.glob('layouts/lib/forge-settings/**/*')
25
+ gem.files.include Dir.glob('**/*')
26
26
  end
27
27
  Jeweler::RubygemsDotOrgTasks.new
28
28
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
data/forge.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "forge"
8
- s.version = "0.0.0"
8
+ s.version = "0.0.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Andy Adams", "Drew Strojny", "Matt Button"]
12
- s.date = "2011-10-06"
12
+ s.date = "2011-10-07"
13
13
  s.description = "A toolkit for bootstrapping and developing WordPress themes."
14
14
  s.email = "aadams@jestro.com"
15
15
  s.executables = ["forge"]
@@ -36,6 +36,8 @@ Gem::Specification.new do |s|
36
36
  "layouts/config/config.json.erb",
37
37
  "layouts/config/stylesheet_header.erb",
38
38
  "layouts/default/functions/functions.php.erb",
39
+ "layouts/default/javascripts/admin.js",
40
+ "layouts/default/javascripts/theme.js",
39
41
  "layouts/default/stylesheets/_reset.scss",
40
42
  "layouts/default/stylesheets/_typography.scss",
41
43
  "layouts/default/stylesheets/style.css.scss.erb",
@@ -51,13 +53,13 @@ Gem::Specification.new do |s|
51
53
  "layouts/default/templates/search.php.erb",
52
54
  "layouts/default/templates/sidebar.php",
53
55
  "layouts/default/templates/single.php.erb",
54
- "layouts/lib/forge-settings/README.md",
55
- "layouts/lib/forge-settings/classes/settings.php",
56
- "layouts/lib/forge-settings/classes/settings/collection.php",
57
- "layouts/lib/forge-settings/classes/settings/option.php",
58
- "layouts/lib/forge-settings/classes/settings/option/select.php",
59
- "layouts/lib/forge-settings/classes/settings/option/text.php",
60
- "layouts/lib/forge-settings/classes/settings/section.php",
56
+ "layouts/lib/struts/README.md",
57
+ "layouts/lib/struts/classes/settings.php",
58
+ "layouts/lib/struts/classes/settings/collection.php",
59
+ "layouts/lib/struts/classes/settings/option.php",
60
+ "layouts/lib/struts/classes/settings/option/select.php",
61
+ "layouts/lib/struts/classes/settings/option/text.php",
62
+ "layouts/lib/struts/classes/settings/section.php",
61
63
  "lib/forge.rb",
62
64
  "lib/forge/builder.rb",
63
65
  "lib/forge/cli.rb",
@@ -71,11 +73,12 @@ Gem::Specification.new do |s|
71
73
  "lib/guard/forge/config.rb",
72
74
  "lib/guard/forge/functions.rb",
73
75
  "lib/guard/forge/templates.rb",
76
+ "pkg/forge-0.0.2.gem",
74
77
  "spec/lib/forge/config_spec.rb",
75
78
  "spec/lib/forge/project_spec.rb",
76
79
  "spec/spec_helper.rb"
77
80
  ]
78
- s.homepage = "http://nohomepageyet.org"
81
+ s.homepage = "http://forge.thethemefoundry.com"
79
82
  s.licenses = ["MIT"]
80
83
  s.require_paths = ["lib"]
81
84
  s.rubygems_version = "1.8.11"
@@ -85,14 +88,15 @@ Gem::Specification.new do |s|
85
88
  s.specification_version = 3
86
89
 
87
90
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
88
- s.add_runtime_dependency(%q<thor>, [">= 0"])
89
- s.add_runtime_dependency(%q<guard>, [">= 0"])
90
- s.add_runtime_dependency(%q<sprockets>, [">= 0"])
91
- s.add_runtime_dependency(%q<rubyzip>, [">= 0"])
92
- s.add_runtime_dependency(%q<json>, [">= 0"])
93
- s.add_runtime_dependency(%q<sass>, [">= 0"])
94
- s.add_runtime_dependency(%q<sprockets-sass>, [">= 0"])
95
- s.add_runtime_dependency(%q<compass>, [">= 0"])
91
+ s.add_runtime_dependency(%q<thor>, ["~> 0.14.6"])
92
+ s.add_runtime_dependency(%q<guard>, ["~> 0.8.4"])
93
+ s.add_runtime_dependency(%q<sprockets>, ["~> 2.0.2"])
94
+ s.add_runtime_dependency(%q<rubyzip>, ["~> 0.9.4"])
95
+ s.add_runtime_dependency(%q<json>, ["~> 1.6.1"])
96
+ s.add_runtime_dependency(%q<sass>, ["~> 3.1.8"])
97
+ s.add_runtime_dependency(%q<sprockets-sass>, ["~> 0.3.0"])
98
+ s.add_runtime_dependency(%q<compass>, ["~> 0.11.5"])
99
+ s.add_runtime_dependency(%q<rack>, ["= 1.3.3"])
96
100
  s.add_development_dependency(%q<rspec>, [">= 0"])
97
101
  s.add_development_dependency(%q<cucumber>, [">= 0"])
98
102
  s.add_development_dependency(%q<aruba>, [">= 0"])
@@ -100,14 +104,15 @@ Gem::Specification.new do |s|
100
104
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
101
105
  s.add_development_dependency(%q<rcov>, [">= 0"])
102
106
  else
103
- s.add_dependency(%q<thor>, [">= 0"])
104
- s.add_dependency(%q<guard>, [">= 0"])
105
- s.add_dependency(%q<sprockets>, [">= 0"])
106
- s.add_dependency(%q<rubyzip>, [">= 0"])
107
- s.add_dependency(%q<json>, [">= 0"])
108
- s.add_dependency(%q<sass>, [">= 0"])
109
- s.add_dependency(%q<sprockets-sass>, [">= 0"])
110
- s.add_dependency(%q<compass>, [">= 0"])
107
+ s.add_dependency(%q<thor>, ["~> 0.14.6"])
108
+ s.add_dependency(%q<guard>, ["~> 0.8.4"])
109
+ s.add_dependency(%q<sprockets>, ["~> 2.0.2"])
110
+ s.add_dependency(%q<rubyzip>, ["~> 0.9.4"])
111
+ s.add_dependency(%q<json>, ["~> 1.6.1"])
112
+ s.add_dependency(%q<sass>, ["~> 3.1.8"])
113
+ s.add_dependency(%q<sprockets-sass>, ["~> 0.3.0"])
114
+ s.add_dependency(%q<compass>, ["~> 0.11.5"])
115
+ s.add_dependency(%q<rack>, ["= 1.3.3"])
111
116
  s.add_dependency(%q<rspec>, [">= 0"])
112
117
  s.add_dependency(%q<cucumber>, [">= 0"])
113
118
  s.add_dependency(%q<aruba>, [">= 0"])
@@ -116,14 +121,15 @@ Gem::Specification.new do |s|
116
121
  s.add_dependency(%q<rcov>, [">= 0"])
117
122
  end
118
123
  else
119
- s.add_dependency(%q<thor>, [">= 0"])
120
- s.add_dependency(%q<guard>, [">= 0"])
121
- s.add_dependency(%q<sprockets>, [">= 0"])
122
- s.add_dependency(%q<rubyzip>, [">= 0"])
123
- s.add_dependency(%q<json>, [">= 0"])
124
- s.add_dependency(%q<sass>, [">= 0"])
125
- s.add_dependency(%q<sprockets-sass>, [">= 0"])
126
- s.add_dependency(%q<compass>, [">= 0"])
124
+ s.add_dependency(%q<thor>, ["~> 0.14.6"])
125
+ s.add_dependency(%q<guard>, ["~> 0.8.4"])
126
+ s.add_dependency(%q<sprockets>, ["~> 2.0.2"])
127
+ s.add_dependency(%q<rubyzip>, ["~> 0.9.4"])
128
+ s.add_dependency(%q<json>, ["~> 1.6.1"])
129
+ s.add_dependency(%q<sass>, ["~> 3.1.8"])
130
+ s.add_dependency(%q<sprockets-sass>, ["~> 0.3.0"])
131
+ s.add_dependency(%q<compass>, ["~> 0.11.5"])
132
+ s.add_dependency(%q<rack>, ["= 1.3.3"])
127
133
  s.add_dependency(%q<rspec>, [">= 0"])
128
134
  s.add_dependency(%q<cucumber>, [">= 0"])
129
135
  s.add_dependency(%q<aruba>, [">= 0"])
@@ -9,5 +9,25 @@
9
9
  "author": "<%= config[:author] %>",
10
10
 
11
11
  // The author's website
12
- "author_uri": "<%= config[:author_uri] %>"
12
+ "author_uri": "<%= config[:author_uri] %>",
13
+
14
+ // Description of the theme
15
+ "description": "<%= config[:description] %>",
16
+
17
+ // Description of the theme
18
+ "version_number": "<%= config[:version_number] %>",
19
+
20
+ // Description of the theme
21
+ "license_name": "<%= config[:license_name] %>",
22
+
23
+ // Description of the theme
24
+ "license_uri": "<%= config[:license_uri] %>",
25
+
26
+ // Tags for this theme, as an array
27
+ // For Example:
28
+ // "tags": ["blue", "white", "two-columns"],
29
+ "tags": <%= config[:tags] ? config[:tags] : "[]" %>,
30
+
31
+ // Additional comments (optional)
32
+ "comments": "<%= config[:comments] %>"
13
33
  }
@@ -7,5 +7,9 @@
7
7
  * Version: <%= config["version_number"] if config["version_number"] %>
8
8
  * License: <%= config["license_name"] if config["license_name"] %>
9
9
  * License URI: <%= config["license_uri"] if config["license_uri"] %>
10
- * Tags: <%= config["tags"] if config["tags"] %>
10
+ * Tags: <%= config["tags"].join(", ") if config["tags"] %>
11
+ <% if config["comments"] -%>
12
+ *
13
+ * <%= config["comments"] %>
14
+ <% end -%>
11
15
  */
@@ -0,0 +1 @@
1
+ // Theme Options JavaScript goes here
@@ -0,0 +1 @@
1
+ // Regular theme JavaScript goes here
@@ -2,4 +2,4 @@
2
2
  * ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
3
3
 
4
4
  @import "blueprint/reset";
5
- @inclue blueprint-reset;
5
+ @include blueprint-global-reset;
@@ -1,10 +1,11 @@
1
- // This is your main stylesheet file, you can use SASS in here to include css partials
1
+ // This is your master stylesheet
2
2
 
3
+ // Use SASS to include CSS partials
3
4
  @import "reset";
4
5
  @import "typography";
5
-
6
6
  @import "blueprint/grid";
7
7
 
8
+ // Add some basic styling
8
9
  .clear {
9
10
  clear: both;
10
11
  }
@@ -1,10 +1,10 @@
1
1
  <?php get_header(); ?>
2
- <div id="content" class="clear">
3
- <h1 class="page-title"><?php _e( '404: Page Not Found', '<%= theme_id %>' ); ?></h1>
4
- <div class="entry entry-page clear">
2
+ <h1 class="page-title">
3
+ <?php _e( '404: Page Not Found', '<%= theme_id %>' ); ?>
4
+ </h1>
5
+ <div>
5
6
  <p><?php _e( 'We are terribly sorry, but the URL you typed no longer exists. It might have been moved or deleted. Try searching the site:', '<%= theme_id %>' ); ?></p>
6
7
  <?php get_search_form(); ?>
7
8
  </div>
8
- </div><!--end content-->
9
9
  <?php get_sidebar(); ?>
10
10
  <?php get_footer(); ?>
@@ -1,8 +1,7 @@
1
1
  <?php get_header(); ?>
2
- <div id="content" class="clear">
3
2
  <?php the_post(); ?>
4
3
  <h1 class="page-title"><?php the_title(); ?></h1>
5
- <div class="entry entry-page clear">
4
+ <div>
6
5
  <a href="<?php echo wp_get_attachment_url( $post->ID ); ?>" title="<?php the_title_attribute(); ?>" rel="attachment">
7
6
  <?php
8
7
  if ( wp_attachment_is_image ( $post->ID ) ) {
@@ -29,6 +28,5 @@
29
28
  <a href="<?php echo get_permalink( $post->post_parent ); ?>"><?php _e( 'Return to gallery', '<%= theme_id %>' ); ?></a>
30
29
  </div>
31
30
  </div>
32
- </div>
33
31
  <?php get_sidebar(); ?>
34
32
  <?php get_footer(); ?>
@@ -1,8 +1,8 @@
1
- <div id="copyright" class="clear">
1
+ <div id="footer">
2
2
  <p>
3
3
  <a href="http://wordpress.org/" rel="generator">Proudly powered by WordPress</a>
4
4
  </p>
5
- </div><!--end copyright-->
5
+ </div><!--end footer-->
6
6
  </div><!--end container-->
7
7
  <?php wp_footer(); ?>
8
8
  </body>
@@ -9,22 +9,21 @@
9
9
  <?php wp_head(); ?>
10
10
  </head>
11
11
  <body <?php body_class(); ?>>
12
- <div id="container" class="clear">
13
- <div id="header" class="clear">
14
- <div id="title">
15
- <?php if ( is_front_page() ) echo( '<h1>' ); ?>
16
- <a href="<?php echo home_url(); ?>"><?php bloginfo( 'name' ); ?></a>
17
- <?php if ( is_front_page() ) echo( '</h1>' ); ?>
18
- </div>
19
- <?php
20
- wp_nav_menu(
21
- array(
22
- 'theme_location' => 'nav-1',
23
- 'container_id' => 'navigation',
24
- 'container_class' => 'clear',
25
- 'menu_class' => 'nav',
26
- 'depth' => '2'
27
- )
28
- );
29
- ?>
30
- </div><!--end header-->
12
+ <div id="header" class="clear">
13
+ <div id="title">
14
+ <?php if ( is_front_page() ) echo( '<h1>' ); ?>
15
+ <a href="<?php echo home_url(); ?>"><?php bloginfo( 'name' ); ?></a>
16
+ <?php if ( is_front_page() ) echo( '</h1>' ); ?>
17
+ </div>
18
+ <?php
19
+ wp_nav_menu(
20
+ array(
21
+ 'theme_location' => 'nav-1',
22
+ 'container_id' => 'navigation',
23
+ 'container_class' => 'clear',
24
+ 'menu_class' => 'nav',
25
+ 'depth' => '2'
26
+ )
27
+ );
28
+ ?>
29
+ </div><!--end header-->
@@ -1,6 +1,4 @@
1
1
  <?php get_header(); ?>
2
- <div id="content" class="clear">
3
- <?php get_template_part( 'loop' ); ?>
4
- </div><!--end content-->
2
+ <?php get_template_part( 'loop' ); ?>
5
3
  <?php get_sidebar(); ?>
6
4
  <?php get_footer(); ?>
@@ -1,18 +1,14 @@
1
1
  <?php get_header(); ?>
2
- <div id="content" class="clear">
3
2
  <?php the_post(); ?>
4
- <div id="page-<?php the_ID(); ?>" class="page clear">
3
+ <div id="page-<?php the_ID(); ?>">
5
4
  <?php if ( has_post_thumbnail() ) { ?>
6
- <div class="entry-page-image">
5
+ <div>
7
6
  <?php the_post_thumbnail(); ?>
8
7
  </div>
9
8
  <?php } ?>
10
9
  <h1><?php the_title(); ?></h1>
11
- <div class="entry entry-page clear">
12
- <?php the_content(); ?>
13
- </div>
10
+ <?php the_content(); ?>
14
11
  </div>
15
12
  <?php comments_template( '', true ); ?>
16
- </div><!--end content-->
17
13
  <?php get_sidebar(); ?>
18
14
  <?php get_footer(); ?>
@@ -1,9 +1,11 @@
1
- <?php if (have_posts()) : ?>
1
+ <?php if ( have_posts() ) : ?>
2
2
  <?php while ( have_posts() ) : the_post(); ?>
3
- <div id="post-<?php the_ID(); ?>" <?php post_class( 'clear' ); ?>>
4
- <div class="post-header clear">
3
+ <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
4
+ <div class="post-header">
5
5
  <h2 class="post-title">
6
- <a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php esc_attr( sprintf( __( 'Permanent Link to %s', '<%= theme_id %>' ), the_title_attribute( 'echo=false' ) ) ); ?>"><?php the_title(); ?></a>
6
+ <a href="<?php the_permalink(); ?>" rel="bookmark">
7
+ <?php the_title(); ?>
8
+ </a>
7
9
  </h2>
8
10
  <p><?php the_time( __( 'F jS, Y', '<%= theme_id %>' ) ); ?></p>
9
11
  <p><?php the_author(); ?></p>
@@ -13,18 +15,22 @@
13
15
  </a>
14
16
  <?php } ?>
15
17
  </div><!--end post-header-->
16
- <div class="entry entry-post clear">
18
+ <div class="entry">
17
19
  <?php the_content( __( 'Read more', '<%= theme_id %>' )); ?>
18
20
  <?php edit_post_link( __( 'Edit this', '<%= theme_id %>' ), '<p>', '</p>' ); ?>
19
21
  </div><!--end entry-->
20
- <div class="post-footer clear">
21
- <p><?php comments_popup_link( __( 'Leave a comment', '<%= theme_id %>' ), __( '1 Comment', '<%= theme_id %>' ), __( '% Comments', '<%= theme_id %>' ), NULL, NULL ); ?></p>
22
+ <div class="post-footer">
23
+ <p><?php comments_popup_link( __( 'Leave a comment', '<%= theme_id %>' ), __( '1 Comment', '<%= theme_id %>' ), __( '% Comments', '<%= theme_id %>' ) ); ?></p>
22
24
  </div><!--end post-footer-->
23
25
  </div><!--end post-->
24
26
  <?php endwhile; /* rewind or continue if all posts have been fetched */ ?>
25
- <div class="pagination index">
26
- <div class="alignleft"><?php previous_posts_link( __( '&larr; Newer entries', '<%= theme_id %>' )); ?></div>
27
- <div class="alignright"><?php next_posts_link( __( 'Older entries &rarr;', '<%= theme_id %>' )); ?></div>
28
- </div><!--end pagination-->
27
+ <div class="pagination index">
28
+ <div class="alignleft">
29
+ <?php previous_posts_link( __( '&larr; Newer entries', '<%= theme_id %>' )); ?>
30
+ </div>
31
+ <div class="alignright">
32
+ <?php next_posts_link( __( 'Older entries &rarr;', '<%= theme_id %>' )); ?>
33
+ </div>
34
+ </div><!--end pagination-->
29
35
  <?php else : ?>
30
36
  <?php endif; ?>
@@ -1,14 +1,12 @@
1
1
  <?php get_header(); ?>
2
- <h1><?php printf( __( "Search results for '%s'", "<%= theme_id %>" ), get_search_query() ); ?></h1>
3
- <div id="content" class="clear">
2
+ <h1><?php printf( __( "Search results for '%s'", "<%= theme_id %>" ), get_search_query() ); ?></h1>
4
3
  <?php if ( have_posts() ) : ?>
5
4
  <?php get_template_part( 'loop' ); ?>
6
5
  <?php else : ?>
7
6
  <div>
8
7
  <p><?php printf( __( 'Sorry, your search for "%s" did not turn up any results. Please try again.', '<%= theme_id %>' ), get_search_query());?></p>
9
8
  <?php get_search_form(); ?>
10
- </div><!--end entry-->
9
+ </div>
11
10
  <?php endif; ?>
12
- </div><!--end content-->
13
11
  <?php get_sidebar(); ?>
14
12
  <?php get_footer(); ?>
@@ -1,13 +1,12 @@
1
1
  <?php get_header(); ?>
2
- <div id="content" class="clear">
3
2
  <?php if ( have_posts() ) : ?>
4
3
  <?php while ( have_posts() ) : the_post(); ?>
5
- <div id="post-<?php the_ID(); ?>" <?php post_class( 'single' ); ?>>
4
+ <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
6
5
  <h1><?php the_title(); ?></h1>
7
6
  <div>
8
7
  <?php printf( __( 'by %s on', '<%= theme_id %>' ), get_the_author() ); ?> <?php the_date(); ?>
9
8
  </div>
10
- <div class="entry single clear">
9
+ <div class="entry">
11
10
  <?php if ( has_post_thumbnail() ) {
12
11
  the_post_thumbnail();
13
12
  } ?>
@@ -27,6 +26,5 @@
27
26
  <?php endwhile; /* rewind or continue if all posts have been fetched */ ?>
28
27
  <?php comments_template( '', true ); ?>
29
28
  <?php endif; ?>
30
- </div><!--end content-->
31
29
  <?php get_sidebar(); ?>
32
30
  <?php get_footer(); ?>
@@ -1,8 +1,8 @@
1
- ## Easy WordPress Theme Options
1
+ ## Struts is a simple theme options framework for WordPress.
2
2
 
3
3
  The goal of this library is to abstract away as much of the WordPress settings API as possible, and make setting up options a breeze!
4
4
 
5
- ## Setup
5
+ ## Basic setup
6
6
 
7
7
  * Clone this repository
8
8
  * Symlink the 'classes' folder from this library into your functions folder in your theme
data/lib/forge/builder.rb CHANGED
@@ -13,6 +13,7 @@ module Forge
13
13
  @assets_path = @project.assets_path
14
14
  @functions_path = @project.functions_path
15
15
  @includes_path = @project.includes_path
16
+ @package_path = @project.package_path
16
17
 
17
18
  init_sprockets
18
19
  end
@@ -26,21 +27,38 @@ module Forge
26
27
  end
27
28
 
28
29
  # Use the rubyzip library to build a zip from the generated source
29
- def zip
30
- basename = File.basename(@project.root)
30
+ def zip(filename=nil)
31
+ filename = filename || File.basename(@project.root)
32
+ project_base = File.basename(@project.root)
31
33
 
32
- Zip::ZipFile.open(get_output_filename(basename), Zip::ZipFile::CREATE) do |zip|
33
- # Get all filenames in the build directory recursively
34
- filenames = Dir[File.join(@project.build_path, '**', '*')]
34
+ zip_filename = File.join(File.basename(@package_path), "#{filename}.zip")
35
+ # Create a temporary file for RubyZip to write to
36
+ temp_filename = "#{zip_filename}.tmp"
35
37
 
36
- # Remove the build directory path from the filename
37
- filenames.collect! {|path| path.gsub(/#{@project.build_path}\//, '')}
38
+ File.delete(temp_filename) if File.exists?(temp_filename)
38
39
 
39
- # Add each file in the build directory to the zip file
40
- filenames.each do |filename|
41
- zip.add File.join(basename, filename), File.join(@project.build_path, filename)
40
+ # Wrapping the zip creation in Thor's create_file to get "overwrite" prompts
41
+ # Note: I could be overcomplicating this
42
+ @task.create_file(zip_filename) do
43
+ Zip::ZipFile.open(temp_filename, Zip::ZipFile::CREATE) do |zip|
44
+ # Get all filenames in the build directory recursively
45
+ filenames = Dir[File.join(@project.build_path, '**', '*')]
46
+
47
+ # Remove the build directory path from the filename
48
+ filenames.collect! {|path| path.gsub(/#{@project.build_path}\//, '')}
49
+
50
+ # Add each file in the build directory to the zip file
51
+ filenames.each do |filename|
52
+ zip.add File.join(project_base, filename), File.join(@project.build_path, filename)
53
+ end
42
54
  end
55
+
56
+ # Give Thor contents of zip file for "overwrite" prompt
57
+ File.open(temp_filename, 'rb') { |f| f.read }
43
58
  end
59
+
60
+ # Clean up the temp file
61
+ File.delete(temp_filename)
44
62
  end
45
63
 
46
64
  # Empty out the build directory
@@ -80,7 +98,7 @@ module Forge
80
98
  end
81
99
 
82
100
  def build_assets
83
- [['style.css'], ['js', 'theme.js']].each do |asset|
101
+ [['style.css'], ['javascripts', 'theme.js'], ['javascripts', 'admin.js']].each do |asset|
84
102
  destination = File.join(@project.build_path, asset)
85
103
 
86
104
  sprocket = @sprockets.find_asset(asset.last)
@@ -89,11 +107,13 @@ module Forge
89
107
 
90
108
  # Catch any sprockets errors and continue the process
91
109
  begin
92
- FileUtils.mkdir_p(File.dirname(destination)) unless File.directory?(File.dirname(destination))
93
- sprocket.write_to(destination) unless sprocket.nil?
110
+ @task.shell.mute do
111
+ FileUtils.mkdir_p(File.dirname(destination)) unless File.directory?(File.dirname(destination))
112
+ sprocket.write_to(destination) unless sprocket.nil?
94
113
 
95
- if asset.last == 'style.css' && (not sprockets_error)
96
- @task.prepend_file destination, @project.parse_erb(stylesheet_header)
114
+ if asset.last == 'style.css' && (not sprockets_error)
115
+ @task.prepend_file destination, @project.parse_erb(stylesheet_header)
116
+ end
97
117
  end
98
118
  rescue Exception => e
99
119
  @task.say "Error while building #{asset.last}:"
@@ -109,25 +129,29 @@ module Forge
109
129
  end
110
130
 
111
131
  # Copy the images directory over
112
- FileUtils.cp_r File.join(@assets_path, 'images'), File.join(@project.build_path)
132
+ FileUtils.cp_r(File.join(@assets_path, 'images'), @project.build_path)
133
+
134
+ # Check for screenshot and move it into main build directory
135
+ Dir.glob(File.join(@project.build_path, 'images', '*')).each do |filename|
136
+ if filename.index(/screenshot\.(png|jpg|jpeg|gif)/)
137
+ FileUtils.mv(filename, @project.build_path + File::SEPARATOR )
138
+ end
139
+ end
113
140
  end
114
141
 
115
142
  private
116
143
 
117
144
  def init_sprockets
145
+ Compass.configuration do |compass|
146
+ compass.line_comments = false
147
+ end
148
+
118
149
  @sprockets = Sprockets::Environment.new
119
150
 
120
151
  ['javascripts', 'stylesheets'].each do |dir|
121
152
  @sprockets.append_path File.join(@assets_path, dir)
122
153
  end
123
154
 
124
-
125
- # Add all compass frameworks to the sass path
126
- # TODO: This feels really hacky - is there a better way?
127
- Compass::Frameworks::ALL.each do |framework|
128
- Sass::Engine::DEFAULT_OPTIONS[:load_paths] << framework.stylesheets_directory
129
- end
130
-
131
155
  @sprockets.context_class.instance_eval do
132
156
  def config
133
157
  return {:name => 'asd'}
@@ -143,11 +167,12 @@ module Forge
143
167
 
144
168
  # Generate a unique filename for the zip output
145
169
  def get_output_filename(basename)
146
- filename = "#{basename}.zip"
170
+ package_path_base = File.basename(@package_path)
171
+ filename = File.join(package_path_base, "#{basename}.zip")
147
172
 
148
173
  i = 1
149
174
  while File.exists?(filename)
150
- filename = "#{basename}(#{i}).zip"
175
+ filename = File.join(package_path_base, "#{basename}(#{i}).zip")
151
176
  i += 1
152
177
  end
153
178
 
data/lib/forge/cli.rb CHANGED
@@ -14,32 +14,15 @@ module Forge
14
14
  end
15
15
 
16
16
  desc "create DIRECTORY", "Creates a Forge project"
17
- method_option :name, :type => :string, :desc => "The theme name"
18
- method_option :uri, :type => :string, :desc => "The theme's uri"
19
- method_option :author, :type => :string, :desc => "The author of the theme"
20
- method_option :author_uri, :type => :string, :desc => "The author's uri"
21
- method_option :interactive, :type => :boolean, :desc => "Use interactive configuration setup", :aliases => "-i"
17
+ method_option :struts, :type => :boolean, :desc => "Include Struts Options Framework"
22
18
  def create(dir)
23
- prompts = {
24
- :name => "What is the name of this theme?",
25
- :uri => "What is the website for this theme?",
26
- :author => "Who is the author of this theme?",
27
- :author_uri => "What is the author's website?"
28
- }
29
-
30
19
  theme = {}
31
-
32
- prompts.each do |k,v|
33
- theme[k] = options[k]
34
- theme[k] = ask(v) if options[:interactive]
35
- end
36
-
37
- theme[:name] = dir if (theme[:name].nil? || theme[:name].empty?)
20
+ theme[:name] = dir
38
21
 
39
22
  project = Forge::Project.create(dir, theme, self)
40
23
  end
41
24
 
42
- desc "link PATH", "symlink the compiled version of theme to the specified path"
25
+ desc "link PATH", "Create a symbolic link to the compilation directory"
43
26
  long_desc "This command will symlink the compiled version of the theme to the specified path.\n\n"+
44
27
  "To compile the theme use the `forge watch` command"
45
28
  def link(path)
@@ -51,6 +34,7 @@ module Forge
51
34
  end
52
35
 
53
36
  desc "watch", "Start watch process"
37
+ long_desc "Watches the source directory in your project for changes, and reflects those changes in a compile folder"
54
38
  def watch
55
39
  project = Forge::Project.new('.', self)
56
40
 
@@ -61,13 +45,24 @@ module Forge
61
45
  Forge::Guard.start(project, self)
62
46
  end
63
47
 
64
- desc "package", "Compile and zip your project"
65
- def package
48
+ desc "build DIRECTORY", "Build your theme into specified directory"
49
+ def build(dir='build')
50
+ project = Forge::Project.new('.', self)
51
+
52
+ builder = Builder.new(project)
53
+ builder.build
54
+
55
+ FileUtils.rm_rf Dir.glob(File.join(dir, '*'))
56
+ directory(project.build_path, dir)
57
+ end
58
+
59
+ desc "package FILENAME", "Compile and zip your project to FILENAME.zip"
60
+ def package(filename=nil)
66
61
  project = Forge::Project.new('.', self)
67
62
 
68
63
  builder = Builder.new(project)
69
64
  builder.build
70
- builder.zip
65
+ builder.zip(filename)
71
66
  end
72
67
 
73
68
  protected
@@ -48,6 +48,15 @@ module Forge
48
48
  self
49
49
  end
50
50
 
51
+ def copy_javascript
52
+ source = File.expand_path(File.join(self.layout_path, 'javascripts'))
53
+ target = File.expand_path(File.join(@project.assets_path, 'javascripts'))
54
+
55
+ render_directory(source, target)
56
+
57
+ self
58
+ end
59
+
51
60
  def copy_templates
52
61
  source = File.expand_path(File.join(self.layout_path, 'templates'))
53
62
  target = File.expand_path(File.join(@project.source_path, 'templates'))
@@ -58,10 +67,10 @@ module Forge
58
67
  end
59
68
 
60
69
  def copy_settings_library
61
- settings_path = @task.find_in_source_paths(File.join('lib', 'forge-settings', 'classes'))
70
+ settings_path = @task.find_in_source_paths(File.join('lib', 'struts', 'classes'))
62
71
 
63
72
  source = File.expand_path(settings_path)
64
- target = File.expand_path(File.join(@project.includes_path, 'forge-settings', '.'))
73
+ target = File.expand_path(File.join(@project.includes_path, 'struts', '.'))
65
74
 
66
75
  @task.directory(source, target)
67
76
  end
@@ -81,9 +90,10 @@ module Forge
81
90
  write_config
82
91
  create_structure
83
92
  copy_stylesheets
93
+ copy_javascript
84
94
  copy_templates
85
95
  copy_functions
86
- copy_settings_library
96
+ copy_settings_library if @task.options[:struts]
87
97
  return self
88
98
  end
89
99
 
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: forge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,99 +11,110 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2011-10-06 00:00:00.000000000 Z
14
+ date: 2011-10-07 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: thor
18
- requirement: &2153138780 !ruby/object:Gem::Requirement
18
+ requirement: &2152342800 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
- - - ! '>='
21
+ - - ~>
22
22
  - !ruby/object:Gem::Version
23
- version: '0'
23
+ version: 0.14.6
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *2153138780
26
+ version_requirements: *2152342800
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: guard
29
- requirement: &2152836320 !ruby/object:Gem::Requirement
29
+ requirement: &2152341300 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
- - - ! '>='
32
+ - - ~>
33
33
  - !ruby/object:Gem::Version
34
- version: '0'
34
+ version: 0.8.4
35
35
  type: :runtime
36
36
  prerelease: false
37
- version_requirements: *2152836320
37
+ version_requirements: *2152341300
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: sprockets
40
- requirement: &2152834580 !ruby/object:Gem::Requirement
40
+ requirement: &2152339320 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
- - - ! '>='
43
+ - - ~>
44
44
  - !ruby/object:Gem::Version
45
- version: '0'
45
+ version: 2.0.2
46
46
  type: :runtime
47
47
  prerelease: false
48
- version_requirements: *2152834580
48
+ version_requirements: *2152339320
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: rubyzip
51
- requirement: &2152832060 !ruby/object:Gem::Requirement
51
+ requirement: &2152338580 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
- - - ! '>='
54
+ - - ~>
55
55
  - !ruby/object:Gem::Version
56
- version: '0'
56
+ version: 0.9.4
57
57
  type: :runtime
58
58
  prerelease: false
59
- version_requirements: *2152832060
59
+ version_requirements: *2152338580
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: json
62
- requirement: &2152825320 !ruby/object:Gem::Requirement
62
+ requirement: &2152337340 !ruby/object:Gem::Requirement
63
63
  none: false
64
64
  requirements:
65
- - - ! '>='
65
+ - - ~>
66
66
  - !ruby/object:Gem::Version
67
- version: '0'
67
+ version: 1.6.1
68
68
  type: :runtime
69
69
  prerelease: false
70
- version_requirements: *2152825320
70
+ version_requirements: *2152337340
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: sass
73
- requirement: &2152809600 !ruby/object:Gem::Requirement
73
+ requirement: &2152336200 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
- - - ! '>='
76
+ - - ~>
77
77
  - !ruby/object:Gem::Version
78
- version: '0'
78
+ version: 3.1.8
79
79
  type: :runtime
80
80
  prerelease: false
81
- version_requirements: *2152809600
81
+ version_requirements: *2152336200
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: sprockets-sass
84
- requirement: &2152805540 !ruby/object:Gem::Requirement
84
+ requirement: &2152335320 !ruby/object:Gem::Requirement
85
85
  none: false
86
86
  requirements:
87
- - - ! '>='
87
+ - - ~>
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: 0.3.0
90
90
  type: :runtime
91
91
  prerelease: false
92
- version_requirements: *2152805540
92
+ version_requirements: *2152335320
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: compass
95
- requirement: &2152799460 !ruby/object:Gem::Requirement
95
+ requirement: &2152334400 !ruby/object:Gem::Requirement
96
96
  none: false
97
97
  requirements:
98
- - - ! '>='
98
+ - - ~>
99
99
  - !ruby/object:Gem::Version
100
- version: '0'
100
+ version: 0.11.5
101
+ type: :runtime
102
+ prerelease: false
103
+ version_requirements: *2152334400
104
+ - !ruby/object:Gem::Dependency
105
+ name: rack
106
+ requirement: &2152333480 !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - =
110
+ - !ruby/object:Gem::Version
111
+ version: 1.3.3
101
112
  type: :runtime
102
113
  prerelease: false
103
- version_requirements: *2152799460
114
+ version_requirements: *2152333480
104
115
  - !ruby/object:Gem::Dependency
105
116
  name: rspec
106
- requirement: &2152795060 !ruby/object:Gem::Requirement
117
+ requirement: &2152332700 !ruby/object:Gem::Requirement
107
118
  none: false
108
119
  requirements:
109
120
  - - ! '>='
@@ -111,10 +122,10 @@ dependencies:
111
122
  version: '0'
112
123
  type: :development
113
124
  prerelease: false
114
- version_requirements: *2152795060
125
+ version_requirements: *2152332700
115
126
  - !ruby/object:Gem::Dependency
116
127
  name: cucumber
117
- requirement: &2152780560 !ruby/object:Gem::Requirement
128
+ requirement: &2152332040 !ruby/object:Gem::Requirement
118
129
  none: false
119
130
  requirements:
120
131
  - - ! '>='
@@ -122,10 +133,10 @@ dependencies:
122
133
  version: '0'
123
134
  type: :development
124
135
  prerelease: false
125
- version_requirements: *2152780560
136
+ version_requirements: *2152332040
126
137
  - !ruby/object:Gem::Dependency
127
138
  name: aruba
128
- requirement: &2152777760 !ruby/object:Gem::Requirement
139
+ requirement: &2152330140 !ruby/object:Gem::Requirement
129
140
  none: false
130
141
  requirements:
131
142
  - - ! '>='
@@ -133,10 +144,10 @@ dependencies:
133
144
  version: '0'
134
145
  type: :development
135
146
  prerelease: false
136
- version_requirements: *2152777760
147
+ version_requirements: *2152330140
137
148
  - !ruby/object:Gem::Dependency
138
149
  name: bundler
139
- requirement: &2152776020 !ruby/object:Gem::Requirement
150
+ requirement: &2152329320 !ruby/object:Gem::Requirement
140
151
  none: false
141
152
  requirements:
142
153
  - - ~>
@@ -144,10 +155,10 @@ dependencies:
144
155
  version: 1.0.0
145
156
  type: :development
146
157
  prerelease: false
147
- version_requirements: *2152776020
158
+ version_requirements: *2152329320
148
159
  - !ruby/object:Gem::Dependency
149
160
  name: jeweler
150
- requirement: &2152774320 !ruby/object:Gem::Requirement
161
+ requirement: &2152328260 !ruby/object:Gem::Requirement
151
162
  none: false
152
163
  requirements:
153
164
  - - ~>
@@ -155,10 +166,10 @@ dependencies:
155
166
  version: 1.6.4
156
167
  type: :development
157
168
  prerelease: false
158
- version_requirements: *2152774320
169
+ version_requirements: *2152328260
159
170
  - !ruby/object:Gem::Dependency
160
171
  name: rcov
161
- requirement: &2152773220 !ruby/object:Gem::Requirement
172
+ requirement: &2152327260 !ruby/object:Gem::Requirement
162
173
  none: false
163
174
  requirements:
164
175
  - - ! '>='
@@ -166,7 +177,7 @@ dependencies:
166
177
  version: '0'
167
178
  type: :development
168
179
  prerelease: false
169
- version_requirements: *2152773220
180
+ version_requirements: *2152327260
170
181
  description: A toolkit for bootstrapping and developing WordPress themes.
171
182
  email: aadams@jestro.com
172
183
  executables:
@@ -194,6 +205,8 @@ files:
194
205
  - layouts/config/config.json.erb
195
206
  - layouts/config/stylesheet_header.erb
196
207
  - layouts/default/functions/functions.php.erb
208
+ - layouts/default/javascripts/admin.js
209
+ - layouts/default/javascripts/theme.js
197
210
  - layouts/default/stylesheets/_reset.scss
198
211
  - layouts/default/stylesheets/_typography.scss
199
212
  - layouts/default/stylesheets/style.css.scss.erb
@@ -209,13 +222,13 @@ files:
209
222
  - layouts/default/templates/search.php.erb
210
223
  - layouts/default/templates/sidebar.php
211
224
  - layouts/default/templates/single.php.erb
212
- - layouts/lib/forge-settings/README.md
213
- - layouts/lib/forge-settings/classes/settings.php
214
- - layouts/lib/forge-settings/classes/settings/collection.php
215
- - layouts/lib/forge-settings/classes/settings/option.php
216
- - layouts/lib/forge-settings/classes/settings/option/select.php
217
- - layouts/lib/forge-settings/classes/settings/option/text.php
218
- - layouts/lib/forge-settings/classes/settings/section.php
225
+ - layouts/lib/struts/README.md
226
+ - layouts/lib/struts/classes/settings.php
227
+ - layouts/lib/struts/classes/settings/collection.php
228
+ - layouts/lib/struts/classes/settings/option.php
229
+ - layouts/lib/struts/classes/settings/option/select.php
230
+ - layouts/lib/struts/classes/settings/option/text.php
231
+ - layouts/lib/struts/classes/settings/section.php
219
232
  - lib/forge.rb
220
233
  - lib/forge/builder.rb
221
234
  - lib/forge/cli.rb
@@ -229,10 +242,11 @@ files:
229
242
  - lib/guard/forge/config.rb
230
243
  - lib/guard/forge/functions.rb
231
244
  - lib/guard/forge/templates.rb
245
+ - pkg/forge-0.0.2.gem
232
246
  - spec/lib/forge/config_spec.rb
233
247
  - spec/lib/forge/project_spec.rb
234
248
  - spec/spec_helper.rb
235
- homepage: http://nohomepageyet.org
249
+ homepage: http://forge.thethemefoundry.com
236
250
  licenses:
237
251
  - MIT
238
252
  post_install_message:
@@ -247,7 +261,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
247
261
  version: '0'
248
262
  segments:
249
263
  - 0
250
- hash: 689704686126272199
264
+ hash: -4281416040129770689
251
265
  required_rubygems_version: !ruby/object:Gem::Requirement
252
266
  none: false
253
267
  requirements: