Commit graph

183 commits

Author SHA1 Message Date
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
Tim Bates 2117cbac79 Make directory_indexes check the destination_path
If the destination_path matches the index_file but the original path
does not (as can happen with proxied resources) then directory_indexes
will add the index file a second time, e.g. resource.path = "myres.html"
and resource.destination_path = "myres/index.html" then
directory_indexes will convert this to resource.destination_path =
"myres/index/index.html". This patch fixes that by making
directory_indexes check the destination_path when determining whether to
reroute.
2012-07-12 15:02:48 +09:30
Ben Hollis 4c5b614fe2 Make :automatic_image_sizes work for absolute image paths 2012-07-09 00:22:07 -07:00
Ben Hollis 6dad42bc77 Fix gzip extension 2012-07-07 20:50:43 -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
Ben Hollis 4faa98e874 Simplify and fix relative_assets extension to work more consistently. Also, fix a bug in relative link_to inspired by fixing this bug. This fixes #507. 2012-06-30 22:02:23 -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
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
Ben Hollis 8a01b28369 Improve link_to so that it can handle a Resource in place of a url. Fixes #474. 2012-06-16 17:48:41 -07:00
Daniel Bayerlein 8fefbe350b Remove double whitespace. 2012-06-10 00:13:04 +03:00
Daniel Bayerlein cc1a741eb7 Move "set :fonts_dir" from "middleman-more" to "middleman-core". 2012-06-09 20:30:22 +02:00
Ben Hollis 0d0d572c3a Rename internationalization module to avoid conflict with regular I18n module. Fixes #458. 2012-06-05 22:00:16 -07:00
Ben Hollis f287e0a2bc Don't asset_hash ico and manifest. Now with tests to prevent another regression. 2012-06-01 23:54:57 -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 98fc81beef Implement and test asset_hash ignore option 2012-05-26 15:08:59 -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 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 4b818ea230 Fix Sass Syntax error module path. Fixes #444 2012-05-23 14:37:57 -07:00
Thomas Reynolds f0d781cce3 Implement our own Redcarpet Template to support renderer-level options. Closes #442 2012-05-22 14:50:37 -07:00
Ben Hollis 045f25fa4e Ignore apple-touch-icon files from asset_hash 2012-05-20 21:01:35 -07:00
Ben Hollis 340922659a Don't include ico and manifest in asset_hash by default 2012-05-19 23:47:26 -07:00
Ben Hollis 9b93bf2498 Add an option to asset_hash to allow excluding files that would otherwise get hashes appended to their filenames. 2012-05-19 15:35:27 -07:00
Thomas Reynolds a7adc20b47 still support and test redcarpet 2012-05-02 15:27:47 -07:00
Ben Hollis 49bbc9feaa Switch back to maruku 2012-05-01 22:46:38 -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 7694ef6e07 Merge pull request #399 from bhollis/gzip
Synchronize gzipped file mtimes with their source file's mtime
2012-04-28 09:43:56 -07:00
Ben Hollis 9b9c95bd36 Synchronize gzipped file mtimes with their source file's mtime 2012-04-27 22:25:45 -07:00
Ben Hollis 9d811e0cf7 Prevent Sprockets from generating different hashes based on Sprockets' version number 2012-04-27 18:15:42 -07:00
Ben Hollis 593cdb27aa I'm bad at Ruby 2012-04-27 09:20:38 -07:00
Ben Hollis a65e1619b9 Move extract_response_text into Middleman::Util 2012-04-26 21:55:07 -07:00
Thomas Reynolds a4b68335d4 Coffeescript module 2012-04-26 16:39:53 -07:00
Thomas Reynolds 874ebc13c9 Cleanup renderers 2012-04-26 16:15:35 -07:00
Thomas Reynolds 2297100d9e Minor cache_buster cleanup 2012-04-26 16:02:06 -07:00
Thomas Reynolds 4a49388d64 Minor relative_assets cleanup 2012-04-26 15:59:28 -07:00
Thomas Reynolds 8bf0124241 Minor minify_javascript cleanup 2012-04-26 15:57:37 -07:00
Thomas Reynolds 2292c32773 Minor minify_css cleanup 2012-04-26 15:56:27 -07:00
Thomas Reynolds 072880d79c Cleanup Compass extension 2012-04-26 15:53:45 -07:00
Thomas Reynolds d6f75afb3d Cleanup middleman-more loading, remove autoload 2012-04-26 15:37:44 -07:00
Thomas Reynolds cc3aebf5cc Allow compressor to be passed to minify extensions as an activate option 2012-04-26 14:15:35 -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 82cc836ed9 Only warn on JS minification errors, and allow for custom minification ignores 2012-04-23 22:26:20 -07:00
Steel Fu a85678f040 Add lib/asset to sprocket load path 2012-04-18 13:58:20 -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 d2d40079cc Rename Middleman::Base to Middleman::Application 2012-04-14 14:04:10 -07:00
Thomas Reynolds d935aedd59 Sitemap refactor 2012-04-14 13:17:42 -07:00
Ben Hollis 7c78b20f65 Slightly improve the minify regexes 2012-04-09 19:53:01 -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 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 0a97aa7ec3 Fix undefined variable error in cache_buster, and make its tests more explicit. 2012-04-01 18:25:57 -07:00
Thomas Reynolds 183e9d68f3 Implied extensions. Closes #304 2012-03-29 18:34:25 +01:00
Trevor Wennblom 9d1be8f393 typo? engine undefined 2012-03-27 18:17:59 -05:00
Ben Hollis b2f6d0db09 Get rid of some unused stuff in sitemap and complete documentation 2012-03-26 21:40:30 -07:00
Thomas Reynolds 7d2821a472 travis update 2012-03-14 20:02:49 -07:00
Ben Hollis baa7d42d74 Forgot to rename gzip extension in one place 2012-03-13 22:42:18 -07:00
Ben Hollis 317dfb318a Rename gzip_assets to just gzip since it does HTML too 2012-03-12 21:31:05 -07:00
Ben Hollis 3fde255610 Change gzip_assets output to print size difference in human terms 2012-03-11 11:06:48 -07:00
Thomas Reynolds 89bd4f1eaf correct a relative_assets issue 2012-03-10 19:51:47 -08:00
Ben Hollis 0470fa3083 Remove nonsense comment 2012-03-04 23:37:16 -08:00
Thomas Reynolds b9475bbccc Merge asset_hash extension 2012-03-04 22:53:43 -08:00
Ben Hollis af605a909b Rewrite gzip_assets to work as a post-build step and to leave uncompressed versions around. 2012-03-04 16:42:14 -08:00
Ben Hollis cf9e59db83 Merge remote-tracking branch 'origin/master' into gzip 2012-03-04 15:36:36 -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 332a503460 Always pretend we no nothing about the build folder. Fixes #283 2012-03-03 15:49:49 -08:00
Ben Hollis 81c83fafa6 Merge remote-tracking branch 'origin/master' 2012-02-23 21:33:05 -08:00
Vasily Fedoseyev c9b4edcc0a Add project vendored css and js into sprockets paths 2012-02-14 00:17:32 +04:00
Ben Hollis e4aa3da80a Make the list of file extensions that get gzipped configurable as an option to the gzip_assets extension 2012-02-11 00:22:10 -08:00
Ben Hollis c9b7bf4b59 Extension that will pre-Gzip JS and CSS files. Gzipped assets can be served directly by Apache or Nginx with the proper configuration, and pre-zipping means that we can use a more agressive compression level at no CPU cost per request. 2012-02-10 21:06:44 -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
Thomas Reynolds cdff84b84a continue trying to fix compass issue 2012-02-08 08:49:40 -08:00
Thomas Reynolds 79eeba9d1a switch built-in css compressor 2012-02-08 08:47:34 -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 251a2e0eb3 add failing tests for compass relative assets 2012-01-31 21:30:45 -08:00
Thomas Reynolds be6f6944ca docs complete. closes #187 on a mother fucking cop. 2012-01-14 12:52:19 -08:00
Thomas Reynolds c7249a63b1 middleman-more is fully rdoc'd 2011-12-31 14:28:17 -08:00
Thomas Reynolds 347eb2c6b8 move gem requires 2011-12-30 19:31:10 -08:00
Thomas Reynolds ca10d108e3 fix remaining middleman-more tests 2011-12-29 19:28:49 -08:00
Thomas Reynolds 73913f0ace Start getting middleman-more tests passing. About 50% done 2011-12-29 19:04:39 -08:00
Thomas Reynolds c8a134a386 split into middleman-core and middleman-more 2011-12-29 15:09:51 -08:00