Ben Hollis
e03ef4226a
Cache the filtered resource list to avoid calling Resource#ignored? a ton
2013-05-26 16:38:28 -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
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
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
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
923697b517
Micro-optimizations around string comparisons
2013-02-09 15:21:52 -08:00
Thomas Reynolds
45ddc0c344
Make Sitemap metadata queryable with arel-style API
2012-12-25 16:05:54 -08: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
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
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
Ben Hollis
6c241603ac
Delay recalculating sitemap until absolutely necessary, avoiding redundant recalculations.
2012-09-16 19:36:47 -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
Ben Hollis
62fa17cf1a
Reduce work converting paths from relative to absolute and back again
2012-07-19 01:18:55 -07:00
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
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
d55fef62b4
Remove usage of autoload statement in favor of require
2012-05-07 14:41:39 -07:00
Thomas Reynolds
2965e3709d
Yard doc cleanup
2012-05-02 11:13:48 -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
1d583caf40
Merge pull request #381 from bhollis/speedup
...
Two speedups
2012-04-24 09:57:19 -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
Thomas Reynolds
83178031d2
Merge pull request #371 from bhollis/speedup
...
Speed up builds
2012-04-23 10:29:06 -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
9be76da3cf
Simplify populating the sitemap lookup cache
2012-04-20 21:59:20 -07:00
Thomas Reynolds
b97f681ef1
Move file extension methods up a level
2012-04-19 15:47:47 -07:00
Thomas Reynolds
d2d40079cc
Rename Middleman::Base to Middleman::Application
2012-04-14 14:04:10 -07: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
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
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
b2f6d0db09
Get rid of some unused stuff in sitemap and complete documentation
2012-03-26 21:40:30 -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
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
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
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
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
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
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
Thomas Reynolds
e3b15366cb
ignore globs, mostly working, except with directory indexes
2012-01-14 14:09:20 -08:00
Thomas Reynolds
0ac9c0b662
document sitemap, make ignore accept paths, regexps and blocks
2012-01-07 16:57:50 -08:00
Thomas Reynolds
c8a134a386
split into middleman-core and middleman-more
2011-12-29 15:09:51 -08:00