Commit graph

1250 commits

Author SHA1 Message Date
Thomas Reynolds 08b75f06ef more generic duck-typed rack extractor 2014-07-09 10:59:00 -07:00
Thomas Reynolds fafeea0857 Handle Rack responses from Sprockets 2014-07-09 10:46:03 -07:00
Thomas Reynolds c9d0dc7fb0 remove autoload sprockets, it'll use our new auto_activation code 2014-07-09 09:50:51 -07:00
Eliott Appleford bf03c14518 merge spec fixes onto master 2014-07-09 14:10:49 +01:00
Thomas Reynolds 0185d37473 Experiment with Contracts 2014-07-08 18:18:17 -07:00
Thomas Reynolds 928eb82d65 Convert Sitemap::Extensions into actual Middleman::Extension 2014-07-08 17:02:02 -07:00
Thomas Reynolds 52dcf37f24 Merge pull request #1318 from bhollis/partials_dir
Remove partials_dir functionality
2014-07-08 09:19:36 -07:00
Ben Hollis 004ba36741 Remove partials_dir functionality 2014-07-07 23:48:49 -07:00
Ben Hollis 50c6b3f4b9 Merge pull request #1313 from bhollis/remove_neighbor
Remove neighbor frontmatter support & move resource methods into Resource
2014-07-07 22:49:23 -07:00
Ben Hollis a1fe810a50 Fixup after rebase 2014-07-07 22:12:44 -07:00
Thomas Reynolds f47a586332 no longer need warning 2014-07-07 09:51:23 -07:00
Thomas Reynolds b02c9e5724 Merge pull request #1314 from middleman/rack-out
Untangle Rack from Application
2014-07-06 23:11:56 -07:00
Ben Hollis bf4310697d Move proxy/ignore/content_type Resource methods into the Resource class 2014-07-06 16:19:33 -07:00
Ben Hollis 0cbc232dac Remove neighbor frontmatter support 2014-07-06 16:15:43 -07:00
Eliott Appleford a47b58c58d fix gemfile conflict 2014-07-06 05:48:21 +01:00
Eliott Appleford 21c2b737f5 fix gzip spec 2014-07-06 04:02:43 +01:00
Thomas Reynolds 13acee8fd5 Reload MM on environment and helpers_dir changes. Closes #1274. Closes #1105 2014-07-05 18:26:51 -07:00
Thomas Reynolds 6752a86b83 Make our Rack pipeline a simple class abstracted from the App. 2014-07-05 17:38:29 -07:00
Thomas Reynolds c94470d33f get i18n's hands out of app too 2014-07-05 16:50:19 -07:00
Thomas Reynolds 0ca6c37e5d Remove App include in File Watcher 2014-07-05 16:44:04 -07:00
Thomas Reynolds 60bbe44e0e Data ext doesn't need to touch the app obj 2014-07-05 16:05:00 -07:00
Thomas Reynolds 300ef8d8fe Convert renderers into first-class extensions 2014-07-05 13:41:59 -07:00
Thomas Reynolds c0a6d8ac4c Pull mixin for extension activation into a real class 2014-07-05 12:51:41 -07:00
Thomas Reynolds 336b80cbbd Switch from ActiveSupports delegate method to Ruby 1.9+ def_delegator 2014-07-05 11:17:41 -07:00
Thomas Reynolds 3a19cc668d move Sitemap into application, it's core to the entire system 2014-07-05 10:42:03 -07:00
Eliott Appleford 5897c4c4a4 update gemfile 2014-07-05 04:27:51 +01:00
Thomas Reynolds 3a2cab4775 Whoops, leftover include 2014-07-04 10:41:25 -07:00
Thomas Reynolds 1bd7dab1a3 Make a ProxyResource which extends Resource, rather than injecting methods into Resource 2014-07-04 10:38:25 -07:00
Eliott Appleford e2e3c1e3fb fix specs on windows 2014-07-03 21:09:32 +01:00
Thomas Reynolds 6bb9673630 final copping 2014-07-02 11:05:57 -07:00
Thomas Reynolds 5a936d315d Merge remote-tracking branch 'origin/v3-stable' 2014-07-02 10:40:04 -07:00
Thomas Reynolds 52c8109ca3 rubocoping2 2014-07-02 10:39:43 -07:00
Eliott Appleford d8f84fa97b Update listen code 2014-07-02 18:26:18 +01:00
Thomas Reynolds 7b85a44afb rubocoping 2014-07-02 10:11:52 -07:00
Ben Hollis dfecfebc69 Remove options to proxy or ignore through page, and use Middleman::Util#path_match for matchers to allow a wider set of matchers. 2014-06-28 21:01:26 -07:00
Ben Hollis 838e25085a Munge build path so that path_match works against it in gzip extension 2014-06-28 21:00:59 -07:00
Ben Hollis d7fd48ef7d Merge branch 'v3-stable'
Conflicts:
	middleman-core/lib/middleman-more/extensions/asset_hash.rb
2014-06-28 18:48:49 -07:00
Andrew Kvalheim 429e7d64bd Accept list of paths to exclude from gzipping. 2014-06-24 14:49:51 -07:00
Andrew Kvalheim 13ba9dae62 Make option documentation consistent. 2014-06-24 14:47:10 -07:00
Ben Hollis 5c991ba4dc Add a protective require 2014-06-22 20:46:39 -07:00
Ben Hollis ad4b441dc3 Fixed implementation of Middleman::Util#path_match, added tests for it 2014-06-16 21:44:19 -07:00
Thomas Reynolds 8989e27769 Rubocop auto fix 2014-06-16 09:05:24 -07:00
Thomas Reynolds fe5247d9d9 Add <head> to 404 so Livereload can add its script to the page 2014-06-16 08:58:16 -07:00
Thomas Reynolds c6543b7c27 Add <head> to 404 so Livereload can add its script to the page 2014-06-16 08:57:56 -07:00
Ben Hollis 2ef842a730 Fix references to store in traversal 2014-06-14 13:08:03 -07:00
Ben Hollis f63feaf017 Do not use ShowExceptions during tests, it confuses things 2014-06-14 13:05:32 -07:00
Ben Hollis f07bed4ecf Fix custom layouts tests 2014-06-14 12:38:44 -07:00
Ben Hollis 416428444c Let users add metadata via #page 2014-06-14 11:31:53 -07:00
Ben Hollis e6ec5f31de Fix meta pages 2014-06-14 11:31:53 -07:00
Ben Hollis 85cebdb7e9 rubocop 2014-06-14 11:31:53 -07:00
Ben Hollis cb2b13778e Fix i18n 2014-06-14 11:31:53 -07:00
Ben Hollis 2beb774eb9 Put back request_path, I get it now 2014-06-14 11:31:53 -07:00
Ben Hollis b0ea4e7608 Tweak resource manipulator order 2014-06-14 11:31:53 -07:00
Ben Hollis 5760d64ef9 More ignores 2014-06-14 11:31:53 -07:00
Ben Hollis 0309753561 Change when file listeners are registered in order to make cache invalidation work 2014-06-14 11:31:53 -07:00
Ben Hollis 096f5ee356 Use source file, not path, to look up frontmatter data 2014-06-14 11:31:53 -07:00
Ben Hollis bf8f02d563 Turn routing into an extension 2014-06-14 11:31:52 -07:00
Ben Hollis 213c672969 Fix a lot of breakage caused by removing/hiding accessors 2014-06-14 11:31:52 -07:00
Ben Hollis 78b7bbb92a TODO metadata for path extension 2014-06-14 11:31:52 -07:00
Ben Hollis d687677e38 Mess around with liquid 2014-06-14 11:31:52 -07:00
Ben Hollis adfad92f8f Get rid of raw_data 2014-06-14 11:31:52 -07:00
Ben Hollis 5c04c2f42b More trimming 2014-06-14 11:31:52 -07:00
Ben Hollis d83d6e077c Extensionize liquid, bring back provides_metadata_for_path 2014-06-14 11:31:52 -07:00
Ben Hollis c285848866 Clean up i18n a bit, stake out some territory around routing and resource 2014-06-14 11:31:52 -07:00
Ben Hollis 69396d34c1 Start gutting the provides_metadata methods and move some of frontmatter over 2014-06-14 11:31:52 -07:00
Thomas Reynolds c59cefdafc Merge pull request #1293 from middleman/environments
Environments
2014-06-13 11:12:04 -07:00
Thomas Reynolds 449d38bcd2 Update to rspec 3 2014-06-11 13:39:40 -07:00
Thomas Reynolds a21dca025e Separate Environments from Modes 2014-06-11 10:28:30 -07:00
Thomas Reynolds c3b22fe325 sass renderer shouldn't explode if haml isn't available 2014-06-11 10:19:10 -07:00
Thomas Reynolds ee1d89fe55 fix whitespace 2014-06-11 09:19:00 -07:00
Thomas Reynolds 29bf25ace6 Extract compass support into extension, rewrite all features that rely on it to be pure Ruby 2014-06-03 09:01:46 -07:00
Thomas Reynolds 3879be0f23 Add proc as a means of defining a rewriter ignore. Closes #1289 2014-06-02 15:56:07 -07:00
Thomas Reynolds 927a1758ba Rack-based HTML rewriter 2014-05-30 14:48:34 -07:00
Thomas Reynolds 1006739e98 merge PR 2014-05-30 14:23:44 -07:00
Thomas Reynolds ca0573d92a Merge pull request #1266 from 747/working
A quick fix for finding eponymous parents
2014-05-30 14:20:11 -07:00
Thomas Reynolds be5fad55ca Merge branch 'master' of github.com:middleman/middleman 2014-05-26 18:00:44 -07:00
Thomas Reynolds 00bbdfa254 unvendor fastimage 2014-05-26 18:00:39 -07:00
Thomas Reynolds c2512e9093 update more files to non-hashrocket syntax 2014-05-26 17:58:35 -07:00
Ben Hollis 7a5865a407 gsub to sub 2014-05-26 17:13:16 -07:00
Ben Hollis b48a767595 Use alias_method instead of defining an alias method for current_page 2014-05-26 17:13:10 -07:00
Ben Hollis ce914e508a Make rubocop TrivialAccessors warnings less annoying 2014-05-26 16:53:23 -07:00
Ben Hollis 6561fea296 Change the auto activated extension feature to allow specifying different lifecycle events to activate at, allowing more extensions to auto activate. 2014-05-25 21:12:40 -07:00
Ben Hollis 70b3b87905 Move ExternalHelpers into a real extension 2014-05-25 21:06:37 -07:00
Ben Hollis fed95f9c5e Convert external data to a real extension 2014-05-25 21:06:37 -07:00
Ben Hollis e649bc2809 Convert FileWatcher to a real extension 2014-05-25 21:06:37 -07:00
Ben Hollis 67bb394852 Move some explicitly activated extensions to be auto activate 2014-05-25 21:06:36 -07:00
Ben Hollis 5d4cae2a06 Allow extensions to optionally register to be automatically activated before configuration. 2014-05-25 21:06:36 -07:00
Thomas Reynolds f89a76747e Removed wrap_layout 2014-05-25 12:23:00 +09:00
Thomas Reynolds 4ab88e6577 Document and cleanup TemplateContext class. 2014-05-25 11:59:21 +09:00
Thomas Reynolds 1a461154b6 prep 2014-05-24 19:27:56 +09:00
Thomas Reynolds 72b945682a Fix threadsafety issue with assignment. Fixes #501. Also, WTF? 2014-05-24 19:18:12 +09:00
Ben Hollis 9a3f9fe488 Clean up some Rubocop warnings that were previously suppressed. 2014-05-24 00:37:46 -07:00
Ben Hollis dd7f06968a Clean up extension activation, helper registration, and sprockets autoload 2014-05-22 23:05:15 -07:00
Ben Hollis 18da7bb692 Improve documentation and mildly clean up core_extensions/extensions.rb 2014-05-22 22:36:56 -07:00
Ben Hollis f60a49d2ce Improve documentation and variable naming for Middleman::Extensions 2014-05-22 21:48:37 -07:00
Thomas Reynolds 610716ee80 Work around possible mutable data issue #501 2014-05-22 19:20:43 +09:00
Ben Hollis 1a7da200d1 Fix before_render after change to hooks-0.4.0. Related to #1278. 2014-05-15 23:58:50 -07:00
Ben Hollis dc33f6b3fa Fix before_render after change to hooks-0.4.0. Related to #1278. 2014-05-15 23:55:39 -07:00
Ben Hollis 5f9dec3dc8 Merge remote-tracking branch 'origin/v3-stable'
Conflicts:
	middleman-core/lib/middleman-core/core_extensions/rendering.rb
	middleman/middleman.gemspec
2014-05-15 23:41:04 -07:00
Ben Hollis 82636e3596 Fixes to deal with Padrino 0.12.2 release 2014-05-15 23:30:49 -07:00
Thomas Reynolds 6238bb0716 Merge pull request #1279 from bhollis/extensions
Resource list manipulator priority
2014-05-12 09:25:24 -07:00
Ben Hollis 6b10d9d428 Add the ability to set a priority order for sitemap resource list manipulators.
This allows us to do things like forcing :directory_indexes to always run last, alleviating the problem of the sitemap output differing depending on when you activate your extensions.
2014-05-12 00:09:35 -07:00
Ben Hollis 2312f875e6 Revert "Add :format and :keep_original options to :asset_hash. Closes #1257"
This reverts commit 1f98d0f4f0.

Conflicts:
	middleman-core/lib/middleman-core/extensions/asset_hash.rb
2014-05-12 00:05:22 -07:00
bootstraponline 3f0373adf2 Fix after_render
Example usage from config.rb:

after_render do |content, path, locs, template_class|
  # restore character entities such as &amp;#96;
  content ||= ''
  content.gsub! '&amp;', '&'
  content
end
2014-05-11 14:06:04 -04:00
Ben Hollis b79a74b35b Improve documentation for Middleman::Extension 2014-05-11 00:35:15 -07:00
Ben Hollis 6515f01800 Extension setup methods should be private, not protected 2014-05-11 00:27:12 -07:00
Ben Hollis ef9da685de Do away with InstanceMethods for CoreExtensions::Extensions 2014-05-11 00:27:12 -07:00
Ben Hollis d179343ce7 Remove unused "activate" class method from Extension 2014-05-11 00:27:12 -07:00
Ben Hollis 5fc5e15975 Move methods for handling automatic extension discovery and rubygems enumeration into their own file. 2014-05-11 00:27:12 -07:00
Thomas Reynolds 2dd87bab74 Fix combo of compass-import-once and sass-globs. Closes middleman/middleman-sprockets#56 2014-05-01 10:01:45 -07:00
Thomas Reynolds f513ab77b3 Rubocop'd 2014-04-29 11:43:05 -07:00
Thomas Reynolds 6760d855bc hashrocket killa 2014-04-29 10:50:21 -07:00
Thomas Reynolds 8eabe4d354 rubocop 2: the reckoning 2014-04-29 10:44:24 -07:00
747 348417601b quick fix for finding eponymous parents 2014-04-29 22:43:33 +09:00
Thomas Reynolds 04dc48f13d Great rubocop-ing 2014-04-28 16:02:18 -07:00
Thomas Reynolds 1e43784cc2 remove queryable api 2014-04-28 10:28:16 -07:00
Thomas Reynolds ffe9226aac Remove root config options for minification 2014-04-28 10:21:14 -07:00
Thomas Reynolds 8f75f6516d back out IP detection 2014-04-14 10:34:53 -07:00
Thomas Reynolds 1f98d0f4f0 Add :format and :keep_original options to :asset_hash. Closes #1257 2014-04-14 10:05:00 -07:00
Thomas Reynolds 9d0eb72e73 Merge pull request #1254 from Arcovion/patch-1
Change default IP for CLI server
2014-04-11 09:39:54 -07:00
Eliott Appleford a50ca3a49d Change default IP
Enables #1248 by default.
2014-04-11 14:48:12 +01:00
Thomas Reynolds 4b53549ae4 Merge in recent changes from v3-stable 2014-04-08 09:27:18 -07:00
Thomas Reynolds a5c2386853 match masters new logger ref 2014-04-07 16:47:06 -07:00
Adam Luikart d4d1391bbb Don't hang on to the first Logger instance you see
If the main app instance hangs on to the logger that ::Middleman::Logger.singleton returns, then subsequent calls to re-init the logger won't have any effect (for instance, when setting up the preview server's logger based on CLI params).

Redefining logger to be a pass-through to ::Middleman::Logger.singleton instead of an ivar seems more in keeping with the sprit of a singleton, anyways.

This fixes an issue where running `middleman server --verbose` doesn't output any debug info.
2014-04-07 17:34:26 -05:00
Thomas Reynolds 69c6e87b31 bump 2014-04-07 09:56:15 -07:00
Thomas Reynolds 1b3b785c2b Merge pull request #1248 from Arcovion/patch-1
Mobile friendly host & windows fix
2014-04-07 09:49:36 -07:00
Thomas Reynolds 4c9af0e07d Merge pull request #1251 from railsbros-dirk/fix-middleman-init-command
CLI: Always require 'middleman-core/version'
2014-04-07 09:48:48 -07:00
Thomas Reynolds fcbf9f1568 avoid running Sass compilation twice 2014-04-07 09:38:00 -07:00
Dirk Breuer ae451608b3 CLI: Always require 'middleman-core/version'
The `init` command will fail if the `VERSION` was not required because
it is needed for the Gemfile generation. Unfortunately this was not
catched by the specs because the specs require the version and the child
process is not correctly reset.

I was not able to change this easily :-(
2014-04-07 16:15:50 +02:00
Eliott Appleford e3946a06d9 Print correct IP and mobile testing support
Address `0.0.0.0` wasn't valid on windows, use localhost instead
Finds a local IP that will also allow the development server to run on mobiles
2014-04-05 21:55:01 +01:00
Thomas Reynolds a40ef1a734 bump to include sass fix 2014-04-05 13:38:45 -07:00
Thomas Reynolds 7ae4c4d14e use compass-import-once 2014-04-04 17:02:22 -07:00
Thomas Reynolds f95da2a1da arbua jruby support 2014-04-04 10:56:47 -07:00
Thomas Reynolds f3edabfb7e bump execjs dep 2014-04-04 10:48:08 -07:00
Thomas Reynolds 638e2e64b7 Unvendor padrino 2014-04-04 10:22:34 -07:00
Thomas Reynolds 6d2f8cd50c Add options hash to asset methods to allow special options to be passed through from extensions 2014-03-31 14:15:46 -07:00
Thomas Reynolds 1c37cc6a34 Merge pull request #1238 from bhollis/asciidoc
Remove Asciidoc support in favor of a middleman-asciidoc extension
2014-03-30 10:52:40 -07:00
Ben Hollis 5ce8549f03 Remove Asciidoc support in favor of a middleman-asciidoc extension. 2014-03-29 19:24:51 -07:00
Ben Hollis c1f7299cfd Fix some references to extensions[:frontmatter] 2014-03-29 17:21:49 -07:00
Ben Hollis abeee38126 Remove yet another way to register extensions and register/activate FrontMatter like a normal extension. 2014-03-29 17:17:00 -07:00
Ben Hollis a6c37f3dd3 Clean up extensions a bit. Removes newest form of registering extensions, more consistently sets and uses an extension's ext_name, and makes a lot of things errors instead of just log messages in hopes that people can't get too far with a messed-up config. 2014-03-29 14:29:42 -07:00
Kale Worsley 6f38416c15 Include the destination_path in the instrumentation payload. 2014-03-28 09:10:33 -07:00
Andrey 'lolmaus' Mikhaylov db59447e82 Webrick should not do reverse DNS lookups
This prevents Middleman server from being terribly slow over network. Closes #1118.
2014-03-27 11:58:31 +03:00
Ben Hollis 4605ffc398 Improvements to the /__middleman/ metadata pages.
Includes formatting/styling changes to clarify the data being presented as well as align styling with middlemanapp.com. Also adds features and fixes to the sitemap view to show ignored files differently, hide redundant information, print data/options as a hash instead of as array pairs, and to list out available locals defined on a page.
2014-03-26 00:12:10 -07:00
Ben Hollis 10eca91311 Fix docs for HashWithIndifferentAccess 2014-03-25 22:43:43 -07:00
Ben Hollis 97e7427641 Ignore .cache by default in .gitignore 2014-03-25 22:39:52 -07:00
Ben Hollis 60f712e6ba Merge branch 'v3-stable'
Conflicts:
	.travis.yml
	Gemfile
	middleman-cli/lib/middleman-cli/build.rb
	middleman-core/lib/middleman-core/core_extensions/file_watcher.rb
	middleman-core/lib/middleman-core/templates.rb
	middleman-core/lib/middleman-core/util.rb
	middleman-core/middleman-core.gemspec
2014-03-25 22:35:19 -07:00
Thomas Reynolds 91675c4588 move sprockets init 2014-03-25 17:00:17 -07:00
Thomas Reynolds 1b6af9a4c1 Expose asset_path on the main Application object (Sprockets needed it) 2014-03-25 11:01:35 -07:00
Thomas Reynolds 37a8caf3fa Bring back extension block register syntax. Closes #1192 2014-03-25 11:00:43 -07:00
Ben Hollis bb5b4054ff Don't bother processing asset hash on ignored resources. On a large project with a lot of Sprockets dependencies that were mostly ignored, this brought the build down from 30 minutes to 1 minute 2014-03-23 23:35:12 -07:00
Ben Hollis 0a6c80d223 Don't attempt to load local templates if HOME is not set 2014-03-23 16:49:22 -07:00
Thomas Reynolds ce7636ad18 remove Implied Extensions feature. Closes #1211 2014-03-20 17:12:41 -07:00
Thomas Reynolds 1721dff4c7 add node_modules to filewatcher ignore 2014-03-20 10:03:44 -07:00
Thomas Reynolds fde93ffed4 add node_modules to filewatcher ignore 2014-03-20 10:02:18 -07:00
Thomas Reynolds ae1edd482f upgrade to newest activesupport 2014-03-20 09:53:01 -07:00
Thomas Reynolds 515c91e826 Merge pull request #1219 from bhollis/windows
Add tzinfo-data for Windows users
2014-03-19 15:40:33 -07:00
Ben Hollis f71a0951ef Add tzinfo-data for Windows users 2014-03-18 22:42:31 -07:00
Ben Hollis 67689e60d2 Prevent the file watcher from recursively enumerating into paths that it should ignore. This should fix the issue in #1197 as well as provide a performance boost when starting 'middleman server'. 2014-03-18 21:17:50 -07:00
Karl Freeman 87acf687d5 friendlier localhost print 2014-03-14 06:46:10 +00:00
Ben Hollis a88f12a262 Apply fix from 32716f3729 - avoid loading middleman-core unless needed. Fixes #1203 2014-03-13 20:32:25 -07:00
Thomas Reynolds 250c87ef61 move livereload init into dev block 2014-03-09 17:50:34 -07:00
Thomas Reynolds 8b20b39b31 Merge pull request #1194 from bhollis/gemfile
Require Bundler (a Gemfile) for all set up Middleman projects
2014-03-08 16:05:34 -08:00
Ben Hollis 10f8715bde Whoops, properly implement findup 2014-03-04 22:43:10 -08:00
Ben Hollis 220d1e8948 Require Bundler (a Gemfile) for all set up Middleman projects. We still do extension auto-discovery for "init". Gemfile may now be in any parent directory of 'config.rb', in case the Middleman project is in a subdirectory of a larger project. 2014-03-03 23:47:24 -08:00
Ben Hollis 5de4e337c1 Merge middleman-more back into middleman-core 2014-03-03 22:32:12 -08:00
Ben Hollis c9a640a3e2 Merge remote-tracking branch 'origin/v3-stable'
Conflicts:
	middleman-core/lib/middleman-core/extension.rb
2014-03-03 22:10:50 -08:00
Ben Hollis 0533bc4209 Be quiet about missing extras when middleman-core is used alone 2014-02-25 22:28:06 -08:00
Ben Hollis 0f9b199bfa Move some requires around 2014-02-22 22:44:28 -08:00
Ben Hollis e662b6433f Reapply changes from 477f87e98a to TemplateRenderer/TemplateContext 2014-02-22 22:44:25 -08:00
Ben Hollis c5b0ba17ea Fix Padrino integration after merge 2014-02-22 20:11:54 -08:00
Ben Hollis 4e545eef27 Break Middleman::Extension into its own file, mirroring the change on master 2014-02-22 18:43:47 -08:00
Ben Hollis 7b46fd6524 Merge remote-tracking branch 'origin/v3-stable'
Conflicts:
	CHANGELOG.md
	middleman-core/lib/middleman-core/core_extensions/rendering.rb
	middleman-core/lib/middleman-core/extensions.rb
	middleman-core/lib/middleman-core/version.rb
	middleman-core/lib/middleman-more/core_extensions/compass.rb
	middleman-core/lib/middleman-more/core_extensions/default_helpers.rb
	middleman-core/middleman-core.gemspec
2014-02-22 18:11:37 -08:00
Ben Hollis 477f87e98a Prefer loading layouts from layouts_dir over layouts with the same name in the source root. This also includes a bunch of refactoring/cleanup of rendering.rb. Fixes #1176. 2014-02-20 08:50:07 -08:00
Ben Hollis ca50f21fac "middleman init" will create a project in the current directory. Fixes #1181. 2014-02-19 23:13:59 -08:00
Thomas Reynolds 3995ad850c update padrino. 2014-02-18 18:30:29 -08:00
Jonathan Soeder 8d346e74a5 Adding before build hook 2014-02-04 23:03:24 -06:00
Nico Hagenburger 0c3000c799 as there are no more local changes in the hooks’ source, it can be unvendored and used as gem 2014-02-03 23:39:23 +01:00
Nico Hagenburger e5d95944c4 use instance hooks provided by hooks instead of changing the gem’s source
Conflicts:
	middleman-core/lib/middleman-core/core_extensions/extensions.rb
2014-02-03 23:37:55 +01:00
Nico Hagenburger 732532b72e upgraded hooks to 0.3.3; integrated custom changes as made for 0.2.0
Conflicts:
	middleman-core/lib/middleman-core/application.rb
2014-02-03 23:34:31 +01:00
Nico Hagenburger d6f9e8c640 as there are no more local changes in the hooks’ source, it can be unvendored and used as gem 2014-02-02 11:18:25 +01:00
Nico Hagenburger 2ad91339bb use instance hooks provided by hooks instead of changing the gem’s source 2014-02-02 11:12:57 +01:00
Nico Hagenburger 247a152d39 upgraded hooks to 0.3.3; integrated custom changes as made for 0.2.0 2014-02-01 23:45:46 +01:00
Jeremy Green b056f4f1d1 Update the console to the new logger syntax. 2014-01-30 23:26:17 -06:00
Thomas Reynolds f0fcebe169 disable sass cache since it cant marshal the path to the MM instance 2014-01-28 10:46:39 -08:00
Thomas Reynolds c2d85c35f2 prep release 2014-01-27 09:56:48 -08:00
Ivan Zarea 3993034883 Fix dynamic pages link in the config template 2014-01-27 09:35:30 +02:00
Sam Symons df1236412b Corrected a handful of documentation typos. 2014-01-09 19:49:41 -08:00
Thomas Reynolds 1dc9b97a5e better ruby style on some changes 2014-01-04 12:44:20 -08:00
Thomas Reynolds 504a1c2eba remove confusing and broken data.page variable 2014-01-03 16:18:16 -08:00
Thomas Reynolds 98e3c8aa79 remove instance variable and page block support 2014-01-03 15:49:54 -08:00
Thomas Reynolds 614d69dc18 move current_path in to the template context, one less piece of global state 2014-01-03 14:56:16 -08:00
Thomas Reynolds f40903e663 move rendering into specialized File and Template rendering classes. 2014-01-03 13:40:37 -08:00
Thomas Reynolds c06fbcfc93 rely directly on rack-mock 2014-01-02 21:45:42 -08:00
Thomas Reynolds bea2515a41 Move CLI into middleman-cli 2014-01-02 16:39:06 -08:00
Thomas Reynolds 305d2f99ed Put template rendering in a jail 2014-01-02 16:05:39 -08:00
Thomas Reynolds 9798f152ca silence slim warnings 2014-01-02 14:59:14 -08:00
Thomas Reynolds d77ef04774 upgrade to newest activesupport 2014-01-02 14:38:18 -08:00
Thomas Reynolds 95eaeba960 Start cleaning up Rack internals 2014-01-01 19:09:47 -08:00
Thomas Reynolds 42fb8c229a bump version 2014-01-01 18:08:30 -08:00
Thomas Reynolds a610608785 remove old style extension support 2014-01-01 15:10:49 -08:00
Thomas Reynolds c95c924d53 build a config file jail 2013-12-31 18:21:30 -08:00
Thomas Reynolds 2e2415612a spring cleaning util and discovery of nasty variable mutating in url_for 2013-12-31 14:41:17 -08:00
Karl Freeman dcf527008e StringLiterals 'cop' fix [ci skip] 2013-12-29 23:04:30 +00:00
Matt Simpson 21f575af3a Specify the full path to the NEWLINE constant 2013-12-28 19:43:59 -06:00
Karl Freeman a31aa5d8be TrailingWhitespace 'cop' fix 2013-12-28 18:14:15 +00:00
Karl Freeman 03d6e6c990 Implemented Rubocop
- just took a stab at running the StringLiterals cop to get a taste.
2013-12-28 00:47:39 +00:00
Thomas Reynolds e996868033 Depend on new i18n gem, silence deprecation warning 2013-12-25 16:52:29 -08:00
Thomas Reynolds b6361c23f7 prep new release 2013-12-18 14:56:21 -08:00
Thomas Reynolds a1090f912c fix issue with UTF-8-MAC paths not matching UTF-8 paths in build clean 2013-12-18 14:54:07 -08:00
Ben Hollis f9728108cc Fix Mac filenames patch 2013-12-15 16:06:55 -08:00
Thomas Reynolds 70744aa63f fix typo 2013-12-13 08:30:19 -08:00
TMaYaD 8b87670024 Allow path to be passed to page_classes
This allows tagging navigation links etc. in other pages with page classes
2013-12-13 13:07:00 +05:30
Thomas Reynolds 0a264fd3c2 Merge pull request #1116 from bhollis/gzip
Parallelize gzip extension using threads
2013-12-11 10:40:29 -08:00
Ben Hollis 39a9331232 Commit 8e99d39570 introduced a serious regression by encoding filenames within a "delete_if" block, meaning that every path in the list of all previously built files was re-encoded every time a file was built. For large projects this causes serious slowdowns - for a 4000 file test, it went from 14s to build to around 8 minutes to build. This change fixes the builder to only encode files when the file list is initially build, removing the bottleneck. 2013-12-10 22:11:59 -08:00
Ben Hollis 54bc3e44f7 Parallelize gzip extension using four threads 2013-12-10 22:06:41 -08:00
Ben Hollis 1f6904c0fc Set locale to :en around gzip extension while it works. It was originally only set for one message, not the whole extension. 2013-11-30 22:59:19 -08:00
Ben Hollis 9e8a16cd6d Switch back to single-variable storage for Sitemap::Resource#destination_path 2013-11-27 00:19:59 -08:00
Ben Hollis 63b53077ff Oops had not meant to commit this yet. Anyway, it makes the "helpers" method on Extension able to take a module directly instead of just a block. 2013-11-25 01:10:10 -08:00
Ben Hollis 34d399f580 Fix yard options 2013-11-25 00:12:39 -08:00
Ben Hollis 7ad5b2bdef Ignore this new .cache folder that's shown up 2013-11-24 23:31:51 -08:00
Ben Hollis fc20a761de Fix extension configs meta page to correctly handle multiple instance extensions like blog 2013-11-24 22:13:33 -08:00
fukayatsu 8e99d39570 Handle UTF-8-MAC filename on MacOS 2013-11-24 02:10:46 +09:00
Thomas Reynolds 6b6e9b143d actually add new padrino 2013-11-22 08:47:07 -08:00
Thomas Reynolds 48db12429a upgrade padrino. closes #1078 2013-11-19 18:10:39 -08:00
Ben Hollis 3347403d3a Fix typo 2013-11-19 00:17:50 -08:00
Ben Hollis 7f1285a773 Move to flat_map now that we don't use 1.8 2013-11-18 22:22:18 -08:00
Paul C Pederson 56343c84ed localization by filename extension 2013-11-18 10:20:42 -08:00
Thomas Reynolds f136af2aad TODO 2013-11-15 11:26:27 +00:00
Thomas Reynolds 8a18da4e3d Merge pull request #1071 from stevenosloan/fix_paths_for_meta_pages
use absolute paths for meta_page assets/links
2013-11-14 08:47:09 -08:00
Thomas Reynolds 95c0fe60ac whoops, bad rename 2013-11-14 16:44:37 +00:00
Steven Sloan d183858091 make meta page asset paths absolute to fix the issue of trailing/non-trailing slashes causing path problems on meta pages 2013-11-13 22:23:03 -05:00
Thomas Reynolds 4da2b02d70 Merge branch 'master' of github.com:middleman/middleman 2013-11-12 11:12:02 +00:00
Thomas Reynolds b813db397f actually wire up auto alt tags. Finally fixes #782 2013-11-12 11:11:33 +00:00
Takehiro SUGITA 19908ca81a Add -B option as an alias to --skip-bundle 2013-11-08 19:45:49 +09:00
Thomas Reynolds e0a4b8f17d dont route kramdown mailto links through link_to. Closes #1058 2013-10-30 09:18:25 -07:00
Thomas Reynolds 22c977d426 Merge branch 'master' of github.com:middleman/middleman 2013-10-29 09:44:22 -07:00
Thomas Reynolds 2cd5edf114 bump to 3.2.0 2013-10-29 09:44:19 -07:00
Thomas Reynolds ca4935361b drop Ruby 1.8, add some extra tests 2013-10-29 09:43:56 -07:00
Thomas Reynolds 19c155349d Merge pull request #1044 from mojavelinux/asciidoc-renderer
resolves #1043 added a renderer for AsciiDoc files
2013-10-29 09:37:36 -07:00
Thomas Reynolds 9a2c1533e3 make page_classes prefix configurable 2013-10-29 09:33:27 -07:00
Thomas Reynolds 1e57eb5c1b Merge pull request #1049 from bhollis/classes
Clean page classes of invalid CSS characters
2013-10-29 09:23:05 -07:00
Andrew e8de5907fa Actually fix the issue, rather than pretending to 2013-10-25 18:09:36 +11:00
Andrew 2e70cc5d99 Update queryable interface so that it doesn't mutate 2013-10-25 14:48:23 +11:00
Thomas Reynolds 87aa288f1e Merge pull request #1054 from bhollis/reload
Gracefully handle syntax (and other) errors when reloading config.rb.
2013-10-21 10:37:36 -07:00
Thomas Reynolds 764efe65cd Merge pull request #1053 from bhollis/logging
Allow logging to be sent to a file
2013-10-21 10:37:02 -07:00
Thomas Reynolds 13511f9323 Merge pull request #1052 from bhollis/builder
Refactor the Build CLI code to be easier to read
2013-10-21 10:36:44 -07:00
Ben Hollis 12de88e8d7 Allow logging to be sent to a file
In config.rb, you can write:

logger 'middleman.log'
2013-10-19 20:20:07 -07:00
Ben Hollis 441ec95065 Gracefully handle syntax (and other) errors when reloading config.rb.
With this change, config.rb modifications that result in an error will print the error to the logs but will not kill the server - the previous version of the application will still be running just fine, so that you can try and fix your config.rb without having to restart. The server no longer simply hangs with no message, which was the previous behavior. This fixes #702.
2013-10-19 19:39:10 -07:00
Ben Hollis e773e8c1a9 Fix tests under 1.8 by coercing Kramdown's OrderedHash into a real Hash. 2013-10-19 19:02:34 -07:00
Ben Hollis d3e4882b93 Refactor the Build CLI code to be easier to read and use Pathname throughout.
This also throws an error if :build_dir is set to a parent directory of :source_dir, which resolves #991.
2013-10-19 18:11:29 -07:00
Ben Hollis ae2b6b34f1 Fix a nasty memory/proc leak pointed out by @Xanders. Fixes #1020. 2013-10-19 16:45:07 -07:00
Ben Hollis da34153e0c Support HEAD requests. Fixes #1021. 2013-10-19 16:18:11 -07:00
Ben Hollis 4055479ff3 Clean page classes of invalid CSS characters and make sure they don't start with a number 2013-10-19 15:31:49 -07:00
Dan Allen 5439139b76 added cucumber tests for #1043, AsciiDoc support 2013-10-19 14:41:52 -06:00
Dan Allen 55d844f667 resolves #1043 added a renderer for AsciiDoc files 2013-10-17 00:49:53 -06:00
Thomas Reynolds 7762abe461 prep 2013-10-15 14:40:01 -07:00
Thomas Reynolds 1260188069 attempt to address asset host and hash combo, give up. 2013-10-15 14:33:25 -07:00
Thomas Reynolds 43653b70a4 Merge pull request #1019 from tavon/master
Do not cache generated redirect index file.
2013-09-24 23:39:34 -07:00
Thomas Reynolds d842db1772 Merge pull request #1017 from bhollis/url_for
Look for assets using url_for before falling back to the "images" directory
2013-09-24 23:33:53 -07:00
John Hwang 5b691fff10 Do not cache generated redirect index file.
Returning visitors to site were being redirected to the old page because their browser was caching the index page which was pointing to the previously URL.
2013-09-24 10:59:52 -04:00
Ben Hollis f2538f2e54 Look for assets using url_for before falling back to the "images" directory 2013-09-22 14:02:51 -07:00
Ben Hollis a746be1342 Use our magic linking functions from Kramdown, just like we do with Redcarpet. Fixes #999 2013-09-16 23:46:59 -07:00
Ben Hollis 8a928863f2 Normalize paths in the cleaning queue using realpath in order to avoid complicated symlink problems. 2013-09-16 22:13:39 -07:00
Ben Hollis 268538f926 Make an effort to handle spaces in filenames in a way that url_for can handle. 2013-09-16 21:07:57 -07:00
Thomas Reynolds cd9964edbe prep 2013-09-07 13:12:31 -07:00
Steven Sloan ee7c9e6a6e Add support/tests for Redcarpet 3.0.0 features
- :underline
- :highlight
- :disable_indented_code_blocks

Fix support for
- :link_attributes
- :filter_html

separate Redcarpet extensions from renderer options, add specs for missing renderer options

add specs for the missing/new redcarpet extensions, [ :lax_spacing, :underline, :highlight, :quote, :disable_indented_code_blocks, :footnotes ]

fix link_attributes option for Redcarpet

patch Tilt's reverse option aliases (they were there for RC1)

adjust test data for Redcarpet toc_data to match the current way it renders in 3.0

revert tests that aren't in redcarpet 3.0.0

add a cucumber exempt tag for mri-1.8.x

move redcarpet 3 specific extensions to a separate scenario filtered by the no18 tag
2013-08-27 11:37:37 -04:00
Thomas Reynolds abfe5e673f Merge pull request #992 from Mark-Simulacrum/master
Add listener latency option.
2013-08-21 16:01:27 -07:00
Mark Simulacrum 7606dfd494 Change latency option to :numeric type. 2013-08-21 05:33:29 -06:00
Mark-Simulacrum c12d98df4f add comma at end of line 74 2013-08-20 15:59:38 -06:00
Mark-Simulacrum 24ce8334ee Add latency option to listener object. 2013-08-20 06:36:51 -06:00
Mark-Simulacrum d37eca6a54 Add latency option.
Aliased to -l.
2013-08-20 06:32:49 -06:00
Mark-Simulacrum b1b3339597 Create automated alt tag addition, based on image name.
Needs documentation.
2013-08-18 20:06:39 -06:00
Linus Pettersson e77e615314 Fixed encoding for new buffer 2013-08-18 00:07:26 +02:00
Ben Hollis f92ae94728 Escape filenames in regexes. Fixes #942. 2013-08-15 22:04:18 -07:00
Jason Webster dd08ea2f6d Fix wrong http pathing/prefixing example in generated config 2013-08-15 15:24:44 -07:00
Thomas Reynolds 6d1effd2e7 bump 2013-07-21 23:32:28 -07:00
Aggelos Orfanakos 2a8b22558a Don't set resp Content-Type for some status codes
There must not be a Content-Type set when the Status is 1xx, 204, 205 or
304, otherwise Rack blows up with the following error: "Content-Type
header found in 304 response, not allowed"
2013-07-13 05:01:32 +03:00
Aggelos Orfanakos 83d83c5c8c Fix double-escaping of config settings 2013-07-12 23:06:51 +03:00
Aggelos Orfanakos fffe36f42c Fix double-escaping of resource properties 2013-07-12 22:54:15 +03:00
Ben Hollis bef6e13c5f I never meant to actually name this parameter blockm 2013-07-08 22:17:12 -07:00
Ben Hollis 8979fe9f18 Print file where YAML/JSON errors occur. Fixes #954. 2013-07-08 22:16:03 -07:00
Thomas Reynolds 8b970f9d92 support redcarpet's no_ flags which need to be re-implemented in our overrides. Fixes #951 2013-07-08 14:21:36 -07:00
Thomas Reynolds 5806f2cbf5 auto include wdm on windows platforms 2013-07-07 20:57:04 -07:00
Thomas Reynolds dd2525c18e Merge branch 'master' of github.com:middleman/middleman 2013-07-02 14:42:54 -07:00
Thomas Reynolds 6403daccd3 prep 2013-07-02 14:42:44 -07:00
Arron Mabrey 44e5ff3f6c Update Sitemap source_dotfiles to support .nojekyll file 2013-06-30 18:46:39 -04:00
Alan Larkin 26b7f46978 Fixed typo in middleman-core/core-extensions/request.rb. 2013-06-25 14:55:12 +01:00
Thomas Reynolds b2ecf5526b ignore all ds_store 2013-06-24 14:26:58 -07:00
Thomas Reynolds b6a73ccfe5 prep 2013-06-24 14:15:27 -07:00
Thomas Reynolds c7d3e7d601 Fix regex which was allowing i18n to file yaml files in the data folder 2013-06-24 13:56:32 -07:00
Thomas Reynolds 37752dc291 fix layouts with implied extensions 2013-06-24 13:39:14 -07:00
Thomas Reynolds 3399ee207e dont hardcode ignored build dir name 2013-06-23 15:15:43 -07:00
Steve Faulkner f68f01a574 Update gitignore 2013-06-22 22:53:10 -05:00
Thomas Reynolds d86dffa7c6 implement redirect support 2013-06-19 11:13:23 -07:00
Thomas Reynolds 0415b76d4f tests for content_tag escaping 2013-06-18 11:12:41 -07:00
Manuel Meurer c75e31ae94 Fix content_tag helper, only try to mark content as safe if it is not a hash of options 2013-06-18 10:12:38 +02:00
Thomas Reynolds 0e69928939 bump ver 2013-06-17 00:47:58 +00:00
Thomas Reynolds efe52f7cca Check if set is redefining a param at the class level. Fixes #939 2013-06-17 00:47:10 +00:00
Thomas Reynolds f0707c0968 Prevent relative asset helper from munging data URIs. Closes #938. 2013-06-15 16:22:14 -07:00
Thomas Reynolds 9320007be6 dum dum dum..... 2013-06-14 16:31:51 -07:00
Thomas Reynolds 8eac168618 new rc 2013-06-13 09:23:31 -07:00
Thomas Reynolds 913d2b7049 Implement generic which is a simple way to build a file from Rack 2013-06-13 09:05:13 -07:00
Thomas Reynolds 7e405fc414 And by 1.8, I mean MRI 1.8 2013-06-12 17:58:59 -07:00
Thomas Reynolds e03362e6f6 Apparently Ruby 1.8 doesn't have Proc.source_location 2013-06-12 17:40:17 -07:00
Thomas Reynolds 7d7d5e683e Set current_engine on the context, not self, since we dup self and use that for each render loop. Closes #860 2013-06-12 15:21:31 -07:00
Thomas Reynolds a52effc119 continue forcing Padrino to html_safe everything 2013-06-12 11:19:02 -07:00
Thomas Reynolds d71af3f5a1 Force padrino to skip safebuffer on erb 2013-06-08 15:36:14 -07:00
Thomas Reynolds d728df12cf bump ver 2013-06-05 13:40:45 -07:00
Thomas Reynolds 265f90e240 Add callback so v4 extensions can see when other extensions are activated 2013-06-04 15:51:03 -07:00
Thomas Reynolds 69c36e691f use latest padrino 2013-06-04 09:56:33 -07:00
Thomas Reynolds 39d3fa01ad Merge branch 'master' of github.com:middleman/middleman 2013-06-04 09:48:45 -07:00
Thomas Reynolds a9839731e6 only require padrino once 2013-06-04 09:48:01 -07:00
Thomas Reynolds d3d85f8bc7 Merge pull request #923 from pulletsforever/feature/rack-block
Allow block to be passed through from Middleman.server()
2013-06-03 13:35:01 -07:00
David W. Keith f2f17c33b3 Allow block to be passed through from Middleman.server() 2013-06-03 11:48:16 -07:00
Thomas Reynolds c741735446 update path to helpers for sitemap metapages 2013-06-03 10:07:09 -07:00
Karl Freeman 32b113dc93 include '/vendor' in ignored files / folders 2013-06-03 17:06:43 +01:00
Thomas Reynolds d0cd3e3cf9 layouts_dir is now configurable. Closes #899 2013-06-01 15:25:44 -07:00
Thomas Reynolds 149f6ffa5b fix builder not cleaning empty directories 2013-05-31 21:20:15 -04:00
Thomas Reynolds 9d50cad910 Merge branch 'master' of github.com:middleman/middleman 2013-05-31 21:01:34 -04:00
Thomas Reynolds 10f1d7ada2 break apart some methods to make code less complex 2013-05-31 20:46:12 -04:00
Ben Hollis dbcb28dded Add an "empty" template and let template classes override the "Gemfile" template.
Custom template classes can define "self.gemfile_template" to return the path to their own Gemfile template, without having to reimplement our generate_bundler! task.
2013-05-30 21:17:43 -07:00
Ben Hollis 7127401aa2 Micro-optimize some regexes 2013-05-30 21:17:42 -07:00
Ben Hollis 7bdf28a421 Fix ignoring layouts from the sitemap when the source directory has been set to something other than 'source'. Fixes #896. 2013-05-30 20:17:58 -07:00
Jonathan Allard 56f16c2488 Fix #823-2 to allow only one extension on localized views
Make Sitemap::Store#strip_away_locale actually do something
2013-05-30 13:37:31 -04:00
Thomas Reynolds 31f238f881 Refactor some of i18n for better codeclimate scores. In the process, make nested i18n files work like rails 2013-05-29 14:00:37 -04:00
Thomas Reynolds 86cd626084 write some file change and deletion tests for better data coverage 2013-05-29 10:59:03 -04:00
Ben Hollis f611a7185b Clean up frontmatter a bit 2013-05-28 22:29:58 -07:00
Ben Hollis e03ef4226a Cache the filtered resource list to avoid calling Resource#ignored? a ton 2013-05-26 16:38:28 -07:00
Thomas Reynolds 950aace674 Make Frontmatter a class-based extension to simplify file 2013-05-24 17:11:46 -07:00
Thomas Reynolds 5104579623 after_build support in class-based extension 2013-05-24 15:49:15 -07:00
Thomas Reynolds 7611f4ef4a Listen bundles these gems again (le sigh) 2013-05-24 11:34:03 -07:00
Thomas Reynolds 3d804494f5 ignore tmp dir 2013-05-24 10:34:10 -07:00
Thomas Reynolds 117a9ab6f9 unneeded require 2013-05-23 16:27:37 -07:00
Thomas Reynolds 5b8c7a2494 move vendored gems into shared root 2013-05-23 16:06:20 -07:00
Thomas Reynolds 7a227b8bac stub out blank middleman-more gem for backwards compat with extensions 2013-05-23 15:26:33 -07:00
Thomas Reynolds ed9012ef5b Ruby 1.8 can't regex on a symbol (or something) 2013-05-23 14:55:26 -07:00
Thomas Reynolds bcdaad6443 Merge pull request #906 from adamesque/master
Make sure Frontmatter data is actually cached
2013-05-23 13:35:01 -07:00
Thomas Reynolds 424fee0722 Cache frontmatter repeated calling of recursively_enhance 2013-05-23 13:31:52 -07:00
Adam Luikart c60cddc1ac Make sure Frontmatter data is actually cached. Fixes #903
(Can't return a value to early out of a begin…end expression in Ruby)
2013-05-23 14:50:46 -05:00
Ben Hollis dbbf84016f Fix c9d151ba66 for when files are outside the project 2013-05-22 23:39:56 -07:00
Thomas Reynolds c9d151ba66 The file watcher knows which files exist, so don't use slow File.exists?
Possible solution for #903
2013-05-22 17:38:01 -07:00
Thomas Reynolds fc37ef9b99 vendor padrino 2013-05-19 13:53:37 -07:00
Thomas Reynolds b19e8bc185 reorg some of the more stuff 2013-05-19 13:26:16 -07:00
Thomas Reynolds 15cfbd3b51 bump 2013-05-16 17:03:32 -07:00
Ben Hollis 0b017bbf3d Require padrino helpers from sitemap meta page 2013-05-12 13:55:24 -07:00
Ben Hollis 2d17fd7480 Show a warning when default helpers or Compass are not installed. 2013-05-12 10:35:40 -07:00
Ben Hollis ee05fa3d2c Add total to the end of gzip output 2013-05-12 10:09:53 -07:00
Thomas Reynolds 9ebddeed1d merge more into core, use gem availability to autoload 2013-05-09 14:41:26 -07:00
Ben Hollis b4d75351a2 Make errors more obvious during build (with color) and run after_build hooks even if there's an error. 2013-05-04 10:57:17 -07:00
Ben Hollis 64878bfc23 Replace all_files_under with method that doesn't modify in-place 2013-05-04 10:56:38 -07:00
Thomas Reynolds 2ef3b7e4d9 fix listen deprecation 2013-05-03 11:40:30 -07:00
Thomas Reynolds b230018692 quick release to work around i18n gem dep problem 2013-05-03 11:24:53 -07:00
Thomas Reynolds 4964022998 rollback some versions 2013-05-03 11:24:05 -07:00
Thomas Reynolds fdc5154462 scope it, real good 2013-05-02 23:01:30 -07:00
Ben Hollis 1d88a52170 Make the list of regexes ignored by FileWatcher configurable 2013-05-02 22:09:54 -07:00
Ben Hollis 5970333ca2 Fixups for localizable files 2013-05-02 22:03:28 -07:00
Ben Hollis d58acae939 Progress towards making localizable pages work 2013-05-02 21:17:50 -07:00
Jonathan Allard 23b6efbb06 Store#extensionless_path: Change implementation to make overrides easier 2013-05-02 19:14:59 -07:00
Ben Hollis 1362a1fc81 Update default config.rb to be a bit more modern 2013-05-02 18:59:39 -07:00
Ben Hollis 3080857316 Merge pull request #840 from barraponto/livereload_instructions
Document livereload usage in config file
2013-05-02 18:55:48 -07:00
Will Koehler 25d7544103 Add [] operator and has_key? to DataStore to make DataStore act like a hash.
The main benefit of this is to add the ability to gracefully handle the case when data is not present.
2013-05-02 16:39:28 -04:00
Thomas Reynolds b4edf7cf16 update the extension template to new class system 2013-05-01 09:37:33 -07:00
Ben Hollis fa17134c0a Call the :initialized hook after the build configuration hook so extensions don't get activated but not initialized 2013-05-01 01:12:50 -07:00
Ben Hollis 513e6dc2ad Attempt a fix for #837 2013-04-30 19:52:33 -07:00
Ben Hollis 53c4413cc3 Define respond_to? on DataStore. Fixes #872. 2013-04-30 18:27:26 -07:00
zbo fce9d17a81 bug fix: loading assets in pre-release gems (like :path=> :git=> in Gemfile) 2013-04-30 18:44:01 +08:00
Thomas Reynolds ab2f37d2e6 make I18n optional in core 2013-04-22 22:09:33 -07:00
Thomas Reynolds 8a54645de5 bump padrino to 0.11.x 2013-04-22 22:07:35 -07:00
Thomas Reynolds 8b1bcb6246 move livereload dep to Gemfile 2013-04-22 20:30:25 -07:00
Ben Hollis e54c854e10 Go back to calling the source file "Source File" in the metadata view. 2013-04-21 18:13:48 -07:00
Thomas Reynolds bf4862860d remove unbundled extensions from default config 2013-04-20 21:21:27 -07:00
Thomas Reynolds 2500e4d35d convert i18n to new ext 2013-04-20 14:58:06 -07:00
Thomas Reynolds 65c8dda565 automatically wire up sitemap manipulators, let extensions control their name, add self-registration method 2013-04-20 13:54:32 -07:00
Thomas Reynolds 10e1fd92d6 add extension helpers block, convert cache buster 2013-04-20 13:32:39 -07:00
Thomas Reynolds b12a7bff3d Switch AssetHost to be a new-style extension. Setup extensions app scope earlier. Add supports_multiple_instances flag for extensions. 2013-04-20 12:59:14 -07:00
Thomas Reynolds c2e2839b79 allow new sprockets 2013-04-14 16:21:36 -07:00
Thomas Reynolds 9af92fa7a3 Fix slim's complaints about extra render options (:layout) 2013-04-14 09:37:23 -07:00
Thomas Reynolds ca333bb306 avoid warning with empty frontmatter 2013-04-14 09:29:34 -07:00
Thomas Reynolds 31651e4296 fix slim 2.0 deprecation warnings 2013-04-14 09:24:48 -07:00
Ben Hollis a2822ce7f5 Fix --clean option to not be an error if it is passed (for backwards compatibility) 2013-04-13 18:58:54 -07:00
Ben Hollis 310eae255e Nice styling for sitemap pages 2013-04-13 18:13:51 -07:00
Ben Hollis b4f131d615 Styling for config meta page 2013-04-13 18:13:51 -07:00
Ben Hollis a2f0cc263a Merge pull request #861 from bhollis/extensions
A bunch of extensions and config meta pages work
2013-04-13 16:38:17 -07:00
Thomas Reynolds 2679b7c506 Default build to cleaning 2013-04-13 13:52:22 -07:00
Ben Hollis 6fcbac0368 Advertise meta pages on startup 2013-04-12 23:32:18 -07:00
Ben Hollis 774361bf89 Add extensions to meta config page 2013-04-12 23:32:18 -07:00
Ben Hollis 2d4668f524 Add in the metadata rack app early so it is there whenever middleware grabs the app 2013-04-12 23:32:18 -07:00
Ben Hollis ee11ccb184 Reorganize Request a bit 2013-04-12 23:32:18 -07:00
Ben Hollis 8001dab258 Save information about extensions in a discoverable way.
This allows us to display extension config information at /__middleman/config/, and also allows users to modify extension
settings after they're activated in config.rb with a statement like "extensions[:asset_hash].options.exts += ['.js']".
2013-04-12 23:32:18 -07:00
Ben Hollis b9b17e3ac5 In general, no need for bundle exec since we call bundle/setup 2013-04-12 23:32:17 -07:00
Ben Hollis f7cd0e231e Update the extension template for the new Extension class. 2013-04-12 23:32:17 -07:00
Ben Hollis b607d70a52 Simplify configuration a bit, and make extensions raise an error if the user tries to set an invalid extension option. 2013-04-12 23:32:17 -07:00
Thomas Reynolds 3f94df1eef prep 3.1 beta 2013-04-12 16:19:47 -07:00
Thomas Reynolds 0574cc3d28 Support sideloading from .frontmatter files. Closes #855 2013-04-12 16:14:16 -07:00
Thomas Reynolds a0445e405a Allow frontmatter renderer_options key to overwrite renderer options on a per-file basis. closes #859 2013-04-11 10:13:36 -07:00
Thomas Reynolds 9fc06035b1 unrequire osx file watcher 2013-04-11 09:53:38 -07:00
Ben Hollis f0449229a9 Unregister .csv from Tilt as well. Fixes #822. 2013-04-09 23:15:05 -07:00
Ben Hollis 283576af1a Refactor some trivial extensions back into application. 2013-04-09 23:06:10 -07:00
Ben Hollis fdd52cd640 Remove global access to the rack env and response 2013-04-09 23:06:10 -07:00
Ben Hollis 16ca3d5c17 Make some common shared state, and logging, threadsafe 2013-04-09 23:06:10 -07:00
Artem Baguinski 91e7033d54 a first stab at partials_dir setting
re #252
2013-04-09 08:46:18 +02:00
Ben Hollis 1617875934 Activate Sprockets before user config 2013-04-07 23:33:40 -07:00
Ben Hollis 3e75a10056 Switch default markdown engine to Kramdown 2013-04-06 18:26:41 -07:00
Ben Hollis 7a4aa109a6 Overhaul content-type handling, making it configurable via page/proxy commands as well as frontmatter with the 'content_type' parameter.
Now, users can set content type explicitly for their files in a number of ways, or rely on automatic file-extension content types. Proxied files default to automatic file-extension content types, but then fall back to the content type of the resource they proxy to. There is also a bug fixed around correctly setting content type inside send_file. Fixes #821.
2013-04-06 15:11:25 -07:00
Ben Hollis 397ccd2c1e Fix a bunch of Ruby warnings, including a bug in the not_found method 2013-04-06 14:56:08 -07:00
Ben Hollis 1d869b0c08 Simplify frontmatter by removing its resource_list_manipulator 2013-04-06 14:56:08 -07:00
Ben Hollis c2ffa538ad Undo my previous change, apparently it is no good 2013-04-04 23:28:28 -07:00
Ben Hollis f7d1471edb Handle empty frontmatter without logging an exception 2013-04-04 22:59:05 -07:00
Ben Hollis f89c815868 More agressively set the context for our custom Markdown renderer, and fall back if we still don't manage to get it right. Fixes #662. 2013-04-04 22:48:09 -07:00
Ben Hollis 4d5c509688 Fix several issues around i18n and resource metadata.
There are a few things changing here. One is that we always dup metadata before using it - this prevents a class of nasty bugs where after the first resource list build, blocks had been deleted from metadata hashes, meaning they would no longer be applied. Now they will always stick around. Then, I made sure that whenever we render a file, we save the previous I18n.locale and restore it afterwards, in case people change locale from blocks. This should help in some weird cases where files are rendered recursively. Finally, I've added a :lang option that can be used from "page" or "proxy" to allow people to specify the language for one or more files without having to pass a block that sets I18n.locale directly, which should make that pattern much cleaner. This fixes #809 and may also fix middleman/middleman-blog#106.
2013-04-03 00:07:31 -07:00
Ben Hollis cc418c7a2d Ruby 2.0 switches to using #inspect instead of #to_s when printing out objects, which brings back the infinite-hang-on-NoMethodError bug from http://bugs.ruby-lang.org/issues/4521. Aliasing #inspect to #to_s for Middleman::Application fixes it again. This fixes #833. 2013-04-02 22:20:37 -07:00
Ryunosuke SATO 3de491981a Fix method comments
`rake doc` shows some warnings.
I fixed method comments to suppress it.
2013-03-29 03:15:33 +09:00
Capi Etheriel c1c752aa32 Suggest adding middleman-livereload to bundle 2013-03-26 15:07:22 -03:00
Capi Etheriel 00ac776fc4 Document livereload usage in config file 2013-03-26 11:21:17 -03:00
Thomas Reynolds 8aa652713a Merge pull request #836 from tricknotes/directory-as-a-data-key
Support directory name as a data key
2013-03-25 09:53:58 -07:00
Thomas Reynolds 420b4c6087 simplest thing that could work implementation of Middleman::Extension 2013-03-23 15:35:38 -07:00
Ryunosuke SATO 1e64e8022e Support directory name as a data key 2013-03-23 17:17:34 +09:00
Thomas Reynolds cd539f4e91 Merge pull request #835 from artm/need_reload_fix
fix 'needs_to_reload?' regexps
2013-03-22 11:13:07 -07:00
Artem Baguinski e07bd036d1 just call needs_to_reload? once 2013-03-22 18:28:38 +01:00
Artem Baguinski e169f88a5a fix 'needs_to_reload?' regexps
- remove stray ^ that would cause regexp to never match
- remove '_helper' suffix as it isn't required for helpers
2013-03-22 18:22:16 +01:00
Ryunosuke SATO f7f281de39 Fix code comment 2013-03-22 18:14:10 +09:00
Thomas Reynolds f2f3ad21b6 bump tilt requirement, unregister plaintext template. fixes #824 2013-03-18 14:12:49 -07:00
Michael Baudino d8d34b6c74 Changed 'default' and 'html5' templates to use 'current_page.data.title' instead of 'data.page.title'
Related to middleman/middleman-blog#107
2013-03-17 18:18:59 +01:00
Ben Hollis 659f063076 Include file extension in template cache. May fix #798 2013-03-14 23:21:58 -07:00
Ben Hollis 6672c1c324 Merge branch '3.0-stable' 2013-03-10 16:32:55 -07:00
Ben Hollis 46f060ab12 Don't require securerandom - not sure what it was there for, but its not available in JRuby 2013-03-10 16:32:24 -07:00
Ben Hollis 3ce35149ec Merge pull request #806 from kevin8t8/3.0-stable
Fix dynamic multi-byte utf-8 files rebuilding.
2013-03-03 19:07:55 -08:00
Kevin McCarthy 7608275089 Fix dynamic multi-byte utf-8 files rebuilding.
Thor compares the new contents with the existing file by using
File.binread(destination) == new_content.
File.binread returns a string with ASCII_8BIT encoding, which will not
match the new_content if new_content contains multi-byte utf-8.

This patch simply encodes the new_content to ASCII_8BIT before passing
it to Thor.
2013-03-03 18:13:41 -08:00
Ben Hollis 34fe18e56c Don't use the logger from a trap context. Fixes #801. 2013-03-03 12:33:30 -08:00
Ben Hollis a10c8aa194 Don't use the logger from a trap context. Fixes #801. 2013-03-03 12:31:42 -08:00
Ben Hollis 4745418200 Merge remote-tracking branch 'origin/3.0-stable'
Conflicts:
	.travis.yml
	Gemfile
	middleman-core/lib/middleman-core/version.rb
	middleman-core/middleman-core-x86-mingw32.gemspec
	middleman-core/middleman-core.gemspec
2013-03-02 22:32:03 -08:00
Ben Hollis 3928b209ef Serve extensionless files or dotfiles with text/plain MIME type, and remove Sitemap::Resource#mime_type. 2013-03-02 22:28:27 -08:00
Thomas Reynolds 6cee2d74f5 adapt to bundler changes, add ruby 2.0 to tests, prep release 2013-02-24 13:44:24 -08:00
Thomas Reynolds 8d5ac575f6 prep pre 2013-02-20 13:15:38 -08:00
Ben Hollis 9057b7a85e Support Haml 4. Tests only run with Haml 4 now. Fixes #783 2013-02-17 19:40:17 -08:00
Ben Hollis c48ac06526 Merge pull request #776 from bhollis/config_meta
Add a metadata page for inspecting configuration.
2013-02-14 08:52:07 -08:00
Ben Hollis ff971dd327 Merge pull request #775 from bhollis/console
Add an experimental "console" CLI command.
2013-02-14 08:51:48 -08:00
Ben Hollis b4aa33fe22 Typo in merge 2013-02-10 18:43:38 -08:00
Ben Hollis 51a494b343 Merge remote-tracking branch 'origin/3.0-stable' 2013-02-10 18:05:24 -08:00
Ben Hollis d553c6a88e Protect against unset current_path 2013-02-10 17:51:47 -08:00
Ben Hollis 978b981e11 Merge remote-tracking branch 'origin/3.0-stable' 2013-02-10 17:05:18 -08:00
Ben Hollis 5a585dd3ab Copy/paste error 2013-02-10 17:04:53 -08:00
Ben Hollis d6110e2ff1 Add a metadata page for inspecting configuration.
This is another metadata page that uses the new configuration system to
show all the available options, their current values, and their defaults.
This is still unstyled, but the info is there. I still need to add on a
method for extensions to register their configuration with the global
config so they show up (stuff like blog) but this is a start.
2013-02-10 16:43:37 -08:00
Ben Hollis 2a5513dcc9 Add an experimental "console" CLI command.
The "console" command drops you into an IRB session in the context of the
Middleman application instance. You can look at configuration, poke around
at the sitemap and data, try out handlers (after calling self.current_path = "foo"), etc.
2013-02-10 16:12:32 -08:00
Ben Hollis 52c4677391 Merge remote-tracking branch 'origin/3.0-stable'
Conflicts:
	middleman-core/lib/middleman-core/core_extensions/data.rb
	middleman-core/lib/middleman-core/core_extensions/front_matter.rb
	middleman-core/lib/middleman-core/util.rb
	middleman-core/middleman-core-x86-mingw32.gemspec
	middleman-more/lib/middleman-more/core_extensions/default_helpers.rb
	middleman-more/lib/middleman-more/core_extensions/i18n.rb
2013-02-10 15:41:36 -08:00
Ben Hollis 42320ade8d Force svgz to be binary 2013-02-10 15:23:39 -08:00
Ben Hollis 3bdbc11db2 Change the behavior of before_render and after_render hooks from #761.
This changes the before_render and after_render hooks so that the callbacks
given to them each get to modify the template source / the rendered output
in turn, instead of having to modify them in-place. It also changes the arguments
provided to the callbacks - now, they are given the source/output, the template path,
the locals hash, and the Tilt template *class*, wheras previously they were given the source/output
and the Tilt template *instance*. The locals hash is there in case pron case hooks want to
pay attention to the locals in some way. The before_render hook is also run before
compiling the template and caching it, which should prevent weird data mismatches
and save some template compilation effort.
2013-02-10 15:18:57 -08:00
Ben Hollis 700b844e67 Add a spec for testing Middleman::Util#binary? 2013-02-09 15:49:10 -08:00
Ben Hollis 923697b517 Micro-optimizations around string comparisons 2013-02-09 15:21:52 -08:00