Commit Graph

94 Commits (42e31c8c5ebc4580d391353fe69f391f8d0a708c)

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
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
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
Thomas Bruketta 4918704800 Allow numbers to be unique page_ids (#1886) 2016-04-25 09:51:11 -07:00
Thomas Reynolds 0f2bc1e0ea Minor perf tweaks 2016-04-21 16:12:33 -07:00
Thomas Reynolds 0d983231d0 Run helper after collections. Fixes #1226 2016-02-24 14:20:42 -08:00
Thomas Reynolds edb1a53060 Add page_id concept 2016-02-22 11:17:21 -08:00
Thomas Reynolds 0c29fd4abf Make templates extensions with layouts configurable 2016-01-26 13:21:39 -08:00
Thomas Reynolds b8c0fd34e7 additional perf work 2016-01-22 14:25:02 -08:00
Thomas Reynolds 5586784947 Add some options to watcher to opt out of features later 2016-01-20 13:34:12 -08:00
Thomas Reynolds ffa662a917 Add system-wide file read cache 2016-01-20 11:50:25 -08:00
Thomas Reynolds d82ac590db Cop 2016-01-14 11:21:42 -08:00
Thomas Reynolds 5f8beba4b3 Perf 2016-01-14 11:05:41 -08:00
Thomas Reynolds 179268a4f6 Create ConfigExtension to simplify the APIs for config vs Step. Fixes #1743. Fixes #1745 2016-01-11 13:05:41 -08:00
Thomas Reynolds 822a9f0ecc Fix layout detection on non-html files 2015-11-27 14:26:34 -08:00
Thomas Reynolds 4594f46fb8 Minor tweak to #1695 2015-11-27 14:16:55 -08:00
Thomas Reynolds 684a80c906 Change no-layout to the default, except for .html 2015-11-11 12:58:07 -08:00
Thomas Reynolds e9abfe1134 rubocop 2015-10-01 13:54:54 -07:00
Thomas Reynolds d9fc7a95e1 Fix a bad i18n regression 2015-09-28 14:52:16 -07:00
Thomas Reynolds 409a892da7 Forward port some stable changes 2015-09-17 09:41:17 -07:00
Thomas Reynolds 441dc2faa6 Revert breaking resource source_file api. For #1595 2015-09-09 11:55:56 -07:00
Thomas Reynolds bb6b8c7f13 Replace Hamster hash for user-accessible data with Hashie Indifferent access 2015-08-12 15:29:06 -07:00
Thomas Reynolds 22ce56492f Experiment with Hamster 2015-04-24 10:28:03 -07:00
Thomas Reynolds 55c5a46440 Update contracts gem. #1494 2015-04-24 10:26:42 -07:00
Thomas Reynolds c94e5d0f4d Merge from stable 2015-02-24 11:16:16 -08:00
Thomas Reynolds ee4c68b03c prep alpha, backwards compat 2014-12-23 14:54:21 -08:00
Thomas Reynolds 29693e4533 More URI encoding and decoding. Addresses #1406 2014-11-19 10:39:48 -08:00
Thomas Reynolds a95dbb6367 Collections 2014-10-15 14:34:53 -05:00
Thomas Reynolds 0d2bcbabe9 Remove duplicate attr_accessor. Closes #1352 2014-08-20 09:48:55 -07:00
Thomas Reynolds bedf235ff6 Multiple Source watchers 2014-07-20 18:57:22 -07:00
Thomas Reynolds 1f3e2043cb Deep freeze IndifferentAccess. 2014-07-14 13:19:34 -07:00
Thomas Reynolds 6ccab8e071 Name things :) 2014-07-10 12:35:47 -07:00
Thomas Reynolds 0185d37473 Experiment with Contracts 2014-07-08 18:18:17 -07:00
Ben Hollis a1fe810a50 Fixup after rebase 2014-07-07 22:12:44 -07:00
Ben Hollis bf4310697d Move proxy/ignore/content_type Resource methods into the Resource class 2014-07-06 16:19:33 -07:00
Ben Hollis 0cbc232dac Remove neighbor frontmatter support 2014-07-06 16:15:43 -07:00
Thomas Reynolds 3a2cab4775 Whoops, leftover include 2014-07-04 10:41:25 -07:00
Thomas Reynolds 1bd7dab1a3 Make a ProxyResource which extends Resource, rather than injecting methods into Resource 2014-07-04 10:38:25 -07:00
Ben Hollis 2beb774eb9 Put back request_path, I get it now 2014-06-14 11:31:53 -07:00
Ben Hollis bf8f02d563 Turn routing into an extension 2014-06-14 11:31:52 -07:00
Ben Hollis adfad92f8f Get rid of raw_data 2014-06-14 11:31:52 -07:00
Ben Hollis 5c04c2f42b More trimming 2014-06-14 11:31:52 -07:00
Ben Hollis d83d6e077c Extensionize liquid, bring back provides_metadata_for_path 2014-06-14 11:31:52 -07:00
Ben Hollis c285848866 Clean up i18n a bit, stake out some territory around routing and resource 2014-06-14 11:31:52 -07:00
Ben Hollis 69396d34c1 Start gutting the provides_metadata methods and move some of frontmatter over 2014-06-14 11:31:52 -07:00
Thomas Reynolds f513ab77b3 Rubocop'd 2014-04-29 11:43:05 -07:00
Thomas Reynolds 6760d855bc hashrocket killa 2014-04-29 10:50:21 -07:00
Thomas Reynolds 8eabe4d354 rubocop 2: the reckoning 2014-04-29 10:44:24 -07:00
Thomas Reynolds 04dc48f13d Great rubocop-ing 2014-04-28 16:02:18 -07:00
Thomas Reynolds 4b53549ae4 Merge in recent changes from v3-stable 2014-04-08 09:27:18 -07:00