Commit graph

1300 commits

Author SHA1 Message Date
Ben Hollis 12de88e8d7 Allow logging to be sent to a file
In config.rb, you can write:

logger 'middleman.log'
2013-10-19 20:20:07 -07:00
Ben Hollis 441ec95065 Gracefully handle syntax (and other) errors when reloading config.rb.
With this change, config.rb modifications that result in an error will print the error to the logs but will not kill the server - the previous version of the application will still be running just fine, so that you can try and fix your config.rb without having to restart. The server no longer simply hangs with no message, which was the previous behavior. This fixes #702.
2013-10-19 19:39:10 -07:00
Ben Hollis e773e8c1a9 Fix tests under 1.8 by coercing Kramdown's OrderedHash into a real Hash. 2013-10-19 19:02:34 -07:00
Ben Hollis d3e4882b93 Refactor the Build CLI code to be easier to read and use Pathname throughout.
This also throws an error if :build_dir is set to a parent directory of :source_dir, which resolves #991.
2013-10-19 18:11:29 -07:00
Ben Hollis ae2b6b34f1 Fix a nasty memory/proc leak pointed out by @Xanders. Fixes #1020. 2013-10-19 16:45:07 -07:00
Ben Hollis da34153e0c Support HEAD requests. Fixes #1021. 2013-10-19 16:18:11 -07:00
Ben Hollis 4055479ff3 Clean page classes of invalid CSS characters and make sure they don't start with a number 2013-10-19 15:31:49 -07:00
Dan Allen 5439139b76 added cucumber tests for #1043, AsciiDoc support 2013-10-19 14:41:52 -06:00
Dan Allen 55d844f667 resolves #1043 added a renderer for AsciiDoc files 2013-10-17 00:49:53 -06:00
Thomas Reynolds 7762abe461 prep 2013-10-15 14:40:01 -07:00
Thomas Reynolds 1260188069 attempt to address asset host and hash combo, give up. 2013-10-15 14:33:25 -07:00
Thomas Reynolds c69909910d adjust some markdown tests 2013-09-28 00:23:13 -07:00
Ali Bosworth 2738e8ea69 Add test against URL fragments for asset hashes 2013-09-26 14:33:56 -07:00
Thomas Reynolds 43653b70a4 Merge pull request #1019 from tavon/master
Do not cache generated redirect index file.
2013-09-24 23:39:34 -07:00
Thomas Reynolds d842db1772 Merge pull request #1017 from bhollis/url_for
Look for assets using url_for before falling back to the "images" directory
2013-09-24 23:33:53 -07:00
John Hwang 5b691fff10 Do not cache generated redirect index file.
Returning visitors to site were being redirected to the old page because their browser was caching the index page which was pointing to the previously URL.
2013-09-24 10:59:52 -04:00
Ben Hollis f2538f2e54 Look for assets using url_for before falling back to the "images" directory 2013-09-22 14:02:51 -07:00
Ben Hollis a746be1342 Use our magic linking functions from Kramdown, just like we do with Redcarpet. Fixes #999 2013-09-16 23:46:59 -07:00
Ben Hollis 8a928863f2 Normalize paths in the cleaning queue using realpath in order to avoid complicated symlink problems. 2013-09-16 22:13:39 -07:00
Ben Hollis 268538f926 Make an effort to handle spaces in filenames in a way that url_for can handle. 2013-09-16 21:07:57 -07:00
Nicholas Hutchinson dcd760d4f8 Demonstrate issue with directory indexes and spaces in paths
References #961
2013-09-16 21:07:56 -07:00
Thomas Reynolds cd9964edbe prep 2013-09-07 13:12:31 -07:00
Steven Sloan ee7c9e6a6e Add support/tests for Redcarpet 3.0.0 features
- :underline
- :highlight
- :disable_indented_code_blocks

Fix support for
- :link_attributes
- :filter_html

separate Redcarpet extensions from renderer options, add specs for missing renderer options

add specs for the missing/new redcarpet extensions, [ :lax_spacing, :underline, :highlight, :quote, :disable_indented_code_blocks, :footnotes ]

fix link_attributes option for Redcarpet

patch Tilt's reverse option aliases (they were there for RC1)

adjust test data for Redcarpet toc_data to match the current way it renders in 3.0

revert tests that aren't in redcarpet 3.0.0

add a cucumber exempt tag for mri-1.8.x

move redcarpet 3 specific extensions to a separate scenario filtered by the no18 tag
2013-08-27 11:37:37 -04:00
Thomas Reynolds abfe5e673f Merge pull request #992 from Mark-Simulacrum/master
Add listener latency option.
2013-08-21 16:01:27 -07:00
Mark Simulacrum 7606dfd494 Change latency option to :numeric type. 2013-08-21 05:33:29 -06:00
Mark-Simulacrum c12d98df4f add comma at end of line 74 2013-08-20 15:59:38 -06:00
Mark-Simulacrum 24ce8334ee Add latency option to listener object. 2013-08-20 06:36:51 -06:00
Mark-Simulacrum d37eca6a54 Add latency option.
Aliased to -l.
2013-08-20 06:32:49 -06:00
Mark-Simulacrum b1b3339597 Create automated alt tag addition, based on image name.
Needs documentation.
2013-08-18 20:06:39 -06:00
Linus Pettersson e77e615314 Fixed encoding for new buffer 2013-08-18 00:07:26 +02:00
Ben Hollis f92ae94728 Escape filenames in regexes. Fixes #942. 2013-08-15 22:04:18 -07:00
Jason Webster dd08ea2f6d Fix wrong http pathing/prefixing example in generated config 2013-08-15 15:24:44 -07:00
Thomas Reynolds 6d1effd2e7 bump 2013-07-21 23:32:28 -07:00
Thomas Reynolds ec060e0b6e change tests since coffee changed their output 2013-07-16 15:10:43 -07:00
Aggelos Orfanakos 2a8b22558a Don't set resp Content-Type for some status codes
There must not be a Content-Type set when the Status is 1xx, 204, 205 or
304, otherwise Rack blows up with the following error: "Content-Type
header found in 304 response, not allowed"
2013-07-13 05:01:32 +03:00
Aggelos Orfanakos 83d83c5c8c Fix double-escaping of config settings 2013-07-12 23:06:51 +03:00
Aggelos Orfanakos fffe36f42c Fix double-escaping of resource properties 2013-07-12 22:54:15 +03:00
Ben Hollis bef6e13c5f I never meant to actually name this parameter blockm 2013-07-08 22:17:12 -07:00
Ben Hollis 8979fe9f18 Print file where YAML/JSON errors occur. Fixes #954. 2013-07-08 22:16:03 -07:00
Thomas Reynolds 8b970f9d92 support redcarpet's no_ flags which need to be re-implemented in our overrides. Fixes #951 2013-07-08 14:21:36 -07:00
Thomas Reynolds 5806f2cbf5 auto include wdm on windows platforms 2013-07-07 20:57:04 -07:00
Thomas Reynolds dd2525c18e Merge branch 'master' of github.com:middleman/middleman 2013-07-02 14:42:54 -07:00
Thomas Reynolds 6403daccd3 prep 2013-07-02 14:42:44 -07:00
Arron Mabrey 44e5ff3f6c Update Sitemap source_dotfiles to support .nojekyll file 2013-06-30 18:46:39 -04:00
Arron Mabrey 00d6a78872 Add expectation that .nojekyll file should exist to directory_index feature 2013-06-30 18:45:49 -04:00
Arron Mabrey 0d4dd71ae2 Add .nojekyll file to indexable-app fixture 2013-06-30 18:44:34 -04:00
Alan Larkin 26b7f46978 Fixed typo in middleman-core/core-extensions/request.rb. 2013-06-25 14:55:12 +01:00
Thomas Reynolds b2ecf5526b ignore all ds_store 2013-06-24 14:26:58 -07:00
Thomas Reynolds b6a73ccfe5 prep 2013-06-24 14:15:27 -07:00
Thomas Reynolds c7d3e7d601 Fix regex which was allowing i18n to file yaml files in the data folder 2013-06-24 13:56:32 -07:00
Thomas Reynolds 37752dc291 fix layouts with implied extensions 2013-06-24 13:39:14 -07:00
Thomas Reynolds 3399ee207e dont hardcode ignored build dir name 2013-06-23 15:15:43 -07:00
Steve Faulkner f68f01a574 Update gitignore 2013-06-22 22:53:10 -05:00
Thomas Reynolds d86dffa7c6 implement redirect support 2013-06-19 11:13:23 -07:00
Thomas Reynolds 912b33929f bump listen 2013-06-19 10:23:53 -07:00
Thomas Reynolds 0415b76d4f tests for content_tag escaping 2013-06-18 11:12:41 -07:00
Manuel Meurer c75e31ae94 Fix content_tag helper, only try to mark content as safe if it is not a hash of options 2013-06-18 10:12:38 +02:00
Thomas Reynolds 0e69928939 bump ver 2013-06-17 00:47:58 +00:00
Thomas Reynolds efe52f7cca Check if set is redefining a param at the class level. Fixes #939 2013-06-17 00:47:10 +00:00
Thomas Reynolds f0707c0968 Prevent relative asset helper from munging data URIs. Closes #938. 2013-06-15 16:22:14 -07:00
Thomas Reynolds 9320007be6 dum dum dum..... 2013-06-14 16:31:51 -07:00
Thomas Reynolds 8eac168618 new rc 2013-06-13 09:23:31 -07:00
Thomas Reynolds 913d2b7049 Implement generic which is a simple way to build a file from Rack 2013-06-13 09:05:13 -07:00
Thomas Reynolds 7e405fc414 And by 1.8, I mean MRI 1.8 2013-06-12 17:58:59 -07:00
Thomas Reynolds e03362e6f6 Apparently Ruby 1.8 doesn't have Proc.source_location 2013-06-12 17:40:17 -07:00
Thomas Reynolds 7d7d5e683e Set current_engine on the context, not self, since we dup self and use that for each render loop. Closes #860 2013-06-12 15:21:31 -07:00
Moritz Breit b234deb540 Add cucumber scenarios for markdown pages with erb layout
These are tests for middleman/middleman#860.
2013-06-12 11:23:00 -07:00
Thomas Reynolds a52effc119 continue forcing Padrino to html_safe everything 2013-06-12 11:19:02 -07:00
Thomas Reynolds d71af3f5a1 Force padrino to skip safebuffer on erb 2013-06-08 15:36:14 -07:00
Thomas Reynolds efc0f9961b Merge pull request #927 from middleman/content_for_escaping
content_for is escaping .erb
2013-06-07 10:08:37 -07:00
Karl Freeman ef46e4e6c3 add breaking test for escaped html using content_for 2013-06-07 09:59:59 +01:00
Karl Freeman 0b8c36cb8c capture_html helper tests 2013-06-07 09:58:37 +01:00
Thomas Reynolds d728df12cf bump ver 2013-06-05 13:40:45 -07:00
Thomas Reynolds 265f90e240 Add callback so v4 extensions can see when other extensions are activated 2013-06-04 15:51:03 -07:00
Thomas Reynolds f3e2e8fdf5 ignore vendor in simplecov 2013-06-04 14:28:46 -07:00
Thomas Reynolds 69c36e691f use latest padrino 2013-06-04 09:56:33 -07:00
Thomas Reynolds 39d3fa01ad Merge branch 'master' of github.com:middleman/middleman 2013-06-04 09:48:45 -07:00
Thomas Reynolds a9839731e6 only require padrino once 2013-06-04 09:48:01 -07:00
Thomas Reynolds d3d85f8bc7 Merge pull request #923 from pulletsforever/feature/rack-block
Allow block to be passed through from Middleman.server()
2013-06-03 13:35:01 -07:00
David W. Keith f2f17c33b3 Allow block to be passed through from Middleman.server() 2013-06-03 11:48:16 -07:00
Thomas Reynolds c741735446 update path to helpers for sitemap metapages 2013-06-03 10:07:09 -07:00
Karl Freeman 32b113dc93 include '/vendor' in ignored files / folders 2013-06-03 17:06:43 +01:00
Thomas Reynolds 8863473756 bump dep 2013-06-02 19:04:33 -07:00
Thomas Reynolds d0cd3e3cf9 layouts_dir is now configurable. Closes #899 2013-06-01 15:25:44 -07:00
Thomas Reynolds 149f6ffa5b fix builder not cleaning empty directories 2013-05-31 21:20:15 -04:00
Thomas Reynolds 9d50cad910 Merge branch 'master' of github.com:middleman/middleman 2013-05-31 21:01:34 -04:00
Thomas Reynolds 10f1d7ada2 break apart some methods to make code less complex 2013-05-31 20:46:12 -04:00
Ben Hollis dbcb28dded Add an "empty" template and let template classes override the "Gemfile" template.
Custom template classes can define "self.gemfile_template" to return the path to their own Gemfile template, without having to reimplement our generate_bundler! task.
2013-05-30 21:17:43 -07:00
Ben Hollis 7127401aa2 Micro-optimize some regexes 2013-05-30 21:17:42 -07:00
Thomas Reynolds fe2a7c4dd6 Merge branch 'master' of github.com:middleman/middleman 2013-05-31 00:11:54 -04:00
Ben Hollis 7bdf28a421 Fix ignoring layouts from the sitemap when the source directory has been set to something other than 'source'. Fixes #896. 2013-05-30 20:17:58 -07:00
Thomas Reynolds 403d6abd05 fix up simplecov, add coveralls 2013-05-30 13:38:52 -04:00
Jonathan Allard 56f16c2488 Fix #823-2 to allow only one extension on localized views
Make Sitemap::Store#strip_away_locale actually do something
2013-05-30 13:37:31 -04:00
Thomas Reynolds 31f238f881 Refactor some of i18n for better codeclimate scores. In the process, make nested i18n files work like rails 2013-05-29 14:00:37 -04:00
Thomas Reynolds 86cd626084 write some file change and deletion tests for better data coverage 2013-05-29 10:59:03 -04:00
Thomas Reynolds b8b48afcbb how do i paren? 2013-05-29 10:35:00 -04:00
Thomas Reynolds fef8b8417d Add more nested data tests, actually get simplecov to run 2013-05-29 09:59:15 -04:00
Manuel Meurer ed59260367 Replace all occurrences of data.page with current_page.data
see https://github.com/middleman/middleman/issues/912
2013-05-29 11:25:57 +02:00
Ben Hollis 994bd651f8 Add Simplecov 2013-05-28 22:29:58 -07:00
Ben Hollis f611a7185b Clean up frontmatter a bit 2013-05-28 22:29:58 -07:00
Ben Hollis e03ef4226a Cache the filtered resource list to avoid calling Resource#ignored? a ton 2013-05-26 16:38:28 -07:00
Thomas Reynolds 950aace674 Make Frontmatter a class-based extension to simplify file 2013-05-24 17:11:46 -07:00
Thomas Reynolds 5104579623 after_build support in class-based extension 2013-05-24 15:49:15 -07:00
Thomas Reynolds 7611f4ef4a Listen bundles these gems again (le sigh) 2013-05-24 11:34:03 -07:00
Thomas Reynolds 3d804494f5 ignore tmp dir 2013-05-24 10:34:10 -07:00
Thomas Reynolds 117a9ab6f9 unneeded require 2013-05-23 16:27:37 -07:00
Thomas Reynolds 5b8c7a2494 move vendored gems into shared root 2013-05-23 16:06:20 -07:00
Thomas Reynolds 7a227b8bac stub out blank middleman-more gem for backwards compat with extensions 2013-05-23 15:26:33 -07:00
Thomas Reynolds ed9012ef5b Ruby 1.8 can't regex on a symbol (or something) 2013-05-23 14:55:26 -07:00
Thomas Reynolds bcdaad6443 Merge pull request #906 from adamesque/master
Make sure Frontmatter data is actually cached
2013-05-23 13:35:01 -07:00
Thomas Reynolds 90eb5fca3e loosen thor dep now that we're bundling padrino 2013-05-23 13:32:10 -07:00
Thomas Reynolds 424fee0722 Cache frontmatter repeated calling of recursively_enhance 2013-05-23 13:31:52 -07:00
Adam Luikart c60cddc1ac Make sure Frontmatter data is actually cached. Fixes #903
(Can't return a value to early out of a begin…end expression in Ruby)
2013-05-23 14:50:46 -05:00
Ben Hollis dbbf84016f Fix c9d151ba66 for when files are outside the project 2013-05-22 23:39:56 -07:00
Thomas Reynolds c9d151ba66 The file watcher knows which files exist, so don't use slow File.exists?
Possible solution for #903
2013-05-22 17:38:01 -07:00
Thomas Reynolds fc37ef9b99 vendor padrino 2013-05-19 13:53:37 -07:00
Thomas Reynolds b19e8bc185 reorg some of the more stuff 2013-05-19 13:26:16 -07:00
Thomas Reynolds 4d0ffe11c0 Merge branch 'master' of github.com:middleman/middleman 2013-05-18 13:47:29 -07:00
Thomas Reynolds 407f1b67a3 fix test for updated uglifier 2013-05-18 13:47:15 -07:00
Karl Freeman f20101ac32 add CONTRIBUTING.md / LICENSE.md, rejig README.md / .gemspec 2013-05-17 13:34:15 +01:00
Thomas Reynolds 15cfbd3b51 bump 2013-05-16 17:03:32 -07:00
Thomas Reynolds 4502913f53 update some deps 2013-05-15 17:40:22 -07:00
Ben Hollis 0b017bbf3d Require padrino helpers from sitemap meta page 2013-05-12 13:55:24 -07:00
Ben Hollis 2d17fd7480 Show a warning when default helpers or Compass are not installed. 2013-05-12 10:35:40 -07:00
Ben Hollis ee05fa3d2c Add total to the end of gzip output 2013-05-12 10:09:53 -07:00
Thomas Reynolds 9ebddeed1d merge more into core, use gem availability to autoload 2013-05-09 14:41:26 -07:00
Ben Hollis b4d75351a2 Make errors more obvious during build (with color) and run after_build hooks even if there's an error. 2013-05-04 10:57:17 -07:00
Ben Hollis 64878bfc23 Replace all_files_under with method that doesn't modify in-place 2013-05-04 10:56:38 -07:00
Thomas Reynolds 2ef3b7e4d9 fix listen deprecation 2013-05-03 11:40:30 -07:00
Thomas Reynolds b230018692 quick release to work around i18n gem dep problem 2013-05-03 11:24:53 -07:00
Thomas Reynolds 4964022998 rollback some versions 2013-05-03 11:24:05 -07:00
Thomas Reynolds fdc5154462 scope it, real good 2013-05-02 23:01:30 -07:00
Ben Hollis 1d88a52170 Make the list of regexes ignored by FileWatcher configurable 2013-05-02 22:09:54 -07:00
Ben Hollis 5970333ca2 Fixups for localizable files 2013-05-02 22:03:28 -07:00
Ben Hollis d58acae939 Progress towards making localizable pages work 2013-05-02 21:17:50 -07:00
Jonathan Allard 23b6efbb06 Store#extensionless_path: Change implementation to make overrides easier 2013-05-02 19:14:59 -07:00
Jonathan Allard 0211114ecb Change different-engine-layout from .str to Haml 2013-05-02 19:14:59 -07:00
Ben Hollis 1362a1fc81 Update default config.rb to be a bit more modern 2013-05-02 18:59:39 -07:00
Ben Hollis 3080857316 Merge pull request #840 from barraponto/livereload_instructions
Document livereload usage in config file
2013-05-02 18:55:48 -07:00
Will Koehler 25d7544103 Add [] operator and has_key? to DataStore to make DataStore act like a hash.
The main benefit of this is to add the ability to gracefully handle the case when data is not present.
2013-05-02 16:39:28 -04:00
Thomas Reynolds b4edf7cf16 update the extension template to new class system 2013-05-01 09:37:33 -07:00
Ben Hollis fa17134c0a Call the :initialized hook after the build configuration hook so extensions don't get activated but not initialized 2013-05-01 01:12:50 -07:00
Ben Hollis 513e6dc2ad Attempt a fix for #837 2013-04-30 19:52:33 -07:00
Ben Hollis 53c4413cc3 Define respond_to? on DataStore. Fixes #872. 2013-04-30 18:27:26 -07:00
zbo fce9d17a81 bug fix: loading assets in pre-release gems (like :path=> :git=> in Gemfile) 2013-04-30 18:44:01 +08:00
Thomas Reynolds 399af44c71 update uglifier dep 2013-04-22 22:22:36 -07:00
Thomas Reynolds ab2f37d2e6 make I18n optional in core 2013-04-22 22:09:33 -07:00
Thomas Reynolds 8a54645de5 bump padrino to 0.11.x 2013-04-22 22:07:35 -07:00
Thomas Reynolds c5e2ad6750 update listen dep 2013-04-22 20:50:17 -07:00
Thomas Reynolds 0e470bddd9 update rack dep 2013-04-22 20:44:07 -07:00
Thomas Reynolds 8b1bcb6246 move livereload dep to Gemfile 2013-04-22 20:30:25 -07:00
Ben Hollis e54c854e10 Go back to calling the source file "Source File" in the metadata view. 2013-04-21 18:13:48 -07:00
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 dd63ba164e Merge branch '3.0-stable' of github.com:middleman/middleman into 3.0-stable 2013-02-24 13:37:30 -08:00
Thomas Reynolds 0f80965ae3 latest listen supports new wdm 2013-02-24 13:34:07 -08:00
Thomas Reynolds 8d5ac575f6 prep pre 2013-02-20 13:15:38 -08:00
Thomas Reynolds aa2102cbb7 update listen dep 2013-02-19 17:14:10 -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 fede3449b6 Merge branch '3.0-stable' 2013-02-10 16:54:02 -08:00
Ben Hollis cf51fe6a20 Fix binary_spec test for svgz - it's binary 2013-02-10 16:53:38 -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
Thomas Reynolds 559265140d Stub out rspec tests for public APIs: Rack and Sitemap for now 2013-02-09 15:32:32 -08:00
Ben Hollis 923697b517 Micro-optimizations around string comparisons 2013-02-09 15:21:52 -08:00
Ben Hollis 1af96fe305 Fix gemspecs 2013-02-09 10:28:55 -08:00
Thomas Reynolds dd80d22b6a Merge pull request #767 from bhollis/deps
Revert the more-flexible Thor dependency since it breaks bundle install
2013-02-08 23:15:49 -08:00
Ben Hollis de7e621766 Revert the more-flexible Thor dependency since it breaks bundle install for JRuby and we will need to update Padrino when it gets upgraded anyway 2013-02-08 00:05:34 -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 5cedd4c37c Merge remote-tracking branch 'origin/3.0-stable'
Conflicts:
	middleman-core/middleman-core-x86-mingw32.gemspec
2013-01-26 01:01:01 -08:00
Thomas Reynolds 5f84833fc5 loosening our thor dependency in advance of padrino updating to 0.16. Closes #751 2013-01-25 23:04:52 -08:00
Ben Hollis 6dbe7f7a5a Update Gemfile to allow bundler to ever complete. Also simplify Gemfile, update dependencies, and remove $LOAD_PATH hacking from gemspecs. 2013-01-25 22:31:40 -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 aa633a1cd3 make windows rack generic again 2013-01-09 10:28:47 -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 84239f04a2 lock rack version 2013-01-08 10:23:13 -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
Thomas Reynolds 41ae1053eb Remove dependency on compiled file watchers, will fall back to polling by default. This keeps Middleman from needing a compiler to install. Will ask user to upgrade to a compiled watcher on install. 2012-12-19 14:01:05 -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
Thomas Reynolds 12a604d69e Fix html5bp test 2012-12-15 14:56:22 -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
Thomas Reynolds 054ce83d35 Fix html5bp test 2012-12-15 14:49:50 -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
Thomas Reynolds 2ea35b3004 Stub out rspec tests for public APIs: Rack and Sitemap for now 2012-10-27 11:47:06 -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
Jörg Thalheim 4b52858f61 test directories containing the tilde characters 2012-10-11 10:06:50 -07:00
Ben Hollis ee6add032a Fix handling of directories with ~ in them 2012-10-10 18:20:20 -07:00
Jörg Thalheim 392a4d23f6 test directories containing the tilde characters 2012-10-10 18:18:55 -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 d3818e8368 Prep 3.0.5 2012-09-23 19:00:40 -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
Thomas Reynolds 8e808a2324 Merge pull request #598 from bhollis/load_path
Stop messing with load path in middleman executable
2012-09-16 00:10:26 -07:00
Ben Hollis aa6b0482ae No longer initialize the app twice when starting preview server 2012-09-15 22:38:49 -07:00
Ben Hollis e35ce52803 Stop messing with load path in middleman executable 2012-09-15 18:45:14 -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
Adam Luikart c2f7303041 h5bp 4.0 renames script.js to main.js. Fixes failing cli_init test. 2012-09-05 15:42:49 -05: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 56c6327aed fix windows gem name 2012-09-01 15:02:49 -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
Thomas Reynolds 9b9146b437 The return of the windows gem, for wdm and speedier file watching support 2012-09-01 08:44:02 -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
cwebbdesign d0a36f0879 Adding tests for using front matter to override layout set in config 2012-07-27 10:57:48 +02:00
cwebbdesign a0c11df4cc Adding tests for overriding layouts using frontmatter 2012-07-27 10:55:30 +02:00
Thomas Reynolds 4410d858f2 Merge pull request #550 from rumpuslabs/instance_vars_fix
Fix instance variables in dynamic pages
2012-07-26 13:46:56 -07:00
Thomas Reynolds f1eae1e0c8 Correct path in sass-assets-path test 2012-07-25 12:05:43 -07:00
Thomas Reynolds 6ccf5e2db0 Don't catch CoffeeScript errors when in build mode. Fixes #551 2012-07-25 11:22:29 -07:00
Tim Bates 99a8723ea6 Fix instance variables in dynamic pages 2012-07-24 23:02:27 +09:30
Ben Hollis 2f7371ca1f Oops, make NullProfiler actually work 2012-07-19 22:47:03 -07:00
Ben Hollis 00b590eedb Support profiling server startup and build via a --profile flag 2012-07-19 21:05:33 -07:00
Thomas Reynolds 3f21f7bc62 Merge pull request #541 from middleman/load_paths
Extract load_paths so they aren't locked into the binary
2012-07-19 18:22:04 -07:00
Thomas Reynolds 1f6d1a7ee1 Extract load_paths so they aren't locked into the binary 2012-07-19 10:55:14 -07:00
Ben Hollis 62fa17cf1a Reduce work converting paths from relative to absolute and back again 2012-07-19 01:18:55 -07:00
Ben Hollis 1f22184fc7 Don't request __middleman__ 2012-07-19 01:18:55 -07:00
Thomas Reynolds de6d7980ac Use centralized Logger and add instrument methods 2012-07-18 09:30:39 -07:00
kematzy 95339dad23 Added :js_assets_paths for external JS repositories
Please Note!

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

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

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

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

Example usage:

    # in config.rb

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

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

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

Example usage:

    # in config.rb

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

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

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

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

Suggested usage:

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

which could return something like:

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

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

  warning: conflicting chdir during another chdir block
2012-07-14 14:46:46 +02:00
Tim Bates 0fa1bfe675 Tests and a small bug fix to make them pass 2012-07-13 16:00:53 +09:30
Tim Bates 3cbda0ee36 Added strip_index_file option for configuring urls 2012-07-13 10:57:05 +09:30
Tim Bates 692aa10c8b Add trailing_slash option for prettier urls
"set :trailing_slash, false" will cause resource urls that match the
index_file to have the trailing slash stripped off the directory URL,
e.g. instead of "/dir/index.html" becoming "/dir/" it will be "/dir"
2012-07-12 12:03:33 +09:30
Tim Bates d30f883e48 Regenerate @_lookup_cache after each manipulation
Trying to call Resource#metadata from within
MyExtension#manipulate_resource_list generates an exception in
Proxies::ResourceInstanceMethods#get_source_file because @_lookup_cache
is empty. Moving the recalculation inside the loop means regenerating
the cache after each manipulation but allows extensions to examine the
page metadata when manipulating proxied resources.
2012-07-11 15:16:18 +09:30
Tim Bates ffecc3e4cc Optimisation, Hash#delete returns the deleted item 2012-07-11 15:14:08 +09:30
Thomas Reynolds f062bb7c3d Merge pull request #518 from bhollis/proxy
Don't allow people to proxy a path to itself, or to another proxy.
2012-07-09 12:42:40 -07:00
Thomas Reynolds 174000c1a2 3.0 [ci skip] 2012-07-09 10:00:49 -07:00
Ben Hollis 7be0590acf Use middleman's image_tag and link_to helpers from within Redcarpet markdown 2012-07-09 00:26:33 -07:00
Ben Hollis f908b378c5 Fiter out annoying "Could not determine content-length of response body." messages from verbose logging 2012-07-09 00:18:03 -07:00
Ben Hollis 324eac428e Ignore emacs temporary files 2012-07-08 19:02:34 -07:00
Ben Hollis d05f968feb Fix all_files_under - not all non-files are directories 2012-07-08 19:02:34 -07:00
Ben Hollis 12c551228f Don't allow people to proxy a path to itself, or to another proxy. 2012-07-08 15:30:02 -07:00
Thomas Reynolds 9f7f3370aa Catch JRuby/Coffee exception correctly 2012-07-07 17:29:31 -07:00
Thomas Reynolds 4b03c5e2df Add Middleman::Util.all_files_under to get a recursive listing of files beneath a path, follows symlinks. Fixes #515 2012-07-06 19:32:05 -07:00
Thomas Reynolds d4259315e7 version bump [ci skip] 2012-07-04 16:47:01 -07:00
Thomas Reynolds 54f796120f Merge branch 'master' of github.com:middleman/middleman 2012-07-04 16:45:32 -07:00
Thomas Reynolds 63224639d9 Add tests for more implied extensions 2012-07-04 16:45:27 -07:00
Thomas Reynolds d23a773491 Merge pull request #370 from bhollis/master
Syntax errors lock up Middleman
2012-07-04 16:24:42 -07:00
Thomas Reynolds df31f65522 Make automatic helpers smarter. Fixes #510 2012-07-04 11:29:00 -07:00
Ben Hollis 89afc86a5b Friendlier error message when a non-default layout is not in the layouts directory. 2012-07-03 00:01:11 -07:00
Ben Hollis 1229a9991a Prevent NoMethodError/NameError from hanging the server.
The fix is to work around this bug: http://bugs.ruby-lang.org/issues/4521 where Ruby will call to_s/inspect while printing exception messages, which can take a long time (minutes at full CPU) if the object is huge or has cyclic references, like Middleman::Application does. Defining #to_s short-circuits that. This fixes #370.
2012-07-02 23:39:30 -07:00
Thomas Reynolds 1c9a97990e Update some gem requirements, lock Padrino 2012-07-02 16:35:53 -07:00
Daniel Zuberbühler e9b996516b Fix option in build failure help message 2012-06-28 14:57:35 +02:00
Ben Hollis 2bb47049c1 Clean up listener handling in preview server 2012-06-27 23:28:28 -07:00
Ben Hollis 6ac263619a Make :http_prefix work in link_to and asset helpers as long as the linked item is a sitemap resource. Fixes #484. 2012-06-23 17:19:24 -07:00
Thomas Reynolds f907f4acb4 Merge branch 'master' of github.com:middleman/middleman 2012-06-20 17:53:27 -07:00
Thomas Reynolds 8912d3627d Update Padrino to 0.10.7 and Thor to 0.15.3. Closes #495 2012-06-20 17:53:14 -07:00
Thomas Reynolds fbc4591922 bump listen dep 2012-06-20 09:51:19 -07:00
Thomas Reynolds 35ff2e0c48 bump version [no-ci] 2012-06-19 20:12:55 -07:00
Thomas Reynolds c3796a9161 :automatic_directory_matcher optionally converts a character sequence in file names into a subdirectory. Closes #491 2012-06-19 20:07:50 -07:00
Thomas Reynolds ddc0712c1b Say :update, not :create on automatic conflict resolution 2012-06-19 19:40:57 -07:00
Thomas Reynolds bd9d9d0f93 travishatesme 2012-06-18 16:53:22 -07:00
Thomas Reynolds 518ae3f46d Move encoding tests into a dynamic form so they aren't packaged with gemspecs on unsupported platforms. 2012-06-18 15:18:16 -07:00
Thomas Reynolds eee1e45afb bump to rc2 2012-06-17 12:21:24 -07:00
Thomas Reynolds 5da63cb84f Emit identical message on build as before, removing confusion reported in #475 2012-06-17 12:11:07 -07:00
Thomas Reynolds 5071a2c15d Tests for #477 2012-06-17 12:03:36 -07:00
Ben Hollis 57f5701e72 Add a Middleman::Util.path_match function that handles matching on regexes, globs, and procs, and use it from asset_hash, minify_javascript, and minify_css. Fixes #480. 2012-06-16 20:26:42 -07:00
Thomas Reynolds f81b6c7c40 Merge pull request #478 from rolftimmermans/charset-fix
Change the default character encoding to 'utf-8', with a dash
2012-06-16 15:11:05 -07:00
Thomas Reynolds f3f508399c Merge pull request #487 from rstacruz/listener_fix
Fix the listener/watcher
2012-06-16 15:10:20 -07:00
Rico Sta. Cruz b35de4834b Restart the listener when reloading the server 2012-06-16 06:30:20 +08:00
Rico Sta. Cruz 8a898f8239 Persist the preview servers options (like port) when reloading 2012-06-16 06:20:40 +08:00
Rico Sta. Cruz 96c29181aa Implement the :encoding setting which defaults to 'utf-8' 2012-06-16 06:07:50 +08:00
Rolf Timmermans b6d2579678 Use method should accept a block when adding Rack middleware. 2012-06-14 13:53:49 +02:00
Rolf Timmermans f11d21d122 Change the default character encoding to 'utf-8' instead of 'utf8' to please more browsers. 2012-06-14 13:28:00 +02:00
Thomas Reynolds ab717af590 bump deps 2012-06-13 23:19:28 -07:00
Thomas Reynolds 862a56a343 Attempt address #466 and avoid Bundler issues with RVM 2012-06-13 20:33:50 -07:00
Daniel Bayerlein cc1a741eb7 Move "set :fonts_dir" from "middleman-more" to "middleman-core". 2012-06-09 20:30:22 +02:00
Thomas Reynolds 939a3287d5 bump listen dep 2012-06-08 17:19:31 -07:00
Thomas Reynolds 7852d1eaf9 new extension ver 2012-06-06 09:30:06 -07:00
Thomas Reynolds 092a82157d bump bundler dep, try to track down JRuby 1.9 encoding weirdness 2012-06-05 16:48:58 -07:00
Thomas Reynolds 949c5db915 The Middleman Cometh 2012-06-05 16:28:01 -07:00
Thomas Reynolds e6256d0178 --help should work in CLI 2012-06-05 11:48:34 -07:00
Thomas Reynolds 286c7352b6 Fix Less load paths, simplify builder error output. Fixes #461 2012-06-05 10:24:00 -07:00
Thomas Reynolds 556f82afbc Remove redundant extension version checking, we're using Bundler now 2012-06-03 12:19:43 -07:00
Thomas Reynolds e26b68635f Haml wrap_layout passes again 2012-06-02 14:19:45 -07:00
Ben Hollis efa846341d Update nested_layout tests to show that Haml still doesn't work right. Also updated Slim and ERb tests to verify ordering of output. 2012-06-02 00:35:03 -07:00
Thomas Reynolds 2ab294c602 Fix wrap_layout for all know templating engines. Fixes #417 2012-06-01 20:08:28 -07:00
Ben Hollis 9b5d1f17d0 Test showing wrap_layout is still broken when used with haml 2012-06-01 19:05:55 -07:00
Ben Hollis d8d4769702 Fix nested layouts for ERB 2012-06-01 19:05:55 -07:00
Thomas Reynolds deb6bddaf6 Pathname.exist? != File.exists? 2012-06-01 19:05:32 -07:00
Thomas Reynolds 00f232cf20 Merge pull request #450 from middleman/file_watcher_use_pathname
Use pathname consistently in file watcher
2012-06-01 18:57:21 -07:00
Thomas Reynolds f9b7188986 Bump activesupport 2012-05-31 19:11:12 -07:00
Thomas Reynolds 2535ce2c90 fix // search and replace typo 2012-05-28 22:01:36 -07:00
Thomas Reynolds b02ee61639 Weird block scoping issue in old Ruby 2012-05-28 14:09:43 -07:00
Thomas Reynolds 51e1de54f6 Be more defensive against middleman-sprockets missing 2012-05-28 13:30:54 -07:00
Thomas Reynolds 67e78f20c7 Move renderers into core, but don't require gems and only register templates if gems present 2012-05-28 13:19:40 -07:00
Thomas Reynolds 2e5b0d75a9 Use pathname consistently in file watcher 2012-05-26 17:48:58 -07:00
Thomas Reynolds 0788ebce15 Avoid layouts on sass 2012-05-26 14:27:26 -07:00
Thomas Reynolds 3b847696ff Load from root bundler when running from git 2012-05-26 14:15:36 -07:00
Thomas Reynolds 8d483f882c Move Sprockets into an extension 2012-05-26 13:43:27 -07:00
Thomas Reynolds f8c64f25ec Put test ENV in the right place so cucumber/rake both work 2012-05-25 18:19:11 -07:00
Thomas Reynolds b5b6349220 Only allow frontmatter on first line, unless we have a ruby 1.9 encoding comment, then allow it on the second line. Fixes #446 2012-05-25 13:17:22 -07:00
Thomas Reynolds dcdbf3e110 change json frontmatter delimeter to the ironic ;;; to avoid interfering with mustache {{{ 2012-05-25 12:52:04 -07:00
Thomas Reynolds d79acc7a78 Make i18n a normal extension with options 2012-05-24 16:51:36 -07:00
Thomas Reynolds 64f84bacd2 asset urls, padrino helpers and i18n belong in more 2012-05-24 16:31:21 -07:00
Thomas Reynolds 1cad726c81 Move off-by-default extensions into middleman-more, make middleman-more itself an extension 2012-05-24 16:14:17 -07:00
Thomas Reynolds 182ad87ad3 Catch Psych::SyntaxError. Related to #446 2012-05-24 14:04:25 -07:00
Thomas Reynolds 94c5f32853 Re-arrange CLI loads for hopefully faster startup time 2012-05-24 11:18:49 -07:00
Thomas Reynolds fffa80a987 Backwards compatibility with old Rack aPI. Fixes #447 2012-05-24 11:01:46 -07:00
Thomas Reynolds b202e71348 Preview server must set environment as a symbol. Fixes #445 2012-05-24 10:34:46 -07:00
Thomas Reynolds 955eb03908 Remove double NAME in extension cli task 2012-05-23 10:35:16 -07:00
Thomas Reynolds 2c058ee3de Couple of fixes, specifically an issue with frontmatter layout setting 2012-05-22 19:11:54 -07:00
Ben Hollis 2b2759fb77 Don't accidentally start a new file listener every time the server reloads 2012-05-19 23:17:13 -07:00
Ben Hollis e766e753e8 Fix file watcher by referencing the right list of paths 2012-05-19 23:05:06 -07:00
Ben Hollis 7598165909 Write directory_indexes based on destination_path so it plays well with other manipulators 2012-05-19 22:05:58 -07:00
Thomas Reynolds c117415913 Merge pull request #436 from middleman/rack_reloader
Rely on Webrick directly for preview, makes quick app reloading simple.
2012-05-19 22:01:39 -07:00
Thomas Reynolds 671dcde65f Merge pull request #438 from bhollis/link_to
Make link_to magical
2012-05-19 19:43:42 -07:00
Thomas Reynolds 3412af346e Rely on Webrick directly for preview, makes quick app reloading simple. 2012-05-19 19:41:22 -07:00
Ben Hollis c775a9973c Handle relative path urls in link_to, and add an option to produce relative links as well. Or, set :relative_links in config.rb to turn on relative links for all link_to calls. 2012-05-19 19:24:37 -07:00
Ben Hollis fc9c5e5fa2 Properly clear frontmatter cache when files change, and calculate frontmatter in the right order so resource_list_manipulators can see it. 2012-05-19 18:47:43 -07:00
Ben Hollis 7ad0f51d1a Always return HashWithIndifferentAccess from frontmatter data 2012-05-19 18:46:58 -07:00
Ben Hollis 64a2933161 Remove duplicate server methods and solve webrick logging in a platform-independent way 2012-05-16 21:19:03 -07:00
Thomas Reynolds 8c87bbc757 Handle .htc files [no-ci] 2012-05-12 08:48:03 -07:00
Ben Hollis 8d101552f3 Log to NUL: in Windows because apparently that's their name for /dev/null. Fixes #421 2012-05-10 22:12:55 -07:00
Thomas Reynolds 1022e63cee Avoid bundler on travis 2012-05-10 16:32:43 -07:00
Thomas Reynolds ed50d4326a Try to avoid running bundler in tests on Travis 2012-05-10 16:07:11 -07:00
Thomas Reynolds d4bccd76ab Don't hide bundler output [no-ci] 2012-05-10 15:07:19 -07:00
Thomas Reynolds 190be5f515 Bundler CLI commands 2012-05-10 15:06:06 -07:00
Thomas Reynolds 7c8baee246 Ignore ~ temp files [no-ci] 2012-05-10 14:05:28 -07:00
Thomas Reynolds 162622c453 JSON frontmatter and allowing frontmatter to be located after a encoding value 2012-05-09 13:33:14 -07:00
Thomas Reynolds 7929ed6c75 Refactor Frontmatter to use sitemap manipulators. Also fixes #422 2012-05-08 21:10:41 -07:00
Thomas Reynolds d55fef62b4 Remove usage of autoload statement in favor of require 2012-05-07 14:41:39 -07:00
Thomas Reynolds 557239e0d6 include inflections. closes #418 2012-05-05 19:59:02 -07:00
Ben Hollis 35d1a67dd1 Generate a .gitgnore file by default. Fixes #375. 2012-05-04 21:11:11 -07:00
Thomas Reynolds cb65916e6d newer listen gem 2012-05-03 19:31:25 -07:00
Thomas Reynolds 0be82d371e new extension cli 2012-05-02 15:59:36 -07:00
Thomas Reynolds 7b8457d963 Yard doc cleanup 2 2012-05-02 11:18:16 -07:00
Thomas Reynolds 2965e3709d Yard doc cleanup 2012-05-02 11:13:48 -07:00
Thomas Reynolds 1855745d8e Merge pull request #411 from middleman/request_module
Split out Request handling into an Extension. Dup the Application when responding
2012-05-02 11:13:37 -07:00
Ben Hollis 1c67871d44 Fix gemspecs for filenames with unicode paths 2012-05-01 22:57:56 -07:00
Thomas Reynolds 342044a01d Split out Request handling into an Extension. Dup the Application (like Sinatra) when responding 2012-05-01 13:11:42 -07:00
Ben Hollis 8d6739b15b I shouldn't code late at night 2012-05-01 00:47:36 -07:00
Ben Hollis 8f861fef06 Un-optional a parameter in hopes of fixing rbx build 2012-05-01 00:37:00 -07:00
Ben Hollis 380dac270d Switch content_type param order for 1.8 2012-05-01 00:22:16 -07:00
Ben Hollis 778626c6ec Make Middleman somewhat more threadsafe and switch back to webrick. 2012-04-30 22:38:57 -07:00
Ben Hollis 713350e294 Disable unicode build test for now 2012-04-30 21:29:33 -07:00
Thomas Reynolds 00a7a1969e Merge pull request #408 from bhollis/unicode
Support Unicode characters in filenames
2012-04-30 08:31:06 -07:00
Thomas Reynolds 3d129b8523 Merge pull request #409 from bhollis/metadata
Add Resource#add_metadata for attaching metadata directly to a resource
2012-04-29 23:08:28 -07:00
Ben Hollis bc435cc2e2 Add Resource#add_metadata for attaching metadata directly to a resource 2012-04-29 22:32:52 -07:00
Thomas Reynolds ade26a8d20 Merge pull request #407 from bhollis/windows
Don't install signal handlers on Windows
2012-04-29 22:28:13 -07:00
Ben Hollis dddd409336 Support Unicode characters in filenames, both in source filenames and in the names of proxied paths. Fixes #332. 2012-04-29 21:42:45 -07:00
Ben Hollis a2ad7f26cd Don't install signal handlers on Windows 2012-04-29 19:24:50 -07:00
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 240f67410d Use config.rb file contents in minify test cases instead of fixtures 2012-04-26 14:07:10 -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
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
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 5fde3996f7 Enable i18n tests 2012-04-14 14:13:16 -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 313f6f8214 don't need ext, handled by listen gem 2012-04-09 19:06:54 -07:00
Thomas Reynolds 5d1961ba86 bump listen dep 2012-04-09 14:23:58 -07: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 d51056cb26 Fix CLI tests now that we generate a Gemfile by default 2012-03-24 20:37:15 -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
Ben Hollis 6edefe3c68 Further tweaks that expose another bug - ignore with proxies leads to Not Found errors. Same issue as #302. 2012-03-11 23:09:43 -07:00
Ben Hollis 9555266ac1 Variables not passed to proxies when they are built. Possibly related to issue #302. 2012-03-11 22:49:21 -07:00
Ben Hollis 54b5304264 Ignore pidfiles 2012-03-11 22:40:54 -07:00
Thomas Reynolds 7d7f9a20ef i18n not ready for primetime yet 2012-03-10 19:40:04 -08:00
Thomas Reynolds 08f5e64858 bump listen dep 2012-03-10 18:57:47 -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 e7df250c4d Include "i18n" gem in middleman-core gemspec 2012-03-08 23:05:59 -08:00
Ben Hollis 4830f51664 Fix current_page 2012-03-07 22:08:41 -08:00
Ben Hollis efe1d45af7 Rewrite sitemap_traversal tests to better reflect what should actually happen, and to expose a bug in current_page. 2012-03-07 22:08:41 -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
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