Commit graph

893 commits

Author SHA1 Message Date
Thomas Reynolds e996868033 Depend on new i18n gem, silence deprecation warning 2013-12-25 16:52:29 -08:00
Thomas Reynolds b6361c23f7 prep new release 2013-12-18 14:56:21 -08:00
Thomas Reynolds a1090f912c fix issue with UTF-8-MAC paths not matching UTF-8 paths in build clean 2013-12-18 14:54:07 -08:00
Ben Hollis f9728108cc Fix Mac filenames patch 2013-12-15 16:06:55 -08:00
Thomas Reynolds 70744aa63f fix typo 2013-12-13 08:30:19 -08:00
TMaYaD 8b87670024 Allow path to be passed to page_classes
This allows tagging navigation links etc. in other pages with page classes
2013-12-13 13:07:00 +05:30
Thomas Reynolds 0a264fd3c2 Merge pull request #1116 from bhollis/gzip
Parallelize gzip extension using threads
2013-12-11 10:40:29 -08:00
Ben Hollis 39a9331232 Commit 8e99d39570 introduced a serious regression by encoding filenames within a "delete_if" block, meaning that every path in the list of all previously built files was re-encoded every time a file was built. For large projects this causes serious slowdowns - for a 4000 file test, it went from 14s to build to around 8 minutes to build. This change fixes the builder to only encode files when the file list is initially build, removing the bottleneck. 2013-12-10 22:11:59 -08:00
Ben Hollis 54bc3e44f7 Parallelize gzip extension using four threads 2013-12-10 22:06:41 -08:00
Ben Hollis 1f6904c0fc Set locale to :en around gzip extension while it works. It was originally only set for one message, not the whole extension. 2013-11-30 22:59:19 -08:00
Ben Hollis 9e8a16cd6d Switch back to single-variable storage for Sitemap::Resource#destination_path 2013-11-27 00:19:59 -08:00
Ben Hollis 63b53077ff Oops had not meant to commit this yet. Anyway, it makes the "helpers" method on Extension able to take a module directly instead of just a block. 2013-11-25 01:10:10 -08:00
Ben Hollis 34d399f580 Fix yard options 2013-11-25 00:12:39 -08:00
Ben Hollis 7ad5b2bdef Ignore this new .cache folder that's shown up 2013-11-24 23:31:51 -08:00
Ben Hollis fc20a761de Fix extension configs meta page to correctly handle multiple instance extensions like blog 2013-11-24 22:13:33 -08:00
fukayatsu 8e99d39570 Handle UTF-8-MAC filename on MacOS 2013-11-24 02:10:46 +09:00
Thomas Reynolds 6b6e9b143d actually add new padrino 2013-11-22 08:47:07 -08:00
Thomas Reynolds 48db12429a upgrade padrino. closes #1078 2013-11-19 18:10:39 -08:00
Ben Hollis 3347403d3a Fix typo 2013-11-19 00:17:50 -08:00
Ben Hollis 7f1285a773 Move to flat_map now that we don't use 1.8 2013-11-18 22:22:18 -08:00
Paul C Pederson 56343c84ed localization by filename extension 2013-11-18 10:20:42 -08:00
Thomas Reynolds f136af2aad TODO 2013-11-15 11:26:27 +00:00
Thomas Reynolds 8a18da4e3d Merge pull request #1071 from stevenosloan/fix_paths_for_meta_pages
use absolute paths for meta_page assets/links
2013-11-14 08:47:09 -08:00
Thomas Reynolds 95c0fe60ac whoops, bad rename 2013-11-14 16:44:37 +00:00
Steven Sloan d183858091 make meta page asset paths absolute to fix the issue of trailing/non-trailing slashes causing path problems on meta pages 2013-11-13 22:23:03 -05:00
Thomas Reynolds 4da2b02d70 Merge branch 'master' of github.com:middleman/middleman 2013-11-12 11:12:02 +00:00
Thomas Reynolds b813db397f actually wire up auto alt tags. Finally fixes #782 2013-11-12 11:11:33 +00:00
Takehiro SUGITA 19908ca81a Add -B option as an alias to --skip-bundle 2013-11-08 19:45:49 +09:00
Thomas Reynolds e0a4b8f17d dont route kramdown mailto links through link_to. Closes #1058 2013-10-30 09:18:25 -07:00
Thomas Reynolds 22c977d426 Merge branch 'master' of github.com:middleman/middleman 2013-10-29 09:44:22 -07:00
Thomas Reynolds 2cd5edf114 bump to 3.2.0 2013-10-29 09:44:19 -07:00
Thomas Reynolds ca4935361b drop Ruby 1.8, add some extra tests 2013-10-29 09:43:56 -07:00
Thomas Reynolds 19c155349d Merge pull request #1044 from mojavelinux/asciidoc-renderer
resolves #1043 added a renderer for AsciiDoc files
2013-10-29 09:37:36 -07:00
Thomas Reynolds 9a2c1533e3 make page_classes prefix configurable 2013-10-29 09:33:27 -07:00
Thomas Reynolds 1e57eb5c1b Merge pull request #1049 from bhollis/classes
Clean page classes of invalid CSS characters
2013-10-29 09:23:05 -07:00
Andrew e8de5907fa Actually fix the issue, rather than pretending to 2013-10-25 18:09:36 +11:00
Andrew 2e70cc5d99 Update queryable interface so that it doesn't mutate 2013-10-25 14:48:23 +11:00
Thomas Reynolds 87aa288f1e Merge pull request #1054 from bhollis/reload
Gracefully handle syntax (and other) errors when reloading config.rb.
2013-10-21 10:37:36 -07:00
Thomas Reynolds 764efe65cd Merge pull request #1053 from bhollis/logging
Allow logging to be sent to a file
2013-10-21 10:37:02 -07:00
Thomas Reynolds 13511f9323 Merge pull request #1052 from bhollis/builder
Refactor the Build CLI code to be easier to read
2013-10-21 10:36:44 -07:00
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 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
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
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
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 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
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 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 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 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
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
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
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 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 15cfbd3b51 bump 2013-05-16 17:03:32 -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
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 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 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 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