Commit graph

294 commits

Author SHA1 Message Date
Ben Hollis 778626c6ec Make Middleman somewhat more threadsafe and switch back to webrick. 2012-04-30 22:38:57 -07:00
Ben Hollis 713350e294 Disable unicode build test for now 2012-04-30 21:29:33 -07:00
Thomas Reynolds 00a7a1969e Merge pull request #408 from bhollis/unicode
Support Unicode characters in filenames
2012-04-30 08:31:06 -07:00
Thomas Reynolds 3d129b8523 Merge pull request #409 from bhollis/metadata
Add Resource#add_metadata for attaching metadata directly to a resource
2012-04-29 23:08:28 -07:00
Ben Hollis bc435cc2e2 Add Resource#add_metadata for attaching metadata directly to a resource 2012-04-29 22:32:52 -07:00
Thomas Reynolds ade26a8d20 Merge pull request #407 from bhollis/windows
Don't install signal handlers on Windows
2012-04-29 22:28:13 -07:00
Ben Hollis dddd409336 Support Unicode characters in filenames, both in source filenames and in the names of proxied paths. Fixes #332. 2012-04-29 21:42:45 -07:00
Ben Hollis a2ad7f26cd Don't install signal handlers on Windows 2012-04-29 19:24:50 -07:00
Ben Hollis dee0e616ad Index frontmatter off source_file, allowing us to get rid of Resource#relative_path 2012-04-29 18:51:00 -07:00
Ben Hollis 23e0586896 Be very careful about filewatcher ignore regexes 2012-04-29 09:38:31 -07:00
Thomas Reynolds 81e3d894c2 Bump version [no-ci] 2012-04-28 10:48:08 -07:00
Ben Hollis 05a769d762 link_to with an absolute path that corresponds to a page path will get rewritten to the page's output URL 2012-04-27 22:05:52 -07:00
Ben Hollis a6e577b83a Remove spurious "end" 2012-04-27 09:10:11 -07:00
Ben Hollis a65e1619b9 Move extract_response_text into Middleman::Util 2012-04-26 21:55:07 -07:00
Thomas Reynolds bbff9d822c Don't require activesupport until necessary 2012-04-26 15:05:25 -07:00
Thomas Reynolds 240f67410d Use config.rb file contents in minify test cases instead of fixtures 2012-04-26 14:07:10 -07:00
Thomas Reynolds f529f0b85d Merge pull request #369 from bhollis/watcher
Simplify watcher using newer listen features
2012-04-26 13:37:52 -07:00
Thomas Reynolds 1e271448fa Merge pull request #392 from bhollis/minify
Disable inline minification by default, allow it to be turned on with an option
2012-04-26 10:52:48 -07:00
Ben Hollis ce9b99ce44 Disable inline minification by default, allow it to be turned on with an option 2012-04-25 23:41:09 -07:00
Ben Hollis dcc6c5b5e1 Simplify watcher to not fork by using 'listen' in non-blocking mode 2012-04-25 23:21:44 -07:00
Ben Hollis 49f95b9942 Un-vendor padrino helpers 2012-04-25 23:16:25 -07:00
Ben Hollis 37fc5b2b8c Use listen gem's built in relative_path support 2012-04-25 22:51:21 -07:00
Ben Hollis ddedc99473 Fix I18n tests by clearing out locale paths from other test runs 2012-04-25 22:37:41 -07:00
Arron Mabrey ac89ec0ee7 Adding a fun lorem.tweet method. Thanks to http://www.kevadamson.com/talking-of-design/article/140-alternative-characters-to-lorem-ipsum 2012-04-25 13:31:20 -03:00
Thomas Reynolds 1d583caf40 Merge pull request #381 from bhollis/speedup
Two speedups
2012-04-24 09:57:19 -07:00
Thomas Reynolds 163270c5d0 Merge pull request #378 from bhollis/frontmatter
Properly handle pages with no frontmatter
2012-04-24 09:52:43 -07:00
Ben Hollis ecf56d8e55 Cache Resource#metadata 2012-04-24 00:22:19 -07:00
Ben Hollis 35037957a6 Get rid of some extraneous sitemap refreshes 2012-04-24 00:22:10 -07:00
Ben Hollis 776ce4d5ae Properly handle pages with no frontmatter 2012-04-23 22:28:51 -07:00
Ben Hollis 9aadbbdca9 Append to I18n.load_path instead of replacing it 2012-04-23 22:27:45 -07:00
Thomas Reynolds 83178031d2 Merge pull request #371 from bhollis/speedup
Speed up builds
2012-04-23 10:29:06 -07:00
Thomas Reynolds 5405af5e0f Merge pull request #372 from bhollis/timing
Add timing info to render logging, and document why we use thin instead of webrick
2012-04-23 10:27:04 -07:00
Ben Hollis c560a0d20e Add timing info to render logging, and document why we use thin instead of webrick 2012-04-23 01:24:16 -07:00
Ben Hollis ab77cb2f34 Add an "origin" parameter to provides_metadata to allow for replacing metadata callbacks rather than always appending 2012-04-23 01:17:24 -07:00
Ben Hollis a4fcb4d939 Fix the file watcher to correctly use relative paths, to ignore files we don't care about, and have a find_new_files method that works like reload_path, but only touches previously-unknown files. This all ends up speeding up the build by a lot. 2012-04-23 01:17:13 -07:00
Thomas Reynolds 1f93ec9b94 Bump deps 2012-04-22 11:02:23 -07:00
Thomas Reynolds d95c0e6a3f Ducks in row 2012-04-21 14:48:26 -07:00
Ben Hollis 0a677f5de1 Reorder extensions so frontmatter is available before sitemap 2012-04-20 23:38:59 -07:00
Ben Hollis 9be76da3cf Simplify populating the sitemap lookup cache 2012-04-20 21:59:20 -07:00
Thomas Reynolds 9024de85d8 Allow partial to find files without an underscore prefix. Closes #366 2012-04-20 10:34:22 -07:00
Thomas Reynolds b97f681ef1 Move file extension methods up a level 2012-04-19 15:47:47 -07:00
Ben Hollis a0712224c6 Ignore unnecessary ignores and use destination_path in url 2012-04-17 23:55:28 -07:00
Thomas Reynolds cf66ddf206 Make file watcher paths relative 2012-04-17 12:23:33 -07:00
Thomas Reynolds 5866540dd8 Sort default i18n filenames 2012-04-17 10:59:58 -07:00
Ben Hollis 8178eb5602 Use set in filewatcher 2012-04-17 01:05:33 -07:00
Ben Hollis 50b797e0be Get asset_hash working after the sitemap refactor. Part of this required changing the behavior of the OnDisk Sitemap extension to rebuild the sitemap every time a file is touched, instead of just when files are added (even if the file being touched is ignored by the sitemap, like a partial!). This is because asset_hash needs to recalculate hashes whenever any file changes, since partials can affect the output of other files. 2012-04-17 01:05:28 -07:00
Thomas Reynolds bd9814965e Move 3rd party CLI out of fixtures 2012-04-16 15:38:26 -07:00
Thomas Reynolds a91bcc8a4c Merge pull request #360 from brettgoulder/master
Bumping HTML5 Boilerplate to 3.0
2012-04-16 15:16:29 -07:00
Thomas Reynolds 9730425caa Missing comma in Thor::Error 2012-04-16 15:08:44 -07:00
Brett Goulder 1f498eadb2 Bumping HTML5 Boilerplate to 3.0 2012-04-16 15:52:55 -06:00
Thomas Reynolds 259ef52190 reload i18n yml on config 2012-04-16 14:32:00 -07:00
Thomas Reynolds 3f2733720b Don't try to init i18n if we aren't using it (duh) 2012-04-16 14:01:18 -07:00
Thomas Reynolds d08624dfe3 Port i18n to new sitemap api 2012-04-16 13:42:22 -07:00
Thomas Reynolds 2afbb40925 Merge pull request #357 from trevor/padrino0.10.6
update vendor'd padrino 0.10.5 -> 0.10.6
2012-04-14 14:16:05 -07:00
Thomas Reynolds 5fde3996f7 Enable i18n tests 2012-04-14 14:13:16 -07:00
Thomas Reynolds 8a1342df9c Move Cache into Util 2012-04-14 14:06:49 -07:00
Thomas Reynolds d2d40079cc Rename Middleman::Base to Middleman::Application 2012-04-14 14:04:10 -07:00
Thomas Reynolds 2130e902c2 Begin splitting our requires into correct places instead of autoload
Disable autoload on watcher

finish moving requires out
2012-04-14 13:59:45 -07:00
Trevor Wennblom 12ce74b1d3 update padrino internal padrino references 2012-04-14 15:46:22 -05:00
Trevor Wennblom 4652736cea update padrino i18n hack 2012-04-14 15:45:55 -05:00
Trevor Wennblom 96eac33118 rename directories 2012-04-14 15:45:55 -05:00
Trevor Wennblom b514b7ea6e update padrino to 0.10.6 vanilla 2012-04-14 15:45:55 -05:00
Thomas Reynolds 0bc35db4a6 move util methods into their own namespace 2012-04-14 13:36:24 -07:00
Thomas Reynolds d935aedd59 Sitemap refactor 2012-04-14 13:17:42 -07:00
Trevor Wennblom 4d80d99d36 minor typos 2012-04-12 18:58:03 -05:00
Thomas Reynolds 313f6f8214 don't need ext, handled by listen gem 2012-04-09 19:06:54 -07:00
Thomas Reynolds 5d1961ba86 bump listen dep 2012-04-09 14:23:58 -07:00
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