Commit graph

926 commits

Author SHA1 Message Date
Ben Hollis
192047d242 Minify all JS and CSS via middleware. This means JS or CSS anywhere in the site is minified, not just in the Sprockets-controlled directories. I've also added inline CSS compression, and handling of several common "guards" that get wrapped around JS. Also, leave alone non-JS script tags (which may contain something like jQuery templates). Sprockets no longer has anything to do with minification after this. 2012-04-09 00:05:22 -07:00
Ben Hollis
8730a540b0 Add a filename and line number argument to instance_exec so config.rb gets to participate in stack traces. 2012-04-08 23:45:06 -07:00
Thomas Reynolds
b1ba94cf22 Merge pull request #346 from bhollis/master
Provide a stack trace for build errors
2012-04-08 08:39:40 -07:00
Ben Hollis
4c0c638892 Provide a stack trace for build errors 2012-04-07 20:00:56 -07:00
Ben Hollis
fc79459e61 Fix the asset_hash extension to operate on the hash of the rendered output rather than just the source file. This prevents generating the same hash for a file when partials it uses change, or if a helper it uses produces different output. As part of this change I removed the caching from Sitemap::Page#destination_path and asset_hash since they were preventing recalculation of path/hash when partials changed, and I rewrote the Sprockets extension to expose the Sprockets environment to other extension, which included consolidating the JS and CSS Sprockets environments into one. 2012-04-04 00:00:33 -07:00
Ben Hollis
30c41df909 Merge pull request #335 from bhollis/cache
Introduce a cache tied to individual sitemap pages
2012-04-03 09:28:37 -07:00
Ben Hollis
4a4454fcab Introduce a cache tied to individual sitemap pages. This helps individual extensions avoid having to implement methods to clear the cache whenever a page changes. 2012-04-01 20:37:24 -07:00
Ben Hollis
7e816c04c0 Make the asset_url helper use the sitemap page's destination_path if it's available, which means extensions that rewrite asset paths using reroute get rewritten paths output from all path helpers for free. This was necessary to make asset_hash work with asset_host. 2012-04-01 18:08:59 -07:00
Thomas Reynolds
183e9d68f3 Implied extensions. Closes #304 2012-03-29 18:34:25 +01:00
Thomas Reynolds
e769477e93 Implied extensions. Closes #304 2012-03-29 18:22:43 +01:00
Ben Hollis
3c4578b239 Document Middleman::Extensions.register 2012-03-26 21:40:30 -07:00
Ben Hollis
b2f6d0db09 Get rid of some unused stuff in sitemap and complete documentation 2012-03-26 21:40:30 -07:00
Ben Hollis
92713dfe92 Make frontmatter always return a hash, and freeze it. This reduces the need for nil checks and prevents users from accidentally trying to modify frontmatter data which may be cached elsewhere. 2012-03-25 12:53:45 -07:00
Ben Hollis
086f05989b Fix ignore with a regex (with a test) and consolidate ignores into a single list of callbacks. 2012-03-24 20:45:17 -07:00
Ben Hollis
d51056cb26 Fix CLI tests now that we generate a Gemfile by default 2012-03-24 20:37:15 -07:00
Ben Hollis
a07df582c3 Add bundler as a dependency and default to generating a Gemfile. 2012-03-19 16:50:51 -06:00
Thomas Reynolds
276e6562dd Merge pull request #316 from bhollis/templates
Include middleman-core's template path in the list of source_paths
2012-03-19 08:37:16 -07:00
Ben Hollis
0d80678e48 Include middleman-core's template path in the list of source_paths so that inherited templates in other gems can still use the Gemfile and config.ru from the main middleman gem. 2012-03-18 18:58:15 -06:00
Ben Hollis
1b0fe80873 Fix watcher to be more selective about what it ignores 2012-03-18 18:55:02 -06:00
Ben Hollis
bacffeea02 Tell Thor to return the right exit code on failure 2012-03-18 17:30:35 -06:00
Ben Hollis
6f4e863091 Expose errors to users during build rather than burying them in output files. 2012-03-18 13:01:04 -06:00
Ben Hollis
4a5fededf7 Make with_layout work with globs/regexes 2012-03-15 00:31:50 -07:00
Ben Hollis
5db1a9453a Make directory_indexes use provides_metadata_for_path instead of its own list of ignored paths, allowing it to support regexes/globs 2012-03-15 00:29:50 -07:00
Ben Hollis
73350d6d05 Don't let people (or messed up code) accidentally create sitemap pages through the page method 2012-03-15 00:28:51 -07:00
Ben Hollis
111d021630 Fix frontmatter ignore to not create phantom pages and to generally be simpler. 2012-03-15 00:27:59 -07:00
Ben Hollis
f1051d8c59 Load extensions even when only using middleman-core. Also, use Bundler.require when available rather than scanning gems for extensions. 2012-03-13 23:00:02 -07:00
Thomas Reynolds
bba2584c81 Merge pull request #308 from bhollis/master
Test showing variables not getting passed to templates during build
2012-03-12 10:14:00 -07:00
Ben Hollis
de92015085 Fix usage of a 1.9-only method in Sitemap::Page 2012-03-11 23:41:48 -07:00
Ben Hollis
c6c3021593 Fix issue #302 2012-03-11 23:33:46 -07:00
Ben Hollis
6edefe3c68 Further tweaks that expose another bug - ignore with proxies leads to Not Found errors. Same issue as #302. 2012-03-11 23:09:43 -07:00
Ben Hollis
9555266ac1 Variables not passed to proxies when they are built. Possibly related to issue #302. 2012-03-11 22:49:21 -07:00
Ben Hollis
54b5304264 Ignore pidfiles 2012-03-11 22:40:54 -07:00
Thomas Reynolds
7d7f9a20ef i18n not ready for primetime yet 2012-03-10 19:40:04 -08:00
Thomas Reynolds
08f5e64858 bump listen dep 2012-03-10 18:57:47 -08:00
Thomas Reynolds
d9a82beb8a merge i18n extension 2012-03-10 18:57:00 -08:00
Thomas Reynolds
8d22fee8d8 Merge pull request #298 from bhollis/i18n-helpers
Fix Padrino helpers that require an i18n locale to be present
2012-03-09 10:19:15 -08:00
Ben Hollis
e7df250c4d Include "i18n" gem in middleman-core gemspec 2012-03-08 23:05:59 -08:00
Ben Hollis
4830f51664 Fix current_page 2012-03-07 22:08:41 -08:00
Ben Hollis
efe1d45af7 Rewrite sitemap_traversal tests to better reflect what should actually happen, and to expose a bug in current_page. 2012-03-07 22:08:41 -08:00
Ben Hollis
739a8633ae Rename sitemap_traversal.features to sitemap_traversal.feature so it will actually be run. Also rename ignore_already_minified.features for the same reason. 2012-03-07 22:08:16 -08:00
Thomas Reynolds
38d1059be2 Merge pull request #300 from bhollis/url
A url helper that strips directory indexes
2012-03-05 08:36:14 -08:00
Ben Hollis
627b6c1462 A url helper that strips directory indexes 2012-03-04 23:26:30 -08:00
Thomas Reynolds
b9475bbccc Merge asset_hash extension 2012-03-04 22:53:43 -08:00
Ben Hollis
481467a5ac Name the server class so it isn't so confusing when debugging 2012-03-04 17:45:37 -08:00
Ben Hollis
dc0249b8b9 Remove --relative CLI option in favor of just turning on relative_assets in config.rb 2012-03-04 17:30:09 -08:00
Ben Hollis
ac9ae8fcee Rename tilt_template to render_to_file 2012-03-04 17:26:44 -08:00
Ben Hollis
617f73c8db Fix Padrino helpers that require an i18n locale to be present 2012-03-04 17:20:57 -08:00
Ben Hollis
073086b79c Extension to add hash values to asset filenames. This extension causes asset file types (images, scripts, stylesheets, etc) to have a unique identifier appended to their filename that consists of a hash of their contents. This extension also includes a Rack middleware that rewrites references to these assets in HTML, JavaScript, and CSS files, eliminating the need to use special helper functions to include modified filenames in references. 2012-03-04 15:24:38 -08:00
Thomas Reynolds
c2f498e26e load template.rb files from local templates 2012-03-03 16:52:49 -08:00
Thomas Reynolds
70dc453c25 Readd Middleman::Features namespace for backwards compatibility. Closes #280 2012-03-03 16:49:51 -08:00
Thomas Reynolds
410b6b37d1 make sure html5 template has correct paths setup. Fixes #291 2012-03-03 16:40:03 -08:00
Thomas Reynolds
b191cb8b7e temporarily disable config.rb reloading 2012-03-03 15:58:17 -08:00
Thomas Reynolds
e285045fc5 Merge branch 'master' of github.com:middleman/middleman 2012-03-03 15:32:25 -08:00
Thomas Reynolds
445b66bed7 test backwards compatible request.params template values. closes #294 2012-03-01 13:43:47 -08:00
Thomas Reynolds
1ee1a06291 switch to guard/listen 2012-02-25 15:53:23 -08:00
Thomas Reynolds
4e4e835bf5 basic pid file 2012-02-18 10:00:54 -08:00
Thomas Reynolds
5842bf8e5b allow extensionless files to be previewed and built. fixes #270, but requires alternative layouts be placed in a layouts/ directory now. 2012-02-12 11:45:42 -08:00
Thomas Reynolds
baaa3fd148 change little piece of frontmatter logic 2012-02-12 10:10:59 -08:00
Thomas Reynolds
8094af43d4 Merge pull request #268 from pusewicz/fix-cli-bundler
Fix middleman init MY_PROJECT --bundler
2012-02-11 09:42:09 -08:00
Piotr Usewicz
cf991bfb89 Fix middleman init --bundler
Closes #265.
2012-02-11 09:39:45 +00:00
Piotr Usewicz
f5edfa75df Fix whitespace 2012-02-11 09:35:49 +00:00
Ben Hollis
39046ce029 Remove unused methods from Sitemap::Store. If these end up being needed again it'd be better to just filter the #pages list. 2012-02-10 23:36:06 -08:00
Ben Hollis
d483d8bc54 Memoize Sitemap::Page#destination_path 2012-02-09 09:39:24 -08:00
Ben Hollis
fdbd301a32 Get rid of Middleman::Sitemap::Store#all_paths and #each in favor of #pages. Dealing with page objects all over the place instead of paths provides a lot of opportunities for cleaner code. 2012-02-08 23:00:29 -08:00
Ben Hollis
382107d403 Get rid of build_reroute. The last thing using it was the sprockets extension, though it didn't appear to need it since removing the build_reroute call leaves tests passing, and the test site I tried still generated JS from CoffeeScript just fine. 2012-02-08 22:13:49 -08:00
Ben Hollis
57061a17c0 Update version so path-based Gemfile dependencies work 2012-02-08 22:11:20 -08:00
Thomas Reynolds
b82ad07b51 adding json to layoutless list 2012-02-08 08:52:41 -08:00
Thomas Reynolds
8286879f36 sprockets-sass was overwriting image-url and breaking relative assets. Fixes #256 2012-02-05 11:43:19 -08:00
Thomas Reynolds
c8c6a1938e Merge pull request #261 from bhollis/page
Callback-based rerouting
2012-02-05 10:33:25 -08:00
Ben Hollis
e136fab77c Use a page_by_destination lookup to make rerouting work both ways, in build and during preview server. 2012-02-04 23:07:02 -08:00
Ben Hollis
e27e0cdd44 Directory indexes work completely now, in preview and with dotfiles. 2012-02-03 00:29:07 -08:00
Ben Hollis
ca1f3ddf83 Directory indexes now work during build, with the exception of .htaccess files. 2012-02-02 21:47:54 -08:00
Ben Hollis
4ce6913baf The beginnings of refactoring page rerouting. Added methods to Sitemap::Store and Sitemap::Page to collect and execute reroute callbacks, and rework builder to use page methods (simplifying it greatly in the process). All tests that don't involve directory indexes pass - next step is to make the directory index extension register its callbacks with Sitemap::Store#reroute. 2012-01-31 23:43:05 -08:00
Ben Hollis
a41bf57f2d Clarify in the documentation what "path" means for Sitemap::Store and Sitemap::Page 2012-01-31 22:57:55 -08:00
Ben Hollis
2eec7e11ba Refactor protected method normalize_path out of Sitemap::Store 2012-01-31 22:38:39 -08:00
Ben Hollis
1fc97d9d7b A minor simplification of Sitemap::Store#path - it can no longer take a block 2012-01-31 22:15:45 -08:00
Thomas Reynolds
251a2e0eb3 add failing tests for compass relative assets 2012-01-31 21:30:45 -08:00
Thomas Reynolds
599ea94f5e Merge branch 'master' of github.com:middleman/middleman 2012-01-16 20:36:10 -08:00
Thomas Reynolds
73bcd4c12f rearrange some watcher stuff 2012-01-16 20:35:28 -08:00
Thomas Reynolds
5a5ebdc37f Merge pull request #241 from audionerd/master
Clarify the documentation of a page's "eponymous" directory
2012-01-16 18:08:50 -08:00
Thomas Reynolds
2c42cb4930 make sure logging works, more file watcher ignores 2012-01-16 15:02:38 -08:00
Thomas Reynolds
d1f0e6f616 fix errant MM bootup during CLI. Make an autodiscoverable tasks/ directory 2012-01-16 14:55:08 -08:00
Eric Skogen
071acadb93 clarify the documentation regarding a page's "eponymous" directory 2012-01-16 16:29:02 -06:00
Thomas Reynolds
aeb9d10b25 automatically load helper modules from helpers/. closes #238 2012-01-15 13:44:00 -08:00
Thomas Reynolds
3e0ed70c69 rename event watch binary 2012-01-15 09:15:22 -08:00
Thomas Reynolds
ad0164ac76 include fsevent binary 2012-01-15 09:11:22 -08:00
Thomas Reynolds
e3b15366cb ignore globs, mostly working, except with directory indexes 2012-01-14 14:09:20 -08:00
Thomas Reynolds
5cc204e848 more docs 2012-01-14 12:46:22 -08:00
Thomas Reynolds
3ef11f3add more ignore variation tests 2012-01-14 12:21:35 -08:00
Thomas Reynolds
309f8dd966 Merge pull request #231 from bhollis/ignore
Scenarios to test proposed "ignore" behavior
2012-01-14 12:19:07 -08:00
Thomas Reynolds
06cfb2b24c Merge branch 'master' of github.com:middleman/middleman 2012-01-14 12:19:00 -08:00
Thomas Reynolds
1aa1eedc10 docs 2012-01-14 12:18:39 -08:00
Ben Hollis
a70a6d5507 Fix a bad variable reference when logging is turned on 2012-01-08 20:47:05 -08:00
Thomas Reynolds
d0dd60fb4b left some debug messages in 2012-01-07 23:48:22 -08:00
Thomas Reynolds
34e40cbe01 Also test frontmatter options in preview mode (exposed proxy bug, which was fixed 2012-01-07 18:11:56 -08:00
Thomas Reynolds
7282475350 Builder and DirectoryIndexes now check frontmatter options. 2012-01-07 17:59:23 -08:00
Thomas Reynolds
c473181167 frontmatter can control whether a page is ignored 2012-01-07 17:21:26 -08:00
Thomas Reynolds
0ac9c0b662 document sitemap, make ignore accept paths, regexps and blocks 2012-01-07 16:57:50 -08:00
Ben Hollis
b01f0f96e8 New (failing) feature describing what it would look like to set some page features through frontmatter.
This tests the ability to set layout, ignore, and diable directory_index. Pertains to issue #194.
2012-01-06 23:08:38 -08:00
Ben Hollis
cebb15c9ca Add a new (failing) feature test to show the behavior I think would be good for the "ignore" helper.
These scenarios show ignoring files by their source paths rather than their output paths,
ignoring globbed paths (including into subdirectories), and ignoring paths that will be transformed
by directory_indexes. These scenarios pertain to issues #229 and #225.
2012-01-06 22:43:32 -08:00
Thomas Reynolds
8de087ec65 fix manual sitemap updates on ruby 1.9 2012-01-06 00:11:38 -08:00
Thomas Reynolds
3e1814e046 make sure compass sprites get built and copied. closes #228 2012-01-06 00:01:24 -08:00
Thomas Reynolds
92319ebffc support glob page instance vars. fixes #230 2012-01-05 21:18:55 -08:00
Thomas Reynolds
22adf3b516 setup rakefile for windows build 2012-01-05 20:34:24 -08:00
Thomas Reynolds
80a5a25457 prep 3.0 beta windows gem 2012-01-05 20:28:34 -08:00
Thomas Reynolds
96924ad5a1 Merge branch 'master' of github.com:middleman/middleman 2012-01-05 20:22:44 -08:00
Thomas Reynolds
28a9ad50b3 new fssm without 1.9.3 warning. closes #223 2012-01-05 20:22:24 -08:00
Ben Hollis
14581c126d Fix build --clean and generally make it more robust by dealing with absolute Pathnames instead of regexing paths. 2012-01-04 22:56:19 -08:00
Ben Hollis
c5063c1e35 Fix builder steps to properly copy configs, and add a new scenario that shows build --clean not working right when the build directory is set to a nested path. When a path is ignored, it doesn't get removed - in fact, no unused paths will get removed, this is just the easiest way to show it in a test. 2012-01-04 22:54:20 -08:00
Thomas Reynolds
4bf65e063a Bumped version to 3.0.0.beta.1 2012-01-02 22:26:55 -08:00
Thomas Reynolds
8cbd3352a0 enable gemtest at a per-gem level 2012-01-02 14:48:47 -08:00
Thomas Reynolds
9b48a46e30 core default template shouldn't use scss 2012-01-02 14:42:01 -08:00
Thomas Reynolds
c8ba3d9a44 compiling vendor 2012-01-02 14:33:28 -08:00
Thomas Reynolds
4ff52141df port guard vendored libs 2012-01-02 14:22:24 -08:00
Thomas Reynolds
20fea1bab1 refactor file change api, add a disable-watcher command line option for heroku/hosted 2012-01-02 13:48:07 -08:00
Thomas Reynolds
3d3e9e2f5b Bumped version to 3.0.0.alpha.9 2012-01-02 10:45:52 -08:00
Thomas Reynolds
ee9b682883 Bumped version to 3.0.0.alpha.8 2012-01-02 10:31:00 -08:00
Thomas Reynolds
83de7a7e13 try to use fssm with vendored darwin/linux support instead of guard 2012-01-01 17:47:38 -08:00
Thomas Reynolds
c7249a63b1 middleman-more is fully rdoc'd 2011-12-31 14:28:17 -08:00
Thomas Reynolds
50b9ad7b28 use aruba for server tests too 2011-12-31 13:44:50 -08:00
Thomas Reynolds
aee8e32524 test sitemap removal 2011-12-31 12:56:17 -08:00
Thomas Reynolds
e496d228b0 try to fix some guard weirdness. hide tilt warnings, closes #220 2011-12-31 12:48:38 -08:00
Thomas Reynolds
4b5174f0c8 fix rake tasks 2011-12-29 19:52:00 -08:00
Thomas Reynolds
ca10d108e3 fix remaining middleman-more tests 2011-12-29 19:28:49 -08:00
Thomas Reynolds
73913f0ace Start getting middleman-more tests passing. About 50% done 2011-12-29 19:04:39 -08:00
Thomas Reynolds
c8a134a386 split into middleman-core and middleman-more 2011-12-29 15:09:51 -08:00