Age | Commit message (Collapse) | Author |
|
A layouts/shortcodes/include.html shortcode may look like this:
```html
{{ $p := site.GetPage (.Get 0) }}
{{ $p.RenderShortcodes }}
```
Fixes #7297
|
|
```
BenchmarkWhereOps/eq-10 8702 120410 ns/op 52280 B/op 2515 allocs/op
BenchmarkWhereOps/ne-10 9829 120759 ns/op 52280 B/op 2515 allocs/op
BenchmarkWhereOps/like-10 6754 176377 ns/op 52917 B/op 2515 allocs/op
```
|
|
Closes #11279
|
|
The collections.Apply template function cannot be used with maps.
|
|
```
BenchmarkGetOrCompileRegexp-10 73959368 13.71 ns/op 0 B/op 0 allocs/op
BenchmarkCompileRegexp-10 3143529 380.1 ns/op 872 B/op 10 allocs/op
```
|
|
Fixes #11234
|
|
Fixes #11205
|
|
Fixes #11159
|
|
Closes #11180
|
|
|
|
Fixes #11124
|
|
The template packages are based on go1.20.5 with the patch in befec5ddbbfbd81ec84e74e15a38044d67f8785b added.
This also includes a security fix that now disallows Go template actions in JS literals (inside backticks).
This will throw an error saying "... appears in a JS template literal".
If you're really sure this isn't a security risk in your case, you can revert to the old behaviour:
```toml
[security]
[security.gotemplates]
allowActionJSTmpl = true
```
See https://github.com/golang/go/issues/59234
Fixes #11112
|
|
Fixes #11093
|
|
math.Product, math.Sum
* Update math.Min and math.Max to allow 1 or more args, either scalar or slice, or combination of the two
* Add math.Sum (allow 1 or more args, either scalar or slice, or combination of the two)
* Add math.Product (allow 1 or more args, either scalar or slice, or combination of the two)
Fixes #11030
|
|
|
|
|
|
|
|
Fixes #11039
|
|
|
|
|
|
Fixes #10969
|
|
|
|
|
|
See https://pkg.go.dev/net/url#JoinPath
Closes #9694
|
|
|
|
Closes gohugoio/hugoDocs#1760
|
|
Fixes #10941.
|
|
Primary motivation is documentation, but it will also hopefully simplify the code.
Also,
* Lower case the default output format names; this is in line with the custom ones (map keys) and how
it's treated all the places. This avoids doing `stringds.EqualFold` everywhere.
Closes #10896
Closes #10620
|
|
|
|
|
|
|
|
Fixes #10827
|
|
|
|
|
|
strings.HasPrefix already has an alias of hasPrefix
but strings.HasSuffix has no such alias.
This PR adds a hasSuffix alias to the tpl function with corresponding
function documentation.
It also adds a Minor update to the hasPrefix function documentation
re: keywords and relatedfuncs.
Completes https://github.com/gohugoio/hugo/issues/10474
|
|
Fixes #10791
|
|
|
|
Make sure the context used for timeouts isn't created based on the incoming
context, as we have cases where this can cancel the context prematurely.
Fixes #10789
|
|
This is a workaround. We need to improve on this, but not today.
Fixes #10782
|
|
|
|
Fixes #10774
|
|
This was deprecated, with a warning message, on 21 Nov 2021.
Reference #9190
|
|
Before this fix, strings.Truncate would erroneously re-include
attributes from the opening tag in the closing tag when closing
formatted html, due to a bug in how tagnames were extracted from the
regex capture group for html tags used in `truncate.go`. This change
ensures that only the tagname is retained and all attributes are discarded
when storing the tags for closing them later.
Fixes #10399
|
|
|
|
|
|
https://pkg.go.dev/io/ioutil is deprecated since Go 1.16.
|
|
Fixes #9339
|
|
Instead of maintaing a list of all CSS units and functions this commit:
* Uses 3 regexps to detect typed CSS values (e.g. `24px`) + properly handle numeric Go types.
* These regexps may have some false positives -- e.g. strings that needs to be quoted.
* For that rare case, you can mark the string with e.g. `"32xxx" | css.Quoted`
* For the opposite case: `"32" | css.Unquoted`
Updates #10632
|
|
Updates #10691
|
|
The main topic of this commit is that you can now index fragments (content heading identifiers) when calling `.Related`.
You can do this by:
* Configure one or more indices with type `fragments`
* The name of those index configurations maps to an (optional) front matter slice with fragment references. This allows you to link
page<->fragment and page<->page.
* This also will index all the fragments (heading identifiers) of the pages.
It's also possible to use type `fragments` indices in shortcode, e.g.:
```
{{ $related := site.RegularPages.Related .Page }}
```
But, and this is important, you need to include the shortcode using the `{{<` delimiter. Not doing so will create infinite loops and timeouts.
This commit also:
* Adds two new methods to Page: Fragments (can also be used to build ToC) and HeadingsFiltered (this is only used in Related Content with
index type `fragments` and `enableFilter` set to true.
* Consolidates all `.Related*` methods into one, which takes either a `Page` or an options map as its only argument.
* Add `context.Context` to all of the content related Page API. Turns out it wasn't strictly needed for this particular feature, but it will
soon become usefil, e.g. in #9339.
Closes #10711
Updates #9339
Updates #10725
|