Commit graph

491 commits

Author SHA1 Message Date
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
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
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
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
Trevor Wennblom
96eac33118 rename directories 2012-04-14 15:45:55 -05:00
Trevor Wennblom
b514b7ea6e update padrino to 0.10.6 vanilla 2012-04-14 15:45:55 -05:00
Thomas Reynolds
0bc35db4a6 move util methods into their own namespace 2012-04-14 13:36:24 -07:00
Thomas Reynolds
d935aedd59 Sitemap refactor 2012-04-14 13:17:42 -07:00
Trevor Wennblom
4d80d99d36 minor typos 2012-04-12 18:58:03 -05:00
Thomas Reynolds
cd89e5ffa4 Merge pull request #353 from bhollis/minify
Minify all JS and CSS via middleware
2012-04-09 11:10:36 -07:00
Ben Hollis
192047d242 Minify all JS and CSS via middleware. This means JS or CSS anywhere in the site is minified, not just in the Sprockets-controlled directories. I've also added inline CSS compression, and handling of several common "guards" that get wrapped around JS. Also, leave alone non-JS script tags (which may contain something like jQuery templates). Sprockets no longer has anything to do with minification after this. 2012-04-09 00:05:22 -07:00
Ben Hollis
8730a540b0 Add a filename and line number argument to instance_exec so config.rb gets to participate in stack traces. 2012-04-08 23:45:06 -07:00
Thomas Reynolds
b1ba94cf22 Merge pull request #346 from bhollis/master
Provide a stack trace for build errors
2012-04-08 08:39:40 -07:00
Ben Hollis
4c0c638892 Provide a stack trace for build errors 2012-04-07 20:00:56 -07:00
Ben Hollis
fc79459e61 Fix the asset_hash extension to operate on the hash of the rendered output rather than just the source file. This prevents generating the same hash for a file when partials it uses change, or if a helper it uses produces different output. As part of this change I removed the caching from Sitemap::Page#destination_path and asset_hash since they were preventing recalculation of path/hash when partials changed, and I rewrote the Sprockets extension to expose the Sprockets environment to other extension, which included consolidating the JS and CSS Sprockets environments into one. 2012-04-04 00:00:33 -07:00
Ben Hollis
30c41df909 Merge pull request #335 from bhollis/cache
Introduce a cache tied to individual sitemap pages
2012-04-03 09:28:37 -07:00
Ben Hollis
4a4454fcab Introduce a cache tied to individual sitemap pages. This helps individual extensions avoid having to implement methods to clear the cache whenever a page changes. 2012-04-01 20:37:24 -07:00
Ben Hollis
7e816c04c0 Make the asset_url helper use the sitemap page's destination_path if it's available, which means extensions that rewrite asset paths using reroute get rewritten paths output from all path helpers for free. This was necessary to make asset_hash work with asset_host. 2012-04-01 18:08:59 -07:00
Thomas Reynolds
183e9d68f3 Implied extensions. Closes #304 2012-03-29 18:34:25 +01:00
Thomas Reynolds
e769477e93 Implied extensions. Closes #304 2012-03-29 18:22:43 +01:00
Ben Hollis
3c4578b239 Document Middleman::Extensions.register 2012-03-26 21:40:30 -07:00
Ben Hollis
b2f6d0db09 Get rid of some unused stuff in sitemap and complete documentation 2012-03-26 21:40:30 -07:00
Ben Hollis
92713dfe92 Make frontmatter always return a hash, and freeze it. This reduces the need for nil checks and prevents users from accidentally trying to modify frontmatter data which may be cached elsewhere. 2012-03-25 12:53:45 -07:00
Ben Hollis
086f05989b Fix ignore with a regex (with a test) and consolidate ignores into a single list of callbacks. 2012-03-24 20:45:17 -07:00
Ben Hollis
a07df582c3 Add bundler as a dependency and default to generating a Gemfile. 2012-03-19 16:50:51 -06:00
Thomas Reynolds
276e6562dd Merge pull request #316 from bhollis/templates
Include middleman-core's template path in the list of source_paths
2012-03-19 08:37:16 -07:00
Ben Hollis
0d80678e48 Include middleman-core's template path in the list of source_paths so that inherited templates in other gems can still use the Gemfile and config.ru from the main middleman gem. 2012-03-18 18:58:15 -06:00
Ben Hollis
1b0fe80873 Fix watcher to be more selective about what it ignores 2012-03-18 18:55:02 -06:00
Ben Hollis
bacffeea02 Tell Thor to return the right exit code on failure 2012-03-18 17:30:35 -06:00
Ben Hollis
6f4e863091 Expose errors to users during build rather than burying them in output files. 2012-03-18 13:01:04 -06:00
Ben Hollis
4a5fededf7 Make with_layout work with globs/regexes 2012-03-15 00:31:50 -07:00
Ben Hollis
5db1a9453a Make directory_indexes use provides_metadata_for_path instead of its own list of ignored paths, allowing it to support regexes/globs 2012-03-15 00:29:50 -07:00
Ben Hollis
73350d6d05 Don't let people (or messed up code) accidentally create sitemap pages through the page method 2012-03-15 00:28:51 -07:00
Ben Hollis
111d021630 Fix frontmatter ignore to not create phantom pages and to generally be simpler. 2012-03-15 00:27:59 -07:00
Ben Hollis
f1051d8c59 Load extensions even when only using middleman-core. Also, use Bundler.require when available rather than scanning gems for extensions. 2012-03-13 23:00:02 -07:00
Thomas Reynolds
bba2584c81 Merge pull request #308 from bhollis/master
Test showing variables not getting passed to templates during build
2012-03-12 10:14:00 -07:00
Ben Hollis
de92015085 Fix usage of a 1.9-only method in Sitemap::Page 2012-03-11 23:41:48 -07:00
Ben Hollis
c6c3021593 Fix issue #302 2012-03-11 23:33:46 -07:00
Thomas Reynolds
7d7f9a20ef i18n not ready for primetime yet 2012-03-10 19:40:04 -08:00
Thomas Reynolds
d9a82beb8a merge i18n extension 2012-03-10 18:57:00 -08:00
Thomas Reynolds
8d22fee8d8 Merge pull request #298 from bhollis/i18n-helpers
Fix Padrino helpers that require an i18n locale to be present
2012-03-09 10:19:15 -08:00
Ben Hollis
4830f51664 Fix current_page 2012-03-07 22:08:41 -08:00
Thomas Reynolds
38d1059be2 Merge pull request #300 from bhollis/url
A url helper that strips directory indexes
2012-03-05 08:36:14 -08:00
Ben Hollis
627b6c1462 A url helper that strips directory indexes 2012-03-04 23:26:30 -08:00
Thomas Reynolds
b9475bbccc Merge asset_hash extension 2012-03-04 22:53:43 -08:00
Ben Hollis
481467a5ac Name the server class so it isn't so confusing when debugging 2012-03-04 17:45:37 -08:00
Ben Hollis
dc0249b8b9 Remove --relative CLI option in favor of just turning on relative_assets in config.rb 2012-03-04 17:30:09 -08:00
Ben Hollis
ac9ae8fcee Rename tilt_template to render_to_file 2012-03-04 17:26:44 -08:00
Ben Hollis
617f73c8db Fix Padrino helpers that require an i18n locale to be present 2012-03-04 17:20:57 -08:00
Ben Hollis
073086b79c Extension to add hash values to asset filenames. This extension causes asset file types (images, scripts, stylesheets, etc) to have a unique identifier appended to their filename that consists of a hash of their contents. This extension also includes a Rack middleware that rewrites references to these assets in HTML, JavaScript, and CSS files, eliminating the need to use special helper functions to include modified filenames in references. 2012-03-04 15:24:38 -08:00
Thomas Reynolds
c2f498e26e load template.rb files from local templates 2012-03-03 16:52:49 -08:00
Thomas Reynolds
70dc453c25 Readd Middleman::Features namespace for backwards compatibility. Closes #280 2012-03-03 16:49:51 -08:00
Thomas Reynolds
410b6b37d1 make sure html5 template has correct paths setup. Fixes #291 2012-03-03 16:40:03 -08:00
Thomas Reynolds
b191cb8b7e temporarily disable config.rb reloading 2012-03-03 15:58:17 -08:00
Thomas Reynolds
e285045fc5 Merge branch 'master' of github.com:middleman/middleman 2012-03-03 15:32:25 -08:00
Thomas Reynolds
445b66bed7 test backwards compatible request.params template values. closes #294 2012-03-01 13:43:47 -08:00
Thomas Reynolds
1ee1a06291 switch to guard/listen 2012-02-25 15:53:23 -08:00
Thomas Reynolds
4e4e835bf5 basic pid file 2012-02-18 10:00:54 -08:00
Thomas Reynolds
5842bf8e5b allow extensionless files to be previewed and built. fixes #270, but requires alternative layouts be placed in a layouts/ directory now. 2012-02-12 11:45:42 -08:00
Thomas Reynolds
baaa3fd148 change little piece of frontmatter logic 2012-02-12 10:10:59 -08:00
Thomas Reynolds
8094af43d4 Merge pull request #268 from pusewicz/fix-cli-bundler
Fix middleman init MY_PROJECT --bundler
2012-02-11 09:42:09 -08:00
Piotr Usewicz
cf991bfb89 Fix middleman init --bundler
Closes #265.
2012-02-11 09:39:45 +00:00
Piotr Usewicz
f5edfa75df Fix whitespace 2012-02-11 09:35:49 +00:00
Ben Hollis
39046ce029 Remove unused methods from Sitemap::Store. If these end up being needed again it'd be better to just filter the #pages list. 2012-02-10 23:36:06 -08:00
Ben Hollis
d483d8bc54 Memoize Sitemap::Page#destination_path 2012-02-09 09:39:24 -08:00
Ben Hollis
fdbd301a32 Get rid of Middleman::Sitemap::Store#all_paths and #each in favor of #pages. Dealing with page objects all over the place instead of paths provides a lot of opportunities for cleaner code. 2012-02-08 23:00:29 -08:00
Ben Hollis
382107d403 Get rid of build_reroute. The last thing using it was the sprockets extension, though it didn't appear to need it since removing the build_reroute call leaves tests passing, and the test site I tried still generated JS from CoffeeScript just fine. 2012-02-08 22:13:49 -08:00
Ben Hollis
57061a17c0 Update version so path-based Gemfile dependencies work 2012-02-08 22:11:20 -08:00
Thomas Reynolds
b82ad07b51 adding json to layoutless list 2012-02-08 08:52:41 -08:00
Thomas Reynolds
8286879f36 sprockets-sass was overwriting image-url and breaking relative assets. Fixes #256 2012-02-05 11:43:19 -08:00
Thomas Reynolds
c8c6a1938e Merge pull request #261 from bhollis/page
Callback-based rerouting
2012-02-05 10:33:25 -08:00
Ben Hollis
e136fab77c Use a page_by_destination lookup to make rerouting work both ways, in build and during preview server. 2012-02-04 23:07:02 -08:00
Ben Hollis
e27e0cdd44 Directory indexes work completely now, in preview and with dotfiles. 2012-02-03 00:29:07 -08:00
Ben Hollis
ca1f3ddf83 Directory indexes now work during build, with the exception of .htaccess files. 2012-02-02 21:47:54 -08:00
Ben Hollis
4ce6913baf The beginnings of refactoring page rerouting. Added methods to Sitemap::Store and Sitemap::Page to collect and execute reroute callbacks, and rework builder to use page methods (simplifying it greatly in the process). All tests that don't involve directory indexes pass - next step is to make the directory index extension register its callbacks with Sitemap::Store#reroute. 2012-01-31 23:43:05 -08:00
Ben Hollis
a41bf57f2d Clarify in the documentation what "path" means for Sitemap::Store and Sitemap::Page 2012-01-31 22:57:55 -08:00
Ben Hollis
2eec7e11ba Refactor protected method normalize_path out of Sitemap::Store 2012-01-31 22:38:39 -08:00
Ben Hollis
1fc97d9d7b A minor simplification of Sitemap::Store#path - it can no longer take a block 2012-01-31 22:15:45 -08:00