Commit graph

365 commits

Author SHA1 Message Date
Tim Bates
d30f883e48 Regenerate @_lookup_cache after each manipulation
Trying to call Resource#metadata from within
MyExtension#manipulate_resource_list generates an exception in
Proxies::ResourceInstanceMethods#get_source_file because @_lookup_cache
is empty. Moving the recalculation inside the loop means regenerating
the cache after each manipulation but allows extensions to examine the
page metadata when manipulating proxied resources.
2012-07-11 15:16:18 +09:30
Tim Bates
ffecc3e4cc Optimisation, Hash#delete returns the deleted item 2012-07-11 15:14:08 +09:30
Thomas Reynolds
f062bb7c3d Merge pull request #518 from bhollis/proxy
Don't allow people to proxy a path to itself, or to another proxy.
2012-07-09 12:42:40 -07:00
Thomas Reynolds
174000c1a2 3.0 [ci skip] 2012-07-09 10:00:49 -07:00
Ben Hollis
7be0590acf Use middleman's image_tag and link_to helpers from within Redcarpet markdown 2012-07-09 00:26:33 -07:00
Ben Hollis
f908b378c5 Fiter out annoying "Could not determine content-length of response body." messages from verbose logging 2012-07-09 00:18:03 -07:00
Ben Hollis
324eac428e Ignore emacs temporary files 2012-07-08 19:02:34 -07:00
Ben Hollis
d05f968feb Fix all_files_under - not all non-files are directories 2012-07-08 19:02:34 -07:00
Ben Hollis
12c551228f Don't allow people to proxy a path to itself, or to another proxy. 2012-07-08 15:30:02 -07:00
Thomas Reynolds
9f7f3370aa Catch JRuby/Coffee exception correctly 2012-07-07 17:29:31 -07:00
Thomas Reynolds
4b03c5e2df Add Middleman::Util.all_files_under to get a recursive listing of files beneath a path, follows symlinks. Fixes #515 2012-07-06 19:32:05 -07:00
Thomas Reynolds
d4259315e7 version bump [ci skip] 2012-07-04 16:47:01 -07:00
Thomas Reynolds
54f796120f Merge branch 'master' of github.com:middleman/middleman 2012-07-04 16:45:32 -07:00
Thomas Reynolds
63224639d9 Add tests for more implied extensions 2012-07-04 16:45:27 -07:00
Thomas Reynolds
d23a773491 Merge pull request #370 from bhollis/master
Syntax errors lock up Middleman
2012-07-04 16:24:42 -07:00
Thomas Reynolds
df31f65522 Make automatic helpers smarter. Fixes #510 2012-07-04 11:29:00 -07:00
Ben Hollis
89afc86a5b Friendlier error message when a non-default layout is not in the layouts directory. 2012-07-03 00:01:11 -07:00
Ben Hollis
1229a9991a Prevent NoMethodError/NameError from hanging the server.
The fix is to work around this bug: http://bugs.ruby-lang.org/issues/4521 where Ruby will call to_s/inspect while printing exception messages, which can take a long time (minutes at full CPU) if the object is huge or has cyclic references, like Middleman::Application does. Defining #to_s short-circuits that. This fixes #370.
2012-07-02 23:39:30 -07:00
Daniel Zuberbühler
e9b996516b Fix option in build failure help message 2012-06-28 14:57:35 +02:00
Ben Hollis
2bb47049c1 Clean up listener handling in preview server 2012-06-27 23:28:28 -07:00
Ben Hollis
6ac263619a Make :http_prefix work in link_to and asset helpers as long as the linked item is a sitemap resource. Fixes #484. 2012-06-23 17:19:24 -07:00
Thomas Reynolds
8912d3627d Update Padrino to 0.10.7 and Thor to 0.15.3. Closes #495 2012-06-20 17:53:14 -07:00
Thomas Reynolds
35ff2e0c48 bump version [no-ci] 2012-06-19 20:12:55 -07:00
Thomas Reynolds
c3796a9161 :automatic_directory_matcher optionally converts a character sequence in file names into a subdirectory. Closes #491 2012-06-19 20:07:50 -07:00
Thomas Reynolds
ddc0712c1b Say :update, not :create on automatic conflict resolution 2012-06-19 19:40:57 -07:00
Thomas Reynolds
eee1e45afb bump to rc2 2012-06-17 12:21:24 -07:00
Thomas Reynolds
5da63cb84f Emit identical message on build as before, removing confusion reported in #475 2012-06-17 12:11:07 -07:00
Ben Hollis
57f5701e72 Add a Middleman::Util.path_match function that handles matching on regexes, globs, and procs, and use it from asset_hash, minify_javascript, and minify_css. Fixes #480. 2012-06-16 20:26:42 -07:00
Thomas Reynolds
f81b6c7c40 Merge pull request #478 from rolftimmermans/charset-fix
Change the default character encoding to 'utf-8', with a dash
2012-06-16 15:11:05 -07:00
Thomas Reynolds
f3f508399c Merge pull request #487 from rstacruz/listener_fix
Fix the listener/watcher
2012-06-16 15:10:20 -07:00
Rico Sta. Cruz
b35de4834b Restart the listener when reloading the server 2012-06-16 06:30:20 +08:00
Rico Sta. Cruz
8a898f8239 Persist the preview servers options (like port) when reloading 2012-06-16 06:20:40 +08:00
Rico Sta. Cruz
96c29181aa Implement the :encoding setting which defaults to 'utf-8' 2012-06-16 06:07:50 +08:00
Rolf Timmermans
b6d2579678 Use method should accept a block when adding Rack middleware. 2012-06-14 13:53:49 +02:00
Rolf Timmermans
f11d21d122 Change the default character encoding to 'utf-8' instead of 'utf8' to please more browsers. 2012-06-14 13:28:00 +02:00
Thomas Reynolds
862a56a343 Attempt address #466 and avoid Bundler issues with RVM 2012-06-13 20:33:50 -07:00
Daniel Bayerlein
cc1a741eb7 Move "set :fonts_dir" from "middleman-more" to "middleman-core". 2012-06-09 20:30:22 +02:00
Thomas Reynolds
7852d1eaf9 new extension ver 2012-06-06 09:30:06 -07:00
Thomas Reynolds
949c5db915 The Middleman Cometh 2012-06-05 16:28:01 -07:00
Thomas Reynolds
286c7352b6 Fix Less load paths, simplify builder error output. Fixes #461 2012-06-05 10:24:00 -07:00
Thomas Reynolds
556f82afbc Remove redundant extension version checking, we're using Bundler now 2012-06-03 12:19:43 -07:00
Thomas Reynolds
e26b68635f Haml wrap_layout passes again 2012-06-02 14:19:45 -07:00
Thomas Reynolds
2ab294c602 Fix wrap_layout for all know templating engines. Fixes #417 2012-06-01 20:08:28 -07:00
Ben Hollis
9b5d1f17d0 Test showing wrap_layout is still broken when used with haml 2012-06-01 19:05:55 -07:00
Ben Hollis
d8d4769702 Fix nested layouts for ERB 2012-06-01 19:05:55 -07:00
Thomas Reynolds
deb6bddaf6 Pathname.exist? != File.exists? 2012-06-01 19:05:32 -07:00
Thomas Reynolds
00f232cf20 Merge pull request #450 from middleman/file_watcher_use_pathname
Use pathname consistently in file watcher
2012-06-01 18:57:21 -07:00
Thomas Reynolds
2535ce2c90 fix // search and replace typo 2012-05-28 22:01:36 -07:00
Thomas Reynolds
b02ee61639 Weird block scoping issue in old Ruby 2012-05-28 14:09:43 -07:00
Thomas Reynolds
51e1de54f6 Be more defensive against middleman-sprockets missing 2012-05-28 13:30:54 -07:00
Thomas Reynolds
67e78f20c7 Move renderers into core, but don't require gems and only register templates if gems present 2012-05-28 13:19:40 -07:00
Thomas Reynolds
2e5b0d75a9 Use pathname consistently in file watcher 2012-05-26 17:48:58 -07:00
Thomas Reynolds
0788ebce15 Avoid layouts on sass 2012-05-26 14:27:26 -07:00
Thomas Reynolds
3b847696ff Load from root bundler when running from git 2012-05-26 14:15:36 -07:00
Thomas Reynolds
8d483f882c Move Sprockets into an extension 2012-05-26 13:43:27 -07:00
Thomas Reynolds
b5b6349220 Only allow frontmatter on first line, unless we have a ruby 1.9 encoding comment, then allow it on the second line. Fixes #446 2012-05-25 13:17:22 -07:00
Thomas Reynolds
dcdbf3e110 change json frontmatter delimeter to the ironic ;;; to avoid interfering with mustache {{{ 2012-05-25 12:52:04 -07:00
Thomas Reynolds
d79acc7a78 Make i18n a normal extension with options 2012-05-24 16:51:36 -07:00
Thomas Reynolds
64f84bacd2 asset urls, padrino helpers and i18n belong in more 2012-05-24 16:31:21 -07:00
Thomas Reynolds
1cad726c81 Move off-by-default extensions into middleman-more, make middleman-more itself an extension 2012-05-24 16:14:17 -07:00
Thomas Reynolds
182ad87ad3 Catch Psych::SyntaxError. Related to #446 2012-05-24 14:04:25 -07:00
Thomas Reynolds
94c5f32853 Re-arrange CLI loads for hopefully faster startup time 2012-05-24 11:18:49 -07:00
Thomas Reynolds
fffa80a987 Backwards compatibility with old Rack aPI. Fixes #447 2012-05-24 11:01:46 -07:00
Thomas Reynolds
b202e71348 Preview server must set environment as a symbol. Fixes #445 2012-05-24 10:34:46 -07:00
Thomas Reynolds
955eb03908 Remove double NAME in extension cli task 2012-05-23 10:35:16 -07:00
Thomas Reynolds
2c058ee3de Couple of fixes, specifically an issue with frontmatter layout setting 2012-05-22 19:11:54 -07:00
Ben Hollis
2b2759fb77 Don't accidentally start a new file listener every time the server reloads 2012-05-19 23:17:13 -07:00
Ben Hollis
e766e753e8 Fix file watcher by referencing the right list of paths 2012-05-19 23:05:06 -07:00
Ben Hollis
7598165909 Write directory_indexes based on destination_path so it plays well with other manipulators 2012-05-19 22:05:58 -07:00
Thomas Reynolds
c117415913 Merge pull request #436 from middleman/rack_reloader
Rely on Webrick directly for preview, makes quick app reloading simple.
2012-05-19 22:01:39 -07:00
Thomas Reynolds
671dcde65f Merge pull request #438 from bhollis/link_to
Make link_to magical
2012-05-19 19:43:42 -07:00
Thomas Reynolds
3412af346e Rely on Webrick directly for preview, makes quick app reloading simple. 2012-05-19 19:41:22 -07:00
Ben Hollis
c775a9973c Handle relative path urls in link_to, and add an option to produce relative links as well. Or, set :relative_links in config.rb to turn on relative links for all link_to calls. 2012-05-19 19:24:37 -07:00
Ben Hollis
fc9c5e5fa2 Properly clear frontmatter cache when files change, and calculate frontmatter in the right order so resource_list_manipulators can see it. 2012-05-19 18:47:43 -07:00
Ben Hollis
7ad0f51d1a Always return HashWithIndifferentAccess from frontmatter data 2012-05-19 18:46:58 -07:00
Ben Hollis
64a2933161 Remove duplicate server methods and solve webrick logging in a platform-independent way 2012-05-16 21:19:03 -07:00
Thomas Reynolds
8c87bbc757 Handle .htc files [no-ci] 2012-05-12 08:48:03 -07:00
Ben Hollis
8d101552f3 Log to NUL: in Windows because apparently that's their name for /dev/null. Fixes #421 2012-05-10 22:12:55 -07:00
Thomas Reynolds
1022e63cee Avoid bundler on travis 2012-05-10 16:32:43 -07:00
Thomas Reynolds
ed50d4326a Try to avoid running bundler in tests on Travis 2012-05-10 16:07:11 -07:00
Thomas Reynolds
d4bccd76ab Don't hide bundler output [no-ci] 2012-05-10 15:07:19 -07:00
Thomas Reynolds
190be5f515 Bundler CLI commands 2012-05-10 15:06:06 -07:00
Thomas Reynolds
7c8baee246 Ignore ~ temp files [no-ci] 2012-05-10 14:05:28 -07:00
Thomas Reynolds
162622c453 JSON frontmatter and allowing frontmatter to be located after a encoding value 2012-05-09 13:33:14 -07:00
Thomas Reynolds
7929ed6c75 Refactor Frontmatter to use sitemap manipulators. Also fixes #422 2012-05-08 21:10:41 -07:00
Thomas Reynolds
d55fef62b4 Remove usage of autoload statement in favor of require 2012-05-07 14:41:39 -07:00
Thomas Reynolds
557239e0d6 include inflections. closes #418 2012-05-05 19:59:02 -07:00
Ben Hollis
35d1a67dd1 Generate a .gitgnore file by default. Fixes #375. 2012-05-04 21:11:11 -07:00
Thomas Reynolds
0be82d371e new extension cli 2012-05-02 15:59:36 -07:00
Thomas Reynolds
7b8457d963 Yard doc cleanup 2 2012-05-02 11:18:16 -07:00
Thomas Reynolds
2965e3709d Yard doc cleanup 2012-05-02 11:13:48 -07:00
Thomas Reynolds
342044a01d Split out Request handling into an Extension. Dup the Application (like Sinatra) when responding 2012-05-01 13:11:42 -07:00
Ben Hollis
8d6739b15b I shouldn't code late at night 2012-05-01 00:47:36 -07:00
Ben Hollis
8f861fef06 Un-optional a parameter in hopes of fixing rbx build 2012-05-01 00:37:00 -07:00
Ben Hollis
380dac270d Switch content_type param order for 1.8 2012-05-01 00:22:16 -07:00
Ben Hollis
778626c6ec Make Middleman somewhat more threadsafe and switch back to webrick. 2012-04-30 22:38:57 -07:00
Thomas Reynolds
00a7a1969e Merge pull request #408 from bhollis/unicode
Support Unicode characters in filenames
2012-04-30 08:31:06 -07:00
Thomas Reynolds
3d129b8523 Merge pull request #409 from bhollis/metadata
Add Resource#add_metadata for attaching metadata directly to a resource
2012-04-29 23:08:28 -07:00
Ben Hollis
bc435cc2e2 Add Resource#add_metadata for attaching metadata directly to a resource 2012-04-29 22:32:52 -07:00
Thomas Reynolds
ade26a8d20 Merge pull request #407 from bhollis/windows
Don't install signal handlers on Windows
2012-04-29 22:28:13 -07:00
Ben Hollis
dddd409336 Support Unicode characters in filenames, both in source filenames and in the names of proxied paths. Fixes #332. 2012-04-29 21:42:45 -07:00
Ben Hollis
a2ad7f26cd Don't install signal handlers on Windows 2012-04-29 19:24:50 -07:00
Ben Hollis
dee0e616ad Index frontmatter off source_file, allowing us to get rid of Resource#relative_path 2012-04-29 18:51:00 -07:00
Ben Hollis
23e0586896 Be very careful about filewatcher ignore regexes 2012-04-29 09:38:31 -07:00
Thomas Reynolds
81e3d894c2 Bump version [no-ci] 2012-04-28 10:48:08 -07:00
Ben Hollis
05a769d762 link_to with an absolute path that corresponds to a page path will get rewritten to the page's output URL 2012-04-27 22:05:52 -07:00
Ben Hollis
a6e577b83a Remove spurious "end" 2012-04-27 09:10:11 -07:00
Ben Hollis
a65e1619b9 Move extract_response_text into Middleman::Util 2012-04-26 21:55:07 -07:00
Thomas Reynolds
bbff9d822c Don't require activesupport until necessary 2012-04-26 15:05:25 -07:00
Thomas Reynolds
f529f0b85d Merge pull request #369 from bhollis/watcher
Simplify watcher using newer listen features
2012-04-26 13:37:52 -07:00
Thomas Reynolds
1e271448fa Merge pull request #392 from bhollis/minify
Disable inline minification by default, allow it to be turned on with an option
2012-04-26 10:52:48 -07:00
Ben Hollis
ce9b99ce44 Disable inline minification by default, allow it to be turned on with an option 2012-04-25 23:41:09 -07:00
Ben Hollis
dcc6c5b5e1 Simplify watcher to not fork by using 'listen' in non-blocking mode 2012-04-25 23:21:44 -07:00
Ben Hollis
49f95b9942 Un-vendor padrino helpers 2012-04-25 23:16:25 -07:00
Ben Hollis
37fc5b2b8c Use listen gem's built in relative_path support 2012-04-25 22:51:21 -07:00
Ben Hollis
ddedc99473 Fix I18n tests by clearing out locale paths from other test runs 2012-04-25 22:37:41 -07:00
Arron Mabrey
ac89ec0ee7 Adding a fun lorem.tweet method. Thanks to http://www.kevadamson.com/talking-of-design/article/140-alternative-characters-to-lorem-ipsum 2012-04-25 13:31:20 -03:00
Thomas Reynolds
1d583caf40 Merge pull request #381 from bhollis/speedup
Two speedups
2012-04-24 09:57:19 -07:00
Thomas Reynolds
163270c5d0 Merge pull request #378 from bhollis/frontmatter
Properly handle pages with no frontmatter
2012-04-24 09:52:43 -07:00
Ben Hollis
ecf56d8e55 Cache Resource#metadata 2012-04-24 00:22:19 -07:00
Ben Hollis
35037957a6 Get rid of some extraneous sitemap refreshes 2012-04-24 00:22:10 -07:00
Ben Hollis
776ce4d5ae Properly handle pages with no frontmatter 2012-04-23 22:28:51 -07:00
Ben Hollis
9aadbbdca9 Append to I18n.load_path instead of replacing it 2012-04-23 22:27:45 -07:00
Thomas Reynolds
83178031d2 Merge pull request #371 from bhollis/speedup
Speed up builds
2012-04-23 10:29:06 -07:00
Thomas Reynolds
5405af5e0f Merge pull request #372 from bhollis/timing
Add timing info to render logging, and document why we use thin instead of webrick
2012-04-23 10:27:04 -07:00
Ben Hollis
c560a0d20e Add timing info to render logging, and document why we use thin instead of webrick 2012-04-23 01:24:16 -07:00
Ben Hollis
ab77cb2f34 Add an "origin" parameter to provides_metadata to allow for replacing metadata callbacks rather than always appending 2012-04-23 01:17:24 -07:00
Ben Hollis
a4fcb4d939 Fix the file watcher to correctly use relative paths, to ignore files we don't care about, and have a find_new_files method that works like reload_path, but only touches previously-unknown files. This all ends up speeding up the build by a lot. 2012-04-23 01:17:13 -07:00
Ben Hollis
0a677f5de1 Reorder extensions so frontmatter is available before sitemap 2012-04-20 23:38:59 -07:00
Ben Hollis
9be76da3cf Simplify populating the sitemap lookup cache 2012-04-20 21:59:20 -07:00
Thomas Reynolds
9024de85d8 Allow partial to find files without an underscore prefix. Closes #366 2012-04-20 10:34:22 -07:00
Thomas Reynolds
b97f681ef1 Move file extension methods up a level 2012-04-19 15:47:47 -07:00
Ben Hollis
a0712224c6 Ignore unnecessary ignores and use destination_path in url 2012-04-17 23:55:28 -07:00
Thomas Reynolds
cf66ddf206 Make file watcher paths relative 2012-04-17 12:23:33 -07:00
Thomas Reynolds
5866540dd8 Sort default i18n filenames 2012-04-17 10:59:58 -07:00
Ben Hollis
8178eb5602 Use set in filewatcher 2012-04-17 01:05:33 -07:00
Ben Hollis
50b797e0be Get asset_hash working after the sitemap refactor. Part of this required changing the behavior of the OnDisk Sitemap extension to rebuild the sitemap every time a file is touched, instead of just when files are added (even if the file being touched is ignored by the sitemap, like a partial!). This is because asset_hash needs to recalculate hashes whenever any file changes, since partials can affect the output of other files. 2012-04-17 01:05:28 -07:00
Thomas Reynolds
bd9814965e Move 3rd party CLI out of fixtures 2012-04-16 15:38:26 -07:00
Thomas Reynolds
a91bcc8a4c Merge pull request #360 from brettgoulder/master
Bumping HTML5 Boilerplate to 3.0
2012-04-16 15:16:29 -07:00
Thomas Reynolds
9730425caa Missing comma in Thor::Error 2012-04-16 15:08:44 -07:00
Brett Goulder
1f498eadb2 Bumping HTML5 Boilerplate to 3.0 2012-04-16 15:52:55 -06:00
Thomas Reynolds
259ef52190 reload i18n yml on config 2012-04-16 14:32:00 -07:00
Thomas Reynolds
3f2733720b Don't try to init i18n if we aren't using it (duh) 2012-04-16 14:01:18 -07:00
Thomas Reynolds
d08624dfe3 Port i18n to new sitemap api 2012-04-16 13:42:22 -07:00
Thomas Reynolds
2afbb40925 Merge pull request #357 from trevor/padrino0.10.6
update vendor'd padrino 0.10.5 -> 0.10.6
2012-04-14 14:16:05 -07:00
Thomas Reynolds
8a1342df9c Move Cache into Util 2012-04-14 14:06:49 -07:00
Thomas Reynolds
d2d40079cc Rename Middleman::Base to Middleman::Application 2012-04-14 14:04:10 -07:00
Thomas Reynolds
2130e902c2 Begin splitting our requires into correct places instead of autoload
Disable autoload on watcher

finish moving requires out
2012-04-14 13:59:45 -07:00
Trevor Wennblom
12ce74b1d3 update padrino internal padrino references 2012-04-14 15:46:22 -05:00
Trevor Wennblom
4652736cea update padrino i18n hack 2012-04-14 15:45:55 -05:00