Commit graph

320 commits

Author SHA1 Message Date
Ben Hollis c775a9973c Handle relative path urls in link_to, and add an option to produce relative links as well. Or, set :relative_links in config.rb to turn on relative links for all link_to calls. 2012-05-19 19:24:37 -07:00
Ben Hollis fc9c5e5fa2 Properly clear frontmatter cache when files change, and calculate frontmatter in the right order so resource_list_manipulators can see it. 2012-05-19 18:47:43 -07:00
Ben Hollis 7ad0f51d1a Always return HashWithIndifferentAccess from frontmatter data 2012-05-19 18:46:58 -07:00
Ben Hollis 64a2933161 Remove duplicate server methods and solve webrick logging in a platform-independent way 2012-05-16 21:19:03 -07:00
Thomas Reynolds 8c87bbc757 Handle .htc files [no-ci] 2012-05-12 08:48:03 -07:00
Ben Hollis 8d101552f3 Log to NUL: in Windows because apparently that's their name for /dev/null. Fixes #421 2012-05-10 22:12:55 -07:00
Thomas Reynolds 1022e63cee Avoid bundler on travis 2012-05-10 16:32:43 -07:00
Thomas Reynolds ed50d4326a Try to avoid running bundler in tests on Travis 2012-05-10 16:07:11 -07:00
Thomas Reynolds d4bccd76ab Don't hide bundler output [no-ci] 2012-05-10 15:07:19 -07:00
Thomas Reynolds 190be5f515 Bundler CLI commands 2012-05-10 15:06:06 -07:00
Thomas Reynolds 7c8baee246 Ignore ~ temp files [no-ci] 2012-05-10 14:05:28 -07:00
Thomas Reynolds 162622c453 JSON frontmatter and allowing frontmatter to be located after a encoding value 2012-05-09 13:33:14 -07:00
Thomas Reynolds 7929ed6c75 Refactor Frontmatter to use sitemap manipulators. Also fixes #422 2012-05-08 21:10:41 -07:00
Thomas Reynolds d55fef62b4 Remove usage of autoload statement in favor of require 2012-05-07 14:41:39 -07:00
Thomas Reynolds 557239e0d6 include inflections. closes #418 2012-05-05 19:59:02 -07:00
Ben Hollis 35d1a67dd1 Generate a .gitgnore file by default. Fixes #375. 2012-05-04 21:11:11 -07:00
Thomas Reynolds cb65916e6d newer listen gem 2012-05-03 19:31:25 -07:00
Thomas Reynolds 0be82d371e new extension cli 2012-05-02 15:59:36 -07:00
Thomas Reynolds 7b8457d963 Yard doc cleanup 2 2012-05-02 11:18:16 -07:00
Thomas Reynolds 2965e3709d Yard doc cleanup 2012-05-02 11:13:48 -07:00
Thomas Reynolds 1855745d8e Merge pull request #411 from middleman/request_module
Split out Request handling into an Extension. Dup the Application when responding
2012-05-02 11:13:37 -07:00
Ben Hollis 1c67871d44 Fix gemspecs for filenames with unicode paths 2012-05-01 22:57:56 -07:00
Thomas Reynolds 342044a01d Split out Request handling into an Extension. Dup the Application (like Sinatra) when responding 2012-05-01 13:11:42 -07:00
Ben Hollis 8d6739b15b I shouldn't code late at night 2012-05-01 00:47:36 -07:00
Ben Hollis 8f861fef06 Un-optional a parameter in hopes of fixing rbx build 2012-05-01 00:37:00 -07:00
Ben Hollis 380dac270d Switch content_type param order for 1.8 2012-05-01 00:22:16 -07:00
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