forge 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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: