hugo/resources/page
Bjørn Erik Pedersen 4ef9baf5bd Only invoke a given cached partial once
Note that this is backed by a LRU cache (which we soon shall see more usage of), so if you're a heavy user of cached partials it may be evicted and
refreshed if needed. But in most cases every partial is only invoked once.

This commit also adds a timeout (the global `timeout` config option) to make infinite recursion in partials
easier to reason about.

```
name              old time/op    new time/op    delta
IncludeCached-10    8.92ms ± 0%    8.48ms ± 1%   -4.87%  (p=0.016 n=4+5)

name              old alloc/op   new alloc/op   delta
IncludeCached-10    6.65MB ± 0%    5.17MB ± 0%  -22.32%  (p=0.002 n=6+6)

name              old allocs/op  new allocs/op  delta
IncludeCached-10      117k ± 0%       71k ± 0%  -39.44%  (p=0.002 n=6+6)
```

Closes #4086
Updates #9588
2023-01-25 17:35:23 +01:00
..
page_generate Improve error messages, esp. when the server is running 2022-05-06 19:43:22 +02:00
pagemeta all: gofmt -w -r 'interface{} -> any' . 2022-03-17 22:03:27 +01:00
integration_test.go Fix permalinks issue with repeated sections 2023-01-17 12:49:16 +01:00
page.go Misc doc, code refactoring to improve documentation 2023-01-04 18:01:26 +01:00
page_author.go Remove references to Google+ 2019-05-26 19:24:45 +02:00
page_data.go all: gofmt -w -r 'interface{} -> any' . 2022-03-17 22:03:27 +01:00
page_data_test.go all: Format code with gofumpt 2020-12-03 13:12:58 +01:00
page_kinds.go Rename taxonomy kinds from taxonomy to term, taxonomyTerm to taxonomy 2020-06-18 09:09:56 +02:00
page_kinds_test.go all: Format code with gofumpt 2020-12-03 13:12:58 +01:00
page_lazy_contentprovider.go Revise the fix for shortcode vs output format nilpointer 2022-10-26 13:00:21 +02:00
page_marshaljson.autogen.go Misc doc, code refactoring to improve documentation 2023-01-04 18:01:26 +01:00
page_matcher.go Improve error messages, esp. when the server is running 2022-05-06 19:43:22 +02:00
page_matcher_test.go Localize all the GroupBy*Date methods 2022-04-05 16:11:11 +02:00
page_nop.go Misc doc, code refactoring to improve documentation 2023-01-04 18:01:26 +01:00
page_outputformat.go Fix surprise OutputFormat.Rel overwriting 2022-01-04 10:38:38 +01:00
page_paths.go media: Make Type comparable 2021-03-14 15:21:54 +01:00
page_paths_test.go media: Make Type comparable 2021-03-14 15:21:54 +01:00
page_wrappers.autogen.go Finally remove deprecated Page methods 2022-02-14 13:24:36 +01:00
pagegroup.go Some godoc adjustments and image struct renames 2022-04-27 23:53:56 +02:00
pagegroup_test.go GroupByParamDate now supports datetimes 2020-12-28 17:50:55 +01:00
pages.go Some godoc adjustments and image struct renames 2022-04-27 23:53:56 +02:00
pages_cache.go all: Format code with gofumpt 2020-12-03 13:12:58 +01:00
pages_cache_test.go tests: Convert from testify to quicktest 2019-08-12 13:26:32 +02:00
pages_language_merge.go all: gofmt -w -r 'interface{} -> any' . 2022-03-17 22:03:27 +01:00
pages_prev_next.go all: Fix minor typos 2020-12-16 12:11:32 +01:00
pages_prev_next_test.go all: Format code with gofumpt 2020-12-03 13:12:58 +01:00
pages_related.go Improve error messages, esp. when the server is running 2022-05-06 19:43:22 +02:00
pages_related_test.go all: gofmt -w -r 'interface{} -> any' . 2022-03-17 22:03:27 +01:00
pages_sort.go Make string sorting (e.g. ByTitle, ByLinkTitle and ByParam) language aware 2022-04-12 13:24:16 +02:00
pages_sort_search.go all: Format code with gofumpt 2020-12-03 13:12:58 +01:00
pages_sort_search_test.go all: Format code with gofumpt 2020-12-03 13:12:58 +01:00
pages_sort_test.go Localize all the GroupBy*Date methods 2022-04-05 16:11:11 +02:00
pages_test.go all: gofmt -w -r 'interface{} -> any' . 2022-03-17 22:03:27 +01:00
pagination.go Misc doc, code refactoring to improve documentation 2023-01-04 18:01:26 +01:00
pagination_test.go all: gofmt -w -r 'interface{} -> any' . 2022-03-17 22:03:27 +01:00
permalinks.go Fix permalinks issue with repeated sections 2023-01-17 12:49:16 +01:00
permalinks_test.go Fix permalinks issue with repeated sections 2023-01-17 12:49:16 +01:00
site.go Only invoke a given cached partial once 2023-01-25 17:35:23 +01:00
taxonomy.go Misc doc, code refactoring to improve documentation 2023-01-04 18:01:26 +01:00
testhelpers_test.go Misc doc, code refactoring to improve documentation 2023-01-04 18:01:26 +01:00
weighted.go Some godoc adjustments and image struct renames 2022-04-27 23:53:56 +02:00
zero_file.autogen.go Make the deprecated Page/File methods (from Hugo 0.55) ERROR 2022-01-04 17:10:39 +01:00