Commit graph

436 commits

Author SHA1 Message Date
Thomas Reynolds 54c055ea5e Hack a way to pass Middleman context into Slim filters 2012-08-16 13:48:34 -07:00
Thomas Reynolds 446aa6a4ba Clean up whitespace, play with cane for testing style quality and code complexity 2012-08-13 15:41:07 -07:00
Thomas Reynolds 955c66a54f Setup Less paths for imports 2012-08-10 12:29:15 -07:00
Thomas Reynolds 80e36b7c53 Given file-based metadata precedence over config/path metadata. Fixes #552 2012-07-29 10:22:57 -07:00
cwebbdesign d0a36f0879 Adding tests for using front matter to override layout set in config 2012-07-27 10:57:48 +02:00
cwebbdesign a0c11df4cc Adding tests for overriding layouts using frontmatter 2012-07-27 10:55:30 +02:00
Thomas Reynolds 4410d858f2 Merge pull request #550 from rumpuslabs/instance_vars_fix
Fix instance variables in dynamic pages
2012-07-26 13:46:56 -07:00
Thomas Reynolds f1eae1e0c8 Correct path in sass-assets-path test 2012-07-25 12:05:43 -07:00
Thomas Reynolds 6ccf5e2db0 Don't catch CoffeeScript errors when in build mode. Fixes #551 2012-07-25 11:22:29 -07:00
Tim Bates 99a8723ea6 Fix instance variables in dynamic pages 2012-07-24 23:02:27 +09:30
Ben Hollis 2f7371ca1f Oops, make NullProfiler actually work 2012-07-19 22:47:03 -07:00
Ben Hollis 00b590eedb Support profiling server startup and build via a --profile flag 2012-07-19 21:05:33 -07:00
Thomas Reynolds 3f21f7bc62 Merge pull request #541 from middleman/load_paths
Extract load_paths so they aren't locked into the binary
2012-07-19 18:22:04 -07:00
Thomas Reynolds 1f6d1a7ee1 Extract load_paths so they aren't locked into the binary 2012-07-19 10:55:14 -07:00
Ben Hollis 62fa17cf1a Reduce work converting paths from relative to absolute and back again 2012-07-19 01:18:55 -07:00
Ben Hollis 1f22184fc7 Don't request __middleman__ 2012-07-19 01:18:55 -07:00
Thomas Reynolds de6d7980ac Use centralized Logger and add instrument methods 2012-07-18 09:30:39 -07:00
kematzy 95339dad23 Added :js_assets_paths for external JS repositories
Please Note!

This fix depends upon support in the 'middleman-sprockets' gem, where the following code must be present:

    # lib/middleman-sprockets/extension.rb
    <snip…>
    append_path app.css_dir

    # add custom assets paths to the scope
    app.js_assets_paths.each do |p|
      append_path p
    end

The purpose of this addition is to support including JS files from external (global) repositories.

Example usage:

    # in config.rb

    set :js_assets_path, [ "#{root}/assets/js/", "~/.js-repo/"]

Using symlinks or copying files to the Middleman project can get messy quickly. This fix reduces some of those issues.
2012-07-17 09:21:46 -07:00
kematzy 3ea2241155 Added :sass_assets_path for external SASS repositories
Compass is great, but sometimes we need to have common framework code in one (global) location with local overrides in the app.

This addition adds built-in support for loading SASS/SCSS files from multiple locations external to the "source" directory and even the Middleman app root.

Example usage:

    # in config.rb

    set :sass_assets_path, [ "#{root}/assets/sass/", "~/.sass-repo/"]

Using symlinks or copying files to the Middleman project can get messy quickly.  This fix reduces some of those issues.
2012-07-17 09:21:46 -07:00
Thomas Reynolds 6f0f9b00a2 Merge pull request #536 from kematzy/fix-sass-cache-location
Fix sass cache location
2012-07-16 22:14:05 -07:00
kematzy 5368875d05 Moved :sass_cache_path from global to Sass renderer 2012-07-17 09:35:40 +08:00
theotheo 0b1b8ca7d1 Update susy gem installation command. 2012-07-17 00:52:06 +04:00
kematzy 1de1d3d25e Added :sass_cache_path custom config of SASS cache directory
The default output of SASS .sass_cache directory is in the Middleman app root directory, which to my mind adds clutter to the directory.

Secondly, when storing Middleman apps in a Dropbox subfolder, the .sass_cache directory gets synced unnecessarily.

This fix enables moving the .sass_cache directory to any path on the system, such as the "/tmp" directory for automatic discarding of files when restarting the system.

Suggested usage:

    #in config.rb
    set :sass_cache_path, File.join('/tmp', "middleman-#{File.basename(Dir.pwd)}", "sass_cache")

which could return something like:

    `/tmp/middleman-example.com/sass_cache`

This keeps multiple projects separated and easily identifiable.
2012-07-16 14:34:36 +08:00
Thomas Reynolds 9dad67bf9b Update master 2012-07-15 12:14:29 -07:00
Thomas Reynolds a8f45b1e17 Merge pull request #532 from rumpuslabs/markdown-not-nil
Markdown engine should not be nil
2012-07-15 12:13:46 -07:00
Thomas Reynolds d88f2fade0 Merge pull request #521 from bhollis/markdown
Use middleman's image_tag and link_to helpers from within Redcarpet markdown
2012-07-15 12:09:39 -07:00
Tim Bates aa35b8f0f0 Markdown engine should not be nil 2012-07-15 23:02:04 +09:30
moe cf897e1e9e Use plain Dir.chdir instead of enclosing middleman in a Dir.chdir-block.
This allows extensions, templates and monkey-patches to chdir
when needed, without triggering this ruby warning:

  warning: conflicting chdir during another chdir block
2012-07-14 14:46:46 +02:00
Tim Bates 0fa1bfe675 Tests and a small bug fix to make them pass 2012-07-13 16:00:53 +09:30
Tim Bates 3cbda0ee36 Added strip_index_file option for configuring urls 2012-07-13 10:57:05 +09:30
Tim Bates 692aa10c8b Add trailing_slash option for prettier urls
"set :trailing_slash, false" will cause resource urls that match the
index_file to have the trailing slash stripped off the directory URL,
e.g. instead of "/dir/index.html" becoming "/dir/" it will be "/dir"
2012-07-12 12:03:33 +09:30
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
Thomas Reynolds 1c9a97990e Update some gem requirements, lock Padrino 2012-07-02 16:35:53 -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 f907f4acb4 Merge branch 'master' of github.com:middleman/middleman 2012-06-20 17:53:27 -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 fbc4591922 bump listen dep 2012-06-20 09:51:19 -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 bd9d9d0f93 travishatesme 2012-06-18 16:53:22 -07:00
Thomas Reynolds 518ae3f46d Move encoding tests into a dynamic form so they aren't packaged with gemspecs on unsupported platforms. 2012-06-18 15:18:16 -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
Thomas Reynolds 5071a2c15d Tests for #477 2012-06-17 12:03:36 -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 ab717af590 bump deps 2012-06-13 23:19:28 -07: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 939a3287d5 bump listen dep 2012-06-08 17:19:31 -07:00
Thomas Reynolds 7852d1eaf9 new extension ver 2012-06-06 09:30:06 -07:00
Thomas Reynolds 092a82157d bump bundler dep, try to track down JRuby 1.9 encoding weirdness 2012-06-05 16:48:58 -07:00
Thomas Reynolds 949c5db915 The Middleman Cometh 2012-06-05 16:28:01 -07:00
Thomas Reynolds e6256d0178 --help should work in CLI 2012-06-05 11:48:34 -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
Ben Hollis efa846341d Update nested_layout tests to show that Haml still doesn't work right. Also updated Slim and ERb tests to verify ordering of output. 2012-06-02 00:35:03 -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 f9b7188986 Bump activesupport 2012-05-31 19:11:12 -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 f8c64f25ec Put test ENV in the right place so cucumber/rake both work 2012-05-25 18:19:11 -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 cb65916e6d newer listen gem 2012-05-03 19:31:25 -07:00
Thomas Reynolds 0be82d371e new extension cli 2012-05-02 15:59:36 -07:00
Thomas Reynolds 7b8457d963 Yard doc cleanup 2 2012-05-02 11:18:16 -07:00
Thomas Reynolds 2965e3709d Yard doc cleanup 2012-05-02 11:13:48 -07:00
Thomas Reynolds 1855745d8e Merge pull request #411 from middleman/request_module
Split out Request handling into an Extension. Dup the Application when responding
2012-05-02 11:13:37 -07:00
Ben Hollis 1c67871d44 Fix gemspecs for filenames with unicode paths 2012-05-01 22:57:56 -07:00
Thomas Reynolds 342044a01d Split out Request handling into an Extension. Dup the Application (like Sinatra) when responding 2012-05-01 13:11:42 -07:00
Ben Hollis 8d6739b15b I shouldn't code late at night 2012-05-01 00:47:36 -07:00
Ben Hollis 8f861fef06 Un-optional a parameter in hopes of fixing rbx build 2012-05-01 00:37:00 -07:00
Ben Hollis 380dac270d Switch content_type param order for 1.8 2012-05-01 00:22:16 -07:00
Ben Hollis 778626c6ec Make Middleman somewhat more threadsafe and switch back to webrick. 2012-04-30 22:38:57 -07:00
Ben Hollis 713350e294 Disable unicode build test for now 2012-04-30 21:29:33 -07:00
Thomas Reynolds 00a7a1969e Merge pull request #408 from bhollis/unicode
Support Unicode characters in filenames
2012-04-30 08:31:06 -07:00
Thomas Reynolds 3d129b8523 Merge pull request #409 from bhollis/metadata
Add Resource#add_metadata for attaching metadata directly to a resource
2012-04-29 23:08:28 -07:00
Ben Hollis bc435cc2e2 Add Resource#add_metadata for attaching metadata directly to a resource 2012-04-29 22:32:52 -07:00
Thomas Reynolds ade26a8d20 Merge pull request #407 from bhollis/windows
Don't install signal handlers on Windows
2012-04-29 22:28:13 -07:00
Ben Hollis dddd409336 Support Unicode characters in filenames, both in source filenames and in the names of proxied paths. Fixes #332. 2012-04-29 21:42:45 -07:00
Ben Hollis a2ad7f26cd Don't install signal handlers on Windows 2012-04-29 19:24:50 -07:00