Commit graph

3164 commits

Author SHA1 Message Date
Jonathan Allard
42e31c8c5e Make .html implicit for page IDs (#1996)
* Make .html implicit for page IDs

* Add Pry gem

* Add setting :page_id_generator to override page ID derivation
2016-11-16 21:00:16 -08:00
sandstrom
046d15cfa5 Fix addressable require (#2009) 2016-11-16 20:59:25 -08:00
Thomas Reynolds
5adea781c9 Fix up tests 2016-11-04 08:23:33 -07:00
James Pearson
97082d5fc4 Added addressable to the gemfile (#2001)
addressable is required for middleman init, but was not installed as part of a fresh install of Middleman
2016-11-04 07:56:30 -07:00
René Klačan
604c0e2b5d Fix source watcher configuration (#1999)
* Fix source watcher configuration

* Keep old Sources#initialize signature

* Poll source on path change
2016-10-31 10:50:03 -07:00
Mike Vastola
7c968b9572 Updates to support Rails 5, Rack 3 and Sinatra 2 (beta) (#1984)
* Updates to support Rails 5, Rack 3 and Sinatra 2 (beta).

- Bump upper boundary of version for Rack dependency from 2.0 to 3 (exclusive).
- Version bump sinatra for CI testing to >= 2.0.0.beta2.
- Also replaces use of String#hash in middleman-core/features/asset_host.feature
to ensure sufficiently random variables are returned.

Closes middleman/middleman#1983.

* Testing revert of the version requirements...

To confirm my changes don't cause a regression for any of:
- Rails < 5
- Sinatra < 2
- Rack < 2

* Revert "Testing revert of the version requirements..."

This reverts commit 5cf4c2a07c0814eefa573358b1bc9b0eeb62f9c1.
2016-09-13 10:25:17 +02:00
Kevin Glowacz
197093b36c Tilt 2 (#1974)
* Updates for mappings change in tilt 2

* drop RedcarpetTemplate::Redcarpet2 which was removed in tilt 2

* require Tilt 2.0 or higher

* Make use of tilt 2's extensions_for method instead
2016-09-09 00:18:34 +02:00
Kevin Glowacz
ea2115f3f8 Allow for activesupport 4.2 again (#1976)
There is no current reason to remove support for 4.2
This now makes for a backwards compatible change whereas before this would
have called for a new major version of middleman-core
2016-08-30 17:22:31 -07:00
Thomas Reynolds
07651c63a6 Update Ruby version requirement. 2016-08-13 15:41:19 -07:00
Mark Rowe
65462cbc43 Improve performance of ignoring files (#1971)
* Determine the type of ignore pattern once per pattern.

Performing this work when checking when each file was ignored accounted
for around 4.5 of the 6 seconds that processing ignored files was taking
on a site with ~14,000 files and a small number of ignore patterns.
After this change, processing ignored files takes less than 1.5 seconds.

* Cache the normalized paths on Resource and SourceFile.

Normalizing the paths is expensive, so avoid doing it multiple
times. `Util::normalize_path` is marked as memoized, but this
is not effective as:

1. `memoize` doesn't appear to work with module functions.
2. Checking whether we have a memoized value is as expensive as
   normalizing the path.

This further drops the time it takes to process ignored files on a site
with ~14,000 files from ~1.5 seconds to ~0.6 seconds.
2016-08-12 16:33:18 -07:00
Eliott Appleford
c264b05906 Merge pull request #1970 from bdash/source_watcher-poll_once-perf
Eliminate quadratic behavior in SourceWatcher::poll_once!
2016-08-11 10:02:38 +01:00
Mark Rowe
dcd36a4f99 Eliminate quadratic behavior in SourceWatcher::poll_once!.
Both `Array#reject` and `Array#include?` have linear time
complexity. This results in quadratic time complexity when
`Array#include?` is called within `Array#reject`'s block. Using
`Array`'s difference operator gives the same result in linear time.

In a site with ~14,000 files, this drops the time taken by some calls to
`SourceWatcher::poll_once!` from ~15 seconds each to just a few
milliseconds.
2016-08-11 00:24:42 -07:00
Thomas Reynolds
7027b4933a Update .travis.yml 2016-08-03 13:00:25 -07:00
Peter Sankauskas
cbad571338 Updating to activesupport version 5 (#1967) 2016-08-03 12:59:57 -07:00
sandstrom
ffef14deb4 Create ISSUE_TEMPLATE.md (#1966) 2016-07-29 09:00:10 -07:00
Thomas Reynolds
62dba443a0 Fix japanese characters encoding in URLs 2016-07-10 17:03:22 -07:00
Adam Heath
389e3f5a8c Add prefix option to asset_hash (#1949)
This allows manually changing the filename so that fiel header changes
can be reflected on the CDN. E.g. if you turn on crossOrigin serving
(CORS) the asset hash doesn't change, but the CDN cache needs to be
broken in order to pickup the new header.
2016-07-02 17:55:25 -07:00
Thomas Reynolds
ea39d16d81 Try to be safe 2016-06-23 12:41:23 -07:00
Peter Suschlik
1581bfc27e Convert latency option to a Fixnum (#1928)
As @vill pointed out in https://github.com/middleman/middleman/issues/1866#issuecomment-222869287
passing `--watcher-latency=2` fails because the gem `listen` expects `latency` to be an `Fixnum`.

This commit fixes this issue.
2016-06-01 14:19:13 -07:00
Thomas Reynolds
e8f10fe3c2 prep 2016-05-31 13:15:37 -07:00
Thomas Reynolds
1efa585c11 Fix #1866 2016-05-31 13:15:37 -07:00
Shawn Van Ittersum
0d5c9e4313 Prevent overwrite of Slim embedded options (#1927)
* Fix middleman/middleman#1925: Slim embedded options overwrite

* Remove context_hack from Slim renderer

* Remove debugging output
2016-05-31 13:15:21 -07:00
Thomas Reynolds
51ccfe1143 only encode if current path is broken 2016-05-25 11:25:24 -07:00
Thomas Reynolds
4ffaa9dde5 Try to encode URI before parsing so spaces in paths work. Fixes #1914 2016-05-25 11:13:59 -07:00
Thomas Reynolds
6440d53e7a Add support for dotenv 2016-05-25 10:54:49 -07:00
Ben Hollis
38a9025560 Fix asset_url with asset_hash (#1919)
* Fix asset_url with asset_hash.

* Fix asset hashes.
2016-05-22 12:31:53 -07:00
Steven Sloan
5de9e86a55 allow partial lookups without a current_resource (#1912)
current_resource is only needed for relative lookups, so for lookups from source allow them to run without a current resource.
2016-05-13 13:01:21 -07:00
Thomas Reynolds
ccc1cc1288 Fix ordering in tests 2016-05-11 11:48:21 -07:00
Thomas Reynolds
849fc65260 prep 2016-05-11 10:59:48 -07:00
Matthew Lehner
3e4187568b require the try core extension (#1911) 2016-05-10 15:17:28 -07:00
PiotrMisiurek
1c57626445 Fix contract for Sitemap::Store.register_resource_list_manipulator (#1907)
Contract said that optional param priority can be only a number.
But the code also handle the boolean as a value to be compatibile
with old versions

Change contract to accept both Num and Bool
2016-05-06 00:12:03 -07:00
Steven Sloan
cf4d40caff loosen contract on Resource#source_file to Maybe[String] (#1906)
this could legitimately return nil if there is no file_descriptor, as would be the case for a StringResource
2016-05-05 09:08:29 -07:00
Dennis Günnewig
599cf1e6d3 Use https:// to clone templates (#1901)
Using git://-protocol for cloning git repositories does not work via
HTTP proxies. By replacing it with https:// instead it works for more
users.
2016-04-29 14:23:55 -07:00
Thomas Reynolds
3ebd902ec3 Move capybara dep 2016-04-28 15:44:50 -07:00
Thomas Reynolds
158c3e9f25 Test new ruby 2016-04-28 08:47:48 -07:00
Thomas Reynolds
cdcd2bd42d Expose development? and production? helpers to template context. Related #1895 2016-04-26 09:24:49 -07:00
Thomas Bruketta
4918704800 Allow numbers to be unique page_ids (#1886) 2016-04-25 09:51:11 -07:00
Nick Giancola
8a8ee768ac Fix/issue 1889 (#1892)
* Add regression test for infinite loop issue in Util::step_through_extensions (#1889)

* Prevent infinite loop when encountering files where base filename is a possible templating engine
2016-04-25 09:50:51 -07:00
Thomas Reynolds
71a20bb3ee Merge pull request #1891 from danielbayerlein/incompatibility-of-listen
Incompatibility of listen with Ruby < 2.2
2016-04-24 16:59:07 -07:00
Daniel Bayerlein
ce58073539 Incompatibility of listen with Ruby < 2.2 fixed 2016-04-24 09:57:13 +02:00
Thomas Reynolds
13d62cb276 Experiment with non-rack rewriters 2016-04-22 15:52:42 -07:00
Thomas Reynolds
0f2bc1e0ea Minor perf tweaks 2016-04-21 16:12:33 -07:00
Thomas Reynolds
a14934e08b Merge pull request #1888 from mortonfox/patch-1
Fix RubyInstaller Devkit link.
2016-04-20 14:22:42 -07:00
Morton Fox
a95f721490 Fix RubyInstaller Devkit link. 2016-04-20 00:27:15 -04:00
Thomas Reynolds
2b0f720850 Bad merge 2016-04-19 11:54:00 -07:00
Thomas Reynolds
b386dcdc40 Fix #1884 for realz 2016-04-19 11:08:23 -07:00
Thomas Reynolds
0ac5650229 Throw when trying to overwrite a template context value. Fixes #1884 2016-04-19 11:06:51 -07:00
Thomas Reynolds
7e3baed196 Throw when trying to overwrite a template context value. Fixes #1884 2016-04-19 10:37:23 -07:00
Thomas Reynolds
09a7d89fd3 Throw when trying to overwrite a template context value. Fixes #1884 2016-04-19 10:36:49 -07:00
Thomas Reynolds
6872e07d34 Expose extensions in config. Helps middleman/middleman-sprockets#111 2016-04-17 13:02:23 -07:00