Commit graph

1157 commits

Author SHA1 Message Date
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