Commit graph

257 commits

Author SHA1 Message Date
Thomas Reynolds
3a4c063535 Reload i18n files when they change, closes #616 2012-09-30 13:17:01 -07:00
Thomas Reynolds
c53c46729a actually make ruby encoding setting work, fix gzip to read/write binary 2012-09-29 14:12:26 -07:00
Thomas Reynolds
061323a09f prep release 2012-09-23 18:43:42 -07:00
Thomas Reynolds
2aec04db69 Merge pull request #558 from bhollis/asset-hash-rack
Asset_hash doesn't play nice with Sprockets
2012-09-23 18:41:11 -07:00
Ben Hollis
6c241603ac Delay recalculating sitemap until absolutely necessary, avoiding redundant recalculations. 2012-09-16 19:36:47 -07:00
Ben Hollis
d181ec5f4f Remove use of full_path and odd options from auto_tag 2012-09-16 01:57:37 -07:00
Brad Dielman + Joe Fiorini
04f29139cb Add README files for each directory 2012-09-11 11:01:55 -04:00
Joe Fiorini
f1038eb566 Make sure we keep the empty directories 2012-09-11 11:01:54 -04:00
Brad Dielman + Joe Fiorini
8f49e41422 Refactor structure into folders 2012-09-11 11:01:54 -04:00
Ben Hollis
09ba0049d4 Fix asset_hashing assets affected by Rack middleware or mounted apps (like sprockets). Fixes #558 2012-09-11 00:08:58 -07:00
Adam Luikart
4076666c19 Add test for asset_hashing rack-filtered items. 2012-09-11 00:08:57 -07:00
Thomas Reynolds
05834ad386 Test relative_assets with i18n 2012-09-02 10:04:43 -07:00
Thomas Reynolds
1998668a87 Disable buggy color-compression in built-in Rainpress CSS minification. Fixes #576 2012-08-28 16:08:34 -07:00
Thomas Reynolds
54c055ea5e Hack a way to pass Middleman context into Slim filters 2012-08-16 13:48:34 -07:00
Thomas Reynolds
8e7041994f Wire-up and document smacss template 2012-08-14 13:52:07 -07:00
Thomas Reynolds
b3fd8629d3 Merge pull request #562 from nsteiner/smacss
adding smacss submodule
2012-08-14 13:43:57 -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
Nate Steiner
7fb6766d4d adding smacss as files instead of a submodule 2012-08-10 14:19:20 -04:00
Nate Steiner
893b7baafd removing smacss submodule 2012-08-10 14:17:10 -04:00
Nate Steiner
e29dfa4ab7 adding smacss submodule 2012-08-10 11:29:19 -04:00
Thomas Reynolds
f1eae1e0c8 Correct path in sass-assets-path test 2012-07-25 12:05:43 -07:00
Thomas Reynolds
1c9810483b Ruby 1.8-friendly markdown image test 2012-07-25 11:39:17 -07:00
Thomas Reynolds
6ccf5e2db0 Don't catch CoffeeScript errors when in build mode. Fixes #551 2012-07-25 11:22:29 -07:00
Ben Hollis
e6c7caaa83 Test for Redcarpet using our link_to and image_tag helpers 2012-07-18 22:57:52 -07:00
Thomas Reynolds
de6d7980ac Use centralized Logger and add instrument methods 2012-07-18 09:30:39 -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
c00f9d5782 Tests for :sass_cache_path custom config
First time working with Cucumber, so perhaps not the best way to do things.

* Tests for default setting which stores the .sass_cache directory in Middleman app root.

* Tests for custom setting which stores the .sass_cache directory in /tmp directory.

Please Note!  Unable to test the output of the default .sass_cache location since the directory is stored outside of the app root during testing, but inside app root in "production"
2012-07-16 14:39:26 +08: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
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
5cff7cd9c1 Update execjs dep, hopefully fixing therubyrhino on JRuby 2012-07-07 16:30:50 -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
63224639d9 Add tests for more implied extensions 2012-07-04 16:45:27 -07:00
Thomas Reynolds
1c9a97990e Update some gem requirements, lock Padrino 2012-07-02 16:35:53 -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
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
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
Thomas Reynolds
aa0d848ba5 Don't test Less on JRuby 2012-06-05 10:28:09 -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
02871f5fcc Avoid JRuby whitespace issue 2012-06-02 15:32:04 -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
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
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
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
c3c662cf44 adapt minify_css test to compass line_comments change 2012-05-26 15:15:53 -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
f8c64f25ec Put test ENV in the right place so cucumber/rake both work 2012-05-25 18:19:11 -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
220bb5edb2 add some sprockets update tests 2012-05-24 10:24:36 -07:00
Thomas Reynolds
4b818ea230 Fix Sass Syntax error module path. Fixes #444 2012-05-23 14:37:57 -07:00
Thomas Reynolds
fd80027af6 idiot-proof maruku smarty pants test 2012-05-22 19:40:31 -07:00
Thomas Reynolds
2c058ee3de Couple of fixes, specifically an issue with frontmatter layout setting 2012-05-22 19:11:54 -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
f0b4e56b80 Require latest execjs to avoid MultiJson warnings 2012-05-10 11:31:35 -07:00
Thomas Reynolds
5d8fd93981 loosen compass deps 2012-05-07 13:32:40 -07:00
Thomas Reynolds
527c987281 Attempt to avoid redcarpet tests on jruby 2012-05-02 16:28:04 -07:00
Thomas Reynolds
a7adc20b47 still support and test redcarpet 2012-05-02 15:27:47 -07:00
Thomas Reynolds
7fb16a4b1b Merge pull request #413 from bhollis/maruku
Switch back to maruku
2012-05-02 15:10:00 -07:00
Ben Hollis
1c67871d44 Fix gemspecs for filenames with unicode paths 2012-05-01 22:57:56 -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
b1d6b94302 Fixture-less slim 2012-04-26 16:21:53 -07:00
Thomas Reynolds
2e68e09200 Fixture-less ignored_already_minified 2012-04-26 16:20:03 -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
Thomas Reynolds
240f67410d Use config.rb file contents in minify test cases instead of fixtures 2012-04-26 14:07:10 -07:00
Thomas Reynolds
6987043a5f Fix minify_css inline test 2012-04-26 13:54:38 -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
Thomas Reynolds
1f93ec9b94 Bump deps 2012-04-22 11:02:23 -07:00
Thomas Reynolds
d95c0e6a3f Ducks in row 2012-04-21 14:48:26 -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
dc784edc66 test directory_index and relative_assets combo 2012-04-16 16:52:21 -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
Thomas Reynolds
baac8a31f4 fix CS test 2012-04-12 11:16:24 -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
Ben Hollis
c27a288f1a Tests for using asset_host with asset_hash 2012-04-01 18:05:20 -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
Thomas Reynolds
f76883b53a bump compass 2012-03-14 10:54:59 -07:00
Ben Hollis
baa7d42d74 Forgot to rename gzip extension in one place 2012-03-13 22:42:18 -07:00
Thomas Reynolds
892d2e7800 loosen sass dep 2012-03-13 09:18:49 -07:00
Thomas Reynolds
af6145f2f7 compass is out 2012-03-13 09:18:49 -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
739a8633ae Rename sitemap_traversal.features to sitemap_traversal.feature so it will actually be run. Also rename ignore_already_minified.features for the same reason. 2012-03-07 22:08:16 -08:00
Ben Hollis
0470fa3083 Remove nonsense comment 2012-03-04 23:37:16 -08:00
Thomas Reynolds
b093bb9f51 fix asset_hash tests from what I assume are random hash key ordering issues across rubies 2012-03-04 23:03:21 -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
a6d099c4a0 massage some deps 2012-03-03 16:23:06 -08:00
Thomas Reynolds
06ad7a5c88 update redcarpet dep 2012-03-03 15:56:50 -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
fc2f761e2f New scenario showing Sass partials don't work in build 2012-02-29 21:58:01 -08:00
Ben Hollis
81c83fafa6 Merge remote-tracking branch 'origin/master' 2012-02-23 21:33:05 -08:00
Vasily Fedoseyev
7458acae4d add test for vendored js 2012-02-17 03:22:48 +04:00
Vasily Fedoseyev
c9b4edcc0a Add project vendored css and js into sprockets paths 2012-02-14 00:17:32 +04:00
Thomas Reynolds
740d4a913f change compass sprites messaging
exit
2012-02-12 11:51:29 -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
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
3e1814e046 make sure compass sprites get built and copied. closes #228 2012-01-06 00:01:24 -08:00