Commit graph

327 commits

Author SHA1 Message Date
Thomas Reynolds cd89e5ffa4 Merge pull request #353 from bhollis/minify
Minify all JS and CSS via middleware
2012-04-09 11:10:36 -07:00
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