Commit graph

729 commits

Author SHA1 Message Date
Thomas Reynolds
bf4862860d remove unbundled extensions from default config 2013-04-20 21:21:27 -07:00
Thomas Reynolds
2500e4d35d convert i18n to new ext 2013-04-20 14:58:06 -07:00
Thomas Reynolds
65c8dda565 automatically wire up sitemap manipulators, let extensions control their name, add self-registration method 2013-04-20 13:54:32 -07:00
Thomas Reynolds
10e1fd92d6 add extension helpers block, convert cache buster 2013-04-20 13:32:39 -07:00
Thomas Reynolds
b12a7bff3d Switch AssetHost to be a new-style extension. Setup extensions app scope earlier. Add supports_multiple_instances flag for extensions. 2013-04-20 12:59:14 -07:00
Thomas Reynolds
c2e2839b79 allow new sprockets 2013-04-14 16:21:36 -07:00
Thomas Reynolds
9af92fa7a3 Fix slim's complaints about extra render options (:layout) 2013-04-14 09:37:23 -07:00
Thomas Reynolds
ca333bb306 avoid warning with empty frontmatter 2013-04-14 09:29:34 -07:00
Thomas Reynolds
31651e4296 fix slim 2.0 deprecation warnings 2013-04-14 09:24:48 -07:00
Ben Hollis
a2822ce7f5 Fix --clean option to not be an error if it is passed (for backwards compatibility) 2013-04-13 18:58:54 -07:00
Ben Hollis
310eae255e Nice styling for sitemap pages 2013-04-13 18:13:51 -07:00
Ben Hollis
b4f131d615 Styling for config meta page 2013-04-13 18:13:51 -07:00
Ben Hollis
a2f0cc263a Merge pull request #861 from bhollis/extensions
A bunch of extensions and config meta pages work
2013-04-13 16:38:17 -07:00
Thomas Reynolds
2679b7c506 Default build to cleaning 2013-04-13 13:52:22 -07:00
Ben Hollis
6fcbac0368 Advertise meta pages on startup 2013-04-12 23:32:18 -07:00
Ben Hollis
774361bf89 Add extensions to meta config page 2013-04-12 23:32:18 -07:00
Ben Hollis
2d4668f524 Add in the metadata rack app early so it is there whenever middleware grabs the app 2013-04-12 23:32:18 -07:00
Ben Hollis
ee11ccb184 Reorganize Request a bit 2013-04-12 23:32:18 -07:00
Ben Hollis
8001dab258 Save information about extensions in a discoverable way.
This allows us to display extension config information at /__middleman/config/, and also allows users to modify extension
settings after they're activated in config.rb with a statement like "extensions[:asset_hash].options.exts += ['.js']".
2013-04-12 23:32:18 -07:00
Ben Hollis
b9b17e3ac5 In general, no need for bundle exec since we call bundle/setup 2013-04-12 23:32:17 -07:00
Ben Hollis
f7cd0e231e Update the extension template for the new Extension class. 2013-04-12 23:32:17 -07:00
Ben Hollis
b607d70a52 Simplify configuration a bit, and make extensions raise an error if the user tries to set an invalid extension option. 2013-04-12 23:32:17 -07:00
Thomas Reynolds
3f94df1eef prep 3.1 beta 2013-04-12 16:19:47 -07:00
Thomas Reynolds
0574cc3d28 Support sideloading from .frontmatter files. Closes #855 2013-04-12 16:14:16 -07:00
Thomas Reynolds
a0445e405a Allow frontmatter renderer_options key to overwrite renderer options on a per-file basis. closes #859 2013-04-11 10:13:36 -07:00
Thomas Reynolds
9fc06035b1 unrequire osx file watcher 2013-04-11 09:53:38 -07:00
Ben Hollis
f0449229a9 Unregister .csv from Tilt as well. Fixes #822. 2013-04-09 23:15:05 -07:00
Ben Hollis
283576af1a Refactor some trivial extensions back into application. 2013-04-09 23:06:10 -07:00
Ben Hollis
fdd52cd640 Remove global access to the rack env and response 2013-04-09 23:06:10 -07:00
Ben Hollis
16ca3d5c17 Make some common shared state, and logging, threadsafe 2013-04-09 23:06:10 -07:00
Artem Baguinski
91e7033d54 a first stab at partials_dir setting
re #252
2013-04-09 08:46:18 +02:00
Ben Hollis
1617875934 Activate Sprockets before user config 2013-04-07 23:33:40 -07:00
Ben Hollis
3e75a10056 Switch default markdown engine to Kramdown 2013-04-06 18:26:41 -07:00
Ben Hollis
7a4aa109a6 Overhaul content-type handling, making it configurable via page/proxy commands as well as frontmatter with the 'content_type' parameter.
Now, users can set content type explicitly for their files in a number of ways, or rely on automatic file-extension content types. Proxied files default to automatic file-extension content types, but then fall back to the content type of the resource they proxy to. There is also a bug fixed around correctly setting content type inside send_file. Fixes #821.
2013-04-06 15:11:25 -07:00
Ben Hollis
397ccd2c1e Fix a bunch of Ruby warnings, including a bug in the not_found method 2013-04-06 14:56:08 -07:00
Ben Hollis
1d869b0c08 Simplify frontmatter by removing its resource_list_manipulator 2013-04-06 14:56:08 -07:00
Ben Hollis
c2ffa538ad Undo my previous change, apparently it is no good 2013-04-04 23:28:28 -07:00
Ben Hollis
f7d1471edb Handle empty frontmatter without logging an exception 2013-04-04 22:59:05 -07:00
Ben Hollis
f89c815868 More agressively set the context for our custom Markdown renderer, and fall back if we still don't manage to get it right. Fixes #662. 2013-04-04 22:48:09 -07:00
Ben Hollis
4d5c509688 Fix several issues around i18n and resource metadata.
There are a few things changing here. One is that we always dup metadata before using it - this prevents a class of nasty bugs where after the first resource list build, blocks had been deleted from metadata hashes, meaning they would no longer be applied. Now they will always stick around. Then, I made sure that whenever we render a file, we save the previous I18n.locale and restore it afterwards, in case people change locale from blocks. This should help in some weird cases where files are rendered recursively. Finally, I've added a :lang option that can be used from "page" or "proxy" to allow people to specify the language for one or more files without having to pass a block that sets I18n.locale directly, which should make that pattern much cleaner. This fixes #809 and may also fix middleman/middleman-blog#106.
2013-04-03 00:07:31 -07:00
Ben Hollis
cc418c7a2d Ruby 2.0 switches to using #inspect instead of #to_s when printing out objects, which brings back the infinite-hang-on-NoMethodError bug from http://bugs.ruby-lang.org/issues/4521. Aliasing #inspect to #to_s for Middleman::Application fixes it again. This fixes #833. 2013-04-02 22:20:37 -07:00
Ryunosuke SATO
3de491981a Fix method comments
`rake doc` shows some warnings.
I fixed method comments to suppress it.
2013-03-29 03:15:33 +09:00
Capi Etheriel
c1c752aa32 Suggest adding middleman-livereload to bundle 2013-03-26 15:07:22 -03:00
Capi Etheriel
00ac776fc4 Document livereload usage in config file 2013-03-26 11:21:17 -03:00
Thomas Reynolds
8aa652713a Merge pull request #836 from tricknotes/directory-as-a-data-key
Support directory name as a data key
2013-03-25 09:53:58 -07:00
Thomas Reynolds
420b4c6087 simplest thing that could work implementation of Middleman::Extension 2013-03-23 15:35:38 -07:00
Ryunosuke SATO
1e64e8022e Support directory name as a data key 2013-03-23 17:17:34 +09:00
Thomas Reynolds
cd539f4e91 Merge pull request #835 from artm/need_reload_fix
fix 'needs_to_reload?' regexps
2013-03-22 11:13:07 -07:00
Artem Baguinski
e07bd036d1 just call needs_to_reload? once 2013-03-22 18:28:38 +01:00
Artem Baguinski
e169f88a5a fix 'needs_to_reload?' regexps
- remove stray ^ that would cause regexp to never match
- remove '_helper' suffix as it isn't required for helpers
2013-03-22 18:22:16 +01:00
Ryunosuke SATO
f7f281de39 Fix code comment 2013-03-22 18:14:10 +09:00
Thomas Reynolds
f2f3ad21b6 bump tilt requirement, unregister plaintext template. fixes #824 2013-03-18 14:12:49 -07:00
Michael Baudino
d8d34b6c74 Changed 'default' and 'html5' templates to use 'current_page.data.title' instead of 'data.page.title'
Related to middleman/middleman-blog#107
2013-03-17 18:18:59 +01:00
Ben Hollis
659f063076 Include file extension in template cache. May fix #798 2013-03-14 23:21:58 -07:00
Ben Hollis
6672c1c324 Merge branch '3.0-stable' 2013-03-10 16:32:55 -07:00
Ben Hollis
46f060ab12 Don't require securerandom - not sure what it was there for, but its not available in JRuby 2013-03-10 16:32:24 -07:00
Ben Hollis
3ce35149ec Merge pull request #806 from kevin8t8/3.0-stable
Fix dynamic multi-byte utf-8 files rebuilding.
2013-03-03 19:07:55 -08:00
Kevin McCarthy
7608275089 Fix dynamic multi-byte utf-8 files rebuilding.
Thor compares the new contents with the existing file by using
File.binread(destination) == new_content.
File.binread returns a string with ASCII_8BIT encoding, which will not
match the new_content if new_content contains multi-byte utf-8.

This patch simply encodes the new_content to ASCII_8BIT before passing
it to Thor.
2013-03-03 18:13:41 -08:00
Ben Hollis
34fe18e56c Don't use the logger from a trap context. Fixes #801. 2013-03-03 12:33:30 -08:00
Ben Hollis
a10c8aa194 Don't use the logger from a trap context. Fixes #801. 2013-03-03 12:31:42 -08:00
Ben Hollis
4745418200 Merge remote-tracking branch 'origin/3.0-stable'
Conflicts:
	.travis.yml
	Gemfile
	middleman-core/lib/middleman-core/version.rb
	middleman-core/middleman-core-x86-mingw32.gemspec
	middleman-core/middleman-core.gemspec
2013-03-02 22:32:03 -08:00
Ben Hollis
3928b209ef Serve extensionless files or dotfiles with text/plain MIME type, and remove Sitemap::Resource#mime_type. 2013-03-02 22:28:27 -08:00
Thomas Reynolds
6cee2d74f5 adapt to bundler changes, add ruby 2.0 to tests, prep release 2013-02-24 13:44:24 -08:00
Thomas Reynolds
8d5ac575f6 prep pre 2013-02-20 13:15:38 -08:00
Ben Hollis
9057b7a85e Support Haml 4. Tests only run with Haml 4 now. Fixes #783 2013-02-17 19:40:17 -08:00
Ben Hollis
c48ac06526 Merge pull request #776 from bhollis/config_meta
Add a metadata page for inspecting configuration.
2013-02-14 08:52:07 -08:00
Ben Hollis
ff971dd327 Merge pull request #775 from bhollis/console
Add an experimental "console" CLI command.
2013-02-14 08:51:48 -08:00
Ben Hollis
b4aa33fe22 Typo in merge 2013-02-10 18:43:38 -08:00
Ben Hollis
51a494b343 Merge remote-tracking branch 'origin/3.0-stable' 2013-02-10 18:05:24 -08:00
Ben Hollis
d553c6a88e Protect against unset current_path 2013-02-10 17:51:47 -08:00
Ben Hollis
978b981e11 Merge remote-tracking branch 'origin/3.0-stable' 2013-02-10 17:05:18 -08:00
Ben Hollis
5a585dd3ab Copy/paste error 2013-02-10 17:04:53 -08:00
Ben Hollis
d6110e2ff1 Add a metadata page for inspecting configuration.
This is another metadata page that uses the new configuration system to
show all the available options, their current values, and their defaults.
This is still unstyled, but the info is there. I still need to add on a
method for extensions to register their configuration with the global
config so they show up (stuff like blog) but this is a start.
2013-02-10 16:43:37 -08:00
Ben Hollis
2a5513dcc9 Add an experimental "console" CLI command.
The "console" command drops you into an IRB session in the context of the
Middleman application instance. You can look at configuration, poke around
at the sitemap and data, try out handlers (after calling self.current_path = "foo"), etc.
2013-02-10 16:12:32 -08:00
Ben Hollis
52c4677391 Merge remote-tracking branch 'origin/3.0-stable'
Conflicts:
	middleman-core/lib/middleman-core/core_extensions/data.rb
	middleman-core/lib/middleman-core/core_extensions/front_matter.rb
	middleman-core/lib/middleman-core/util.rb
	middleman-core/middleman-core-x86-mingw32.gemspec
	middleman-more/lib/middleman-more/core_extensions/default_helpers.rb
	middleman-more/lib/middleman-more/core_extensions/i18n.rb
2013-02-10 15:41:36 -08:00
Ben Hollis
42320ade8d Force svgz to be binary 2013-02-10 15:23:39 -08:00
Ben Hollis
3bdbc11db2 Change the behavior of before_render and after_render hooks from #761.
This changes the before_render and after_render hooks so that the callbacks
given to them each get to modify the template source / the rendered output
in turn, instead of having to modify them in-place. It also changes the arguments
provided to the callbacks - now, they are given the source/output, the template path,
the locals hash, and the Tilt template *class*, wheras previously they were given the source/output
and the Tilt template *instance*. The locals hash is there in case pron case hooks want to
pay attention to the locals in some way. The before_render hook is also run before
compiling the template and caching it, which should prevent weird data mismatches
and save some template compilation effort.
2013-02-10 15:18:57 -08:00
Ben Hollis
700b844e67 Add a spec for testing Middleman::Util#binary? 2013-02-09 15:49:10 -08:00
Ben Hollis
923697b517 Micro-optimizations around string comparisons 2013-02-09 15:21:52 -08:00
Thomas Reynolds
c9290c6b11 Allow frontmatter to be parsed on templates outside the project root 2013-02-06 13:19:09 -08:00
Ben Hollis
8d5dd8e8ce Merge pull request #763 from zuf/patch-1
Fix huge files regression (for undetected mime)
2013-02-06 00:28:37 -08:00
Egor Vakhromtsev
4e88414478 blksize was replaced with fixed value because windows issues 2013-02-06 12:14:24 +04:00
Ben Hollis
137ce94d23 Restore indifferent-access behavior to page data and fix broken caching 2013-02-05 23:34:18 -08:00
Ben Hollis
bb2f40cc72 Merge branch '3.0-stable'
Conflicts:
	README.md
2013-02-05 22:07:05 -08:00
Egor
83c8f9a2ce Fix huge files regression (for undetected mime)
Note that binary_bytes is an array of bytes that never never appears in text. Array taken from encoding.c source from 'file' utility (http://www.darwinsys.com/file/).
2013-02-02 00:26:58 +04:00
Leon Bogaert
cc988ee302 Added before_render & after_render hook
Can be used for pre-processing content
2013-01-31 23:04:49 +01:00
Ben Hollis
aa6564f038 Don't catch Exception when parsing YAML frontmatter 2013-01-27 17:11:54 -08:00
Ben Hollis
c0c14f4eab Merge remote-tracking branch 'origin/3.0-stable'
Conflicts:
	CHANGELOG.md
	middleman-core/lib/middleman-core/cli/build.rb
	middleman-core/lib/middleman-core/core_extensions/rendering.rb
	middleman-core/lib/middleman-core/preview_server.rb
	middleman-core/lib/middleman-core/renderers/sass.rb
	middleman-core/lib/middleman-core/sitemap/store.rb
	middleman-core/lib/middleman-core/util.rb
	middleman-core/lib/middleman-core/version.rb
	middleman-more/lib/middleman-more/core_extensions/compass.rb
	middleman-more/lib/middleman-more/core_extensions/default_helpers.rb
	middleman-more/lib/middleman-more/extensions/asset_hash.rb
2013-01-25 21:43:30 -08:00
Ben Hollis
7c9c4d03db Make build error message code a bit more compact 2013-01-25 20:22:45 -08:00
Seth Vargo
95fa217cec Say middleman build instead of just middleman 2013-01-25 21:23:24 -05:00
Seth Vargo
12753c5759 add quotes and bundle exec to error message 2013-01-24 12:40:24 -05:00
Thomas Reynolds
1af216240a prep 2013-01-22 23:14:35 -08:00
Thomas Reynolds
2d28272396 Merge pull request #736 from bhollis/master
Serve extensionless files or dotfiles with text/plain MIME type, and remove Sitemap::Resource#mime_type.
2013-01-22 23:14:15 -08:00
Ben Hollis
da39484767 Mitigate major perf regression caused by the Middleman::Util#binary? method 2013-01-22 23:13:31 -08:00
Thomas Reynolds
c34b425f45 prep 2013-01-21 11:42:34 -08:00
Steven Sloan
17ad2caf11 also "build" .htpasswd files 2013-01-21 11:21:48 -08:00
Steven Sloan
c121c407df also "build" .htpasswd files 2013-01-18 20:13:49 -05:00
Ben Hollis
16b3a729cd Serve extensionless files or dotfiles with text/plain MIME type, and remove Sitemap::Resource#mime_type. 2013-01-17 19:40:39 -08:00
Thomas Reynolds
80fb3ff06f merge 2013-01-13 15:25:35 -08:00
Thomas Reynolds
c7e35b95ba use .sass-cache everywhere 2013-01-13 15:22:36 -08:00
Daniel Bayerlein
e3bb956649 Update installation command for susy-gem. 2013-01-13 11:59:41 -08:00
Thomas Reynolds
1b1a5c086e Add --force-polling flag to server. Closes #730. Closes #644 2013-01-13 11:57:18 -08:00
Thomas Reynolds
d4f5e4db29 Add --force-polling flag to server. Closes #730. Closes #644 2013-01-13 11:56:53 -08:00
Daniel Bayerlein
2dca9e5787 Update installation command for susy-gem. 2013-01-12 16:40:00 +01:00
Thomas Reynolds
a76b02a55b Don't look for frontmatter on binary files. Fixes #728 2013-01-11 17:25:45 -08:00
Thomas Reynolds
2e2516b95a Don't look for frontmatter on binary files. Fixes #728 2013-01-11 16:58:02 -08:00
Thomas Reynolds
e82aa6cc61 make blksize work on windows. 2013-01-09 09:49:23 -08:00
Ben Hollis
3d00e91605 Fix Middleman::Util.extract_response_text to follow the Rack spec (and thus work with rack 1.4.3) 2013-01-08 22:52:40 -08:00
Ben Hollis
e3b9a41d3b Fix Middleman::Util.extract_response_text to follow the Rack spec (and thus work with rack 1.4.3) 2013-01-08 20:35:57 -08:00
Thomas Reynolds
d6c2cf305b prep 3.0.9 2013-01-08 10:33:19 -08:00
Thomas Reynolds
eccda125e5 Remove Tilt mappings for missing libraries. Fixes #713 2013-01-08 10:24:07 -08:00
Thomas Reynolds
0a580c8b9a prep 3.0.8 2013-01-07 22:56:36 -08:00
Thomas Reynolds
7cd6cd233e Manually copy the file instead of asking Thor to do it 2013-01-02 16:40:42 -08:00
Thomas Reynolds
aefcdabb52 prep pre 2013-01-01 19:10:54 -08:00
Thomas Reynolds
fbb2a355d7 Copy binary files instead of rendering through MM. Closes #643. Closes #699 2012-12-30 20:44:29 -08:00
Thomas Reynolds
6253c91610 Allow non-templates to have frontmatter. Closes #698 2012-12-30 20:40:20 -08:00
Thomas Reynolds
4eca29866b Copy binary files instead of rendering through MM. Closes #643. Closes #699 2012-12-30 20:37:40 -08:00
Thomas Reynolds
e97d0ad0e4 Allow non-templates to have frontmatter. Closes #698 2012-12-30 20:29:39 -08:00
Thomas Reynolds
a537b434e3 Coerce all paths in sitemap to Pathname 2012-12-30 19:59:41 -08:00
Thomas Reynolds
1c62dd68a7 Simplify bundler init. Closes #700 2012-12-30 19:58:37 -08:00
Thomas Reynolds
e08eb280fa Coerce all paths in sitemap to Pathname 2012-12-30 15:26:38 -08:00
Thomas Reynolds
55291edc65 Merge pull request #374 from middleman/metapages
Idea: Metadata pages
2012-12-25 16:12:27 -08:00
Ben Hollis
a00d507de3 Clean up styling a bit, add extension hooks 2012-12-25 16:11:52 -08:00
Ben Hollis
142abe027e Switch to using view classes isntead of partials 2012-12-25 16:11:52 -08:00
Ben Hollis
b8eb932a73 Hierarchical sitemap 2012-12-25 16:11:52 -08:00
Ben Hollis
22fcc3c108 Initial spike for meta pages 2012-12-25 16:11:52 -08:00
Ben Hollis
ae743ac4db Conform to the rack specs, with help from Rack::Lint 2012-12-25 16:11:13 -08:00
Thomas Reynolds
45ddc0c344 Make Sitemap metadata queryable with arel-style API 2012-12-25 16:05:54 -08:00
Avia Aharon
b084982923 fix Middleman::Util.path_match to work with string matchers 2012-12-18 12:32:13 +02:00
Thomas Reynolds
eea45095b8 version bump 2012-12-15 14:59:32 -08:00
Capi Etheriel
4805c11d49 turn html5 boilerplate into a layout
set hbp5 as the DEFAULT layout

use titles from YAML options
2012-12-15 14:53:01 -08:00
Casey Leask
dd4c07d9d1 Added fix for empty YAML 2012-12-15 14:52:55 -08:00
Kunal Parikh
6f8ada6639 Using 'Socket.gethostname' to get default hostname
As suggested by @bhollis in https://github.com/middleman/middleman/pull/665#issuecomment-10262763
2012-12-15 14:52:40 -08:00
Kunal Parikh
f6cf8de141 Changed log message when middleman starts.
Old message: == The Middleman is standing watch on port 4567
New message: == The Middleman is standing watch at http://0.0.0.0:4567

The URL in the message makes it clickable if the terminal supports it.
2012-12-15 14:52:31 -08:00
Alex Peattie
816bca9643 Fix for embedded Markdown in Slim w/ Redcarpet 2012-12-15 14:52:15 -08:00
Capi Etheriel
60fc4ce43a turn html5 boilerplate into a layout
set hbp5 as the DEFAULT layout

use titles from YAML options
2012-12-14 11:39:35 -02:00
Casey Leask
85f06ccecd Added fix for empty YAML 2012-12-14 14:22:42 +11:00
Kunal Parikh
e57564c957 Using 'Socket.gethostname' to get default hostname
As suggested by @bhollis in https://github.com/middleman/middleman/pull/665#issuecomment-10262763
2012-11-11 15:54:32 +11:00
Kunal Parikh
1761197af3 Changed log message when middleman starts.
Old message: == The Middleman is standing watch on port 4567
New message: == The Middleman is standing watch at http://0.0.0.0:4567

The URL in the message makes it clickable if the terminal supports it.
2012-11-11 13:16:47 +11:00
Alex Peattie
ecefe2a04e Fix for embedded Markdown in Slim w/ Redcarpet 2012-11-07 11:30:24 -08:00
Thomas Reynolds
0eb906efac Stylus support and tests. Fixes #649 2012-10-28 12:19:47 -07:00
Thomas Reynolds
01e9c336b0 Stylus support and tests. Fixes #649 2012-10-28 12:18:29 -07:00
Ben Hollis
bb12e2a0d4 Make Sitemap::Store more thread-safe. 2012-10-22 22:22:54 -07:00
Ben Hollis
c40102cf53 Make Sitemap::Store more thread-safe. 2012-10-20 21:19:13 -07:00
Thomas Reynolds
338d0f5867 Nevermind, can't do that until the class/inst stuff is cleaned up 2012-10-14 17:19:48 -07:00
Thomas Reynolds
0d9b1eabdb Instances actually need to dup the global config so they don't set variables that may be different later (tests, config reloading) 2012-10-14 16:25:22 -07:00
Thomas Reynolds
af81b588d5 Merge pull request #620 from bhollis/config
Move config settings into a separate object
2012-10-14 12:52:19 -07:00
Ben Hollis
4fe22e3fb5 Move more things over to new configs. Don't let root be configured 2012-10-13 22:37:24 -07:00
Ben Hollis
a50ca56fbc Switch over to new config methods 2012-10-13 21:37:02 -07:00
Ben Hollis
781fa1c65f Move configuration into a separate object, that can be reused for extension configuration and makes settings, their defaults, and descriptions inspectable. 2012-10-13 21:36:12 -07:00
Thomas Reynolds
4ee9369d7e Merge pull request #635 from bhollis/proxy
Upgrade proxy to be able to take :locals and understand :ignore
2012-10-13 14:04:17 -07:00
Thomas Reynolds
4255ff8b00 Merge branch '3.0-stable' of github.com:middleman/middleman into 3.0-stable 2012-10-13 14:04:02 -07:00
Ben Hollis
862551c523 Upgrade proxy to be able to take :locals and understand :ignore, and store proxy options and metadata with the proxy list.
This allows users to use proxy directly instead of page to create dynamic pages, and improves performance of dynamic pages for sites that create many proxies. It also allows people to use locals instead of instance variables, which are better for partials and reduce the risk of overwriting Middleman settings.
2012-10-13 14:03:32 -07:00
Ben Hollis
1ee89ac6bf Upgrade proxy to be able to take :locals and understand :ignore, and store proxy options and metadata with the proxy list.
This allows users to use proxy directly instead of page to create dynamic pages, and improves performance of dynamic pages for sites that create many proxies. It also allows people to use locals instead of instance variables, which are better for partials and reduce the risk of overwriting Middleman settings.
2012-10-12 19:46:11 -07:00
Thomas Reynolds
434abf2220 prep 3.0.6 2012-10-11 10:08:10 -07:00
Ben Hollis
0bf1b476b0 Fix handling of directories with ~ in them 2012-10-11 10:07:03 -07:00
Ben Hollis
ee6add032a Fix handling of directories with ~ in them 2012-10-10 18:20:20 -07:00
Thomas Reynolds
42f9e331da Master is now for 3.1 dev 2012-10-06 11:16:54 -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
58be0f7af9 Merge pull request #617 from bhollis/cli
Print a helpful message when encountering an unknown command
2012-09-28 10:27:21 -07:00
Ben Hollis
623d73cc0a Print a helpful message when encountering an unknown command 2012-09-27 23:20:04 -07:00
Ben Hollis
d0c00884fe Shutdown even if the user closed their terminal. Also handle signals on Windows (and elsewhere) if available without resorting to platform detection. Fixes #581. 2012-09-27 23:05:36 -07:00
Thomas Reynolds
9efa9d8009 Update normalize.css to v2.0.1. Fixes #614 2012-09-25 16:30:49 -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
Thomas Reynolds
a8a555c101 Merge pull request #601 from bhollis/full_path
Fix previewing directories with '.' in them.
2012-09-16 14:28:19 -07:00
Ben Hollis
8ec42df641 Correctly preview directory URLs with .s in them and show the request path on 404 pages. 2012-09-16 01:57:33 -07:00
Ben Hollis
aa6b0482ae No longer initialize the app twice when starting preview server 2012-09-15 22:38:49 -07:00
Thomas Reynolds
0327e2067f Merge pull request #596 from bhollis/cli
Please create a "--skip-bundle" flag for middleman init
2012-09-15 18:09:53 -07:00
Ben Hollis
e0b88d91be Add skip-gemfile, skip-bundle, and skip-git options to middleman init, aligning with rails options. 2012-09-14 23:32:46 -07:00
Thomas Reynolds
493d782875 bump 3.0.4 2012-09-13 10:52:11 -07:00
Thomas Reynolds
77be952d41 Trying to return from a block is a bad idea 2012-09-13 10:51:31 -07:00
Thomas Reynolds
06578c61fa prep 3.0.3 2012-09-13 10:25:49 -07:00
Thomas Reynolds
345e7787b5 reloading fixes 2012-09-13 10:13:57 -07: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
Thomas Reynolds
266e24e03e 3.0.2 2012-09-05 16:24:43 -07:00
Thomas Reynolds
a96a41004c Logger has no such method .warning. Closes #582 2012-09-05 10:21:02 -07:00
Thomas Reynolds
4b085ea79f HTML5 Boilerplate 4.0 2012-09-04 09:48:52 -07:00
Thomas Reynolds
851652bb6c prep 3.0.1 2012-09-04 09:42:52 -07:00
Thomas Reynolds
0e75df16aa Lets try pre instead 2012-09-01 12:26:41 -07:00
Thomas Reynolds
4bbc225559 Prep 3.0.1 2012-09-01 08:45:43 -07:00
Tom Vaughan
4c48baeee6 Update middleman-core/lib/middleman-core/templates/extension/Rakefile
A default target is required by travis-ci.org. Another option is to provide a .travis.yml that looks like:

    script: "bundle exec rake test"
2012-08-22 12:19:45 -07:00
Thomas Reynolds
1c32c5fd74 missing gitignore 2012-08-22 11:03:14 -07:00
Thomas Reynolds
193f32b9fb Add test gems to extension and a gitignore. Closes #570 2012-08-20 19:37:10 -07:00
Thomas Reynolds
f7fc041034 Check whether a Pathname exists before calling realpath in build. Closes #569 2012-08-20 19:28:43 -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
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
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