Bjørn Erik Pedersen
216a69a1ef
Shorten processed image filenames
...
Fixes #12688
Fixes #12656
2024-07-31 16:44:06 +02:00
Bjørn Erik Pedersen
e67886c038
Consolidate all hashing to the common/hashing package
...
And remove now unsued hashing funcs.
2024-07-31 16:44:06 +02:00
Bjørn Erik Pedersen
d5eda13cb2
Replace the MD5 hashing of images with xxHash
...
Note that we only use this for change detection.
The previous implementation invoked `MD5FromReaderFast` that created a MD5 has from 8 64 bytes chunks in the file, which is obviously very fast. The new implementation creates the hash from the entire file and ... seems to be even more effective:
```
name old time/op new time/op delta
HashImage-10 9.45µs ±21% 10.89µs ± 1% ~ (p=0.343 n=4+4)
name old alloc/op new alloc/op delta
HashImage-10 144B ± 0% 8B ± 0% -94.44% (p=0.029 n=4+4)
name old allocs/op new allocs/op delta
HashImage-10 4.00 ± 0% 1.00 ± 0% -75.00% (p=0.029 n=4+4)
```
2024-07-31 16:44:06 +02:00
Bjørn Erik Pedersen
8b5d796989
resources: Add BenchmarkHashImage
2024-07-31 16:44:06 +02:00
Bjørn Erik Pedersen
2babd6404e
identity: Use xxHash in hashstructure (note)
...
```
name old time/op new time/op delta
HashString/n28-10 133ns ± 9% 107ns ±10% -19.58% (p=0.029 n=4+4)
HashString/n112-10 243ns ± 5% 121ns ± 4% -50.08% (p=0.029 n=4+4)
HashString/n448-10 698ns ± 3% 174ns ± 5% -75.02% (p=0.029 n=4+4)
HashString/n1792-10 2.58µs ± 4% 0.38µs ± 4% -85.11% (p=0.029 n=4+4)
HashString/n7168-10 10.0µs ± 3% 1.3µs ± 4% -86.91% (p=0.029 n=4+4)
name old alloc/op new alloc/op delta
HashString/n28-10 80.0B ± 0% 72.0B ± 0% -10.00% (p=0.029 n=4+4)
HashString/n112-10 160B ± 0% 152B ± 0% -5.00% (p=0.029 n=4+4)
HashString/n448-10 496B ± 0% 488B ± 0% -1.61% (p=0.029 n=4+4)
HashString/n1792-10 1.84kB ± 0% 1.83kB ± 0% -0.43% (p=0.029 n=4+4)
HashString/n7168-10 8.24kB ± 0% 8.23kB ± 0% -0.06% (p=0.029 n=4+4)
name old allocs/op new allocs/op delta
HashString/n28-10 4.00 ± 0% 3.00 ± 0% -25.00% (p=0.029 n=4+4)
HashString/n112-10 4.00 ± 0% 3.00 ± 0% -25.00% (p=0.029 n=4+4)
HashString/n448-10 4.00 ± 0% 3.00 ± 0% -25.00% (p=0.029 n=4+4)
HashString/n1792-10 4.00 ± 0% 3.00 ± 0% -25.00% (p=0.029 n=4+4)
HashString/n7168-10 4.00 ± 0% 3.00 ± 0% -25.00% (p=0.029 n=4+4)
```
2024-07-31 16:44:06 +02:00
Bjørn Erik Pedersen
78db8aebca
identity: Upgrade to github.com/mitchellh/hashstructure/v2 v2.0.2
...
```
name old time/op new time/op delta
HashString/n28-10 131ns ± 7% 133ns ±19% ~ (p=0.343 n=4+4)
HashString/n112-10 237ns ± 5% 241ns ± 3% ~ (p=0.229 n=4+4)
HashString/n448-10 688ns ± 3% 687ns ± 1% ~ (p=0.886 n=4+4)
HashString/n1792-10 2.51µs ± 3% 2.56µs ± 3% ~ (p=0.200 n=4+4)
HashString/n7168-10 10.1µs ± 2% 10.0µs ± 4% ~ (p=0.686 n=4+4)
name old alloc/op new alloc/op delta
HashString/n28-10 80.0B ± 0% 80.0B ± 0% ~ (all equal)
HashString/n112-10 160B ± 0% 160B ± 0% ~ (all equal)
HashString/n448-10 496B ± 0% 496B ± 0% ~ (all equal)
HashString/n1792-10 1.84kB ± 0% 1.84kB ± 0% ~ (all equal)
HashString/n7168-10 8.24kB ± 0% 8.24kB ± 0% ~ (all equal)
name old allocs/op new allocs/op delta
HashString/n28-10 4.00 ± 0% 4.00 ± 0% ~ (all equal)
HashString/n112-10 4.00 ± 0% 4.00 ± 0% ~ (all equal)
HashString/n448-10 4.00 ± 0% 4.00 ± 0% ~ (all equal)
HashString/n1792-10 4.00 ± 0% 4.00 ± 0% ~ (all equal)
HashString/n7168-10 4.00 ± 0% 4.00 ± 0% ~ (all equal)
```
Closes #11644
2024-07-31 16:44:06 +02:00
Bjørn Erik Pedersen
72ff937e11
Switch EXIF library
...
Closes #10855
Closes #8586
Closes #8996
2024-07-20 15:56:10 +02:00
Bjørn Erik Pedersen
7b6dafc53a
Fix it so publishDate rolls up to section, taxonomy, or term pages
...
Fixes #12438
2024-07-01 21:48:12 +02:00
Bjørn Erik Pedersen
e1317dd322
Add css.TailwindCSS
...
Closes #12618
Closes #12620
2024-06-25 15:48:02 +02:00
Bjørn Erik Pedersen
6cd0784e44
Implement defer
...
Closes #8086
Closes #12589
2024-06-23 11:25:47 +02:00
Joe Mooring
57165d44ed
resources: Update Dart Sass error message
2024-06-13 16:25:50 +02:00
Bjørn Erik Pedersen
9c3143c45a
resources/page: Deprecate PageSize in favor of PagerSize
...
See #12572
2024-06-09 12:28:24 +02:00
Bjørn Erik Pedersen
9f22bc4414
Rename DefaultPageSize => PagerSize
...
This was recently introduced. so no breaking change.
The thing is:
* We do not commonly use the prefix Default* even if it can be overridden in the templates.
* PagerSize makes more sense and is also the term used in the code.
2024-06-09 12:28:24 +02:00
Joe Mooring
cba2de6ec9
resources/page: Let GroupByParam return nil instead of error
...
Closes #12578
2024-06-08 18:35:14 +02:00
Bjørn Erik Pedersen
9c4e14eb4f
Add option to not generate aliases for first page of pagination pages
...
Also consolidate the pagination configuration into a struct.
Closes #12572
2024-06-08 15:42:01 +02:00
Bjørn Erik Pedersen
1cdd3d0a9e
js: Support more recent targets with js.Build / esbuild
...
Closes #12575
2024-06-08 11:40:19 +02:00
Bjørn Erik Pedersen
bc05d854b2
resources: Fix spelling
2024-06-04 18:48:39 +02:00
Bjørn Erik Pedersen
447108fed2
Add a HTTP cache for remote resources.
...
Fixes #12502
Closes #11891
2024-06-04 16:07:39 +02:00
Joe Mooring
c8dac67def
resources/page: Deprecate .Sites.First in favor of .Sites.Default
...
Closes #12513
2024-06-01 18:02:19 +02:00
Bjørn Erik Pedersen
245928a1ff
content adapter: Add support for menus in AddPage
...
Fixes #12507
2024-05-30 11:29:21 +02:00
Bjørn Erik Pedersen
39cf906bc0
Fix mixed case Page params handling in content adapters
...
Fixes #12497
2024-05-15 12:39:33 +02:00
Bjørn Erik Pedersen
1aacfced39
Fix paths with dots issue with content adapters
...
Fixes #12493
2024-05-15 12:39:33 +02:00
Joe Mooring
6dbbe6dd3a
resources/images: Handle NaN EXIF latitude and longitude
...
Fixes #12490
2024-05-14 14:16:58 +02:00
Bjørn Erik Pedersen
e2d66e3218
Create pages from _content.gotmpl
...
Closes #12427
Closes #12485
Closes #6310
Closes #5074
2024-05-14 13:12:08 +02:00
Bjørn Erik Pedersen
bb59a7ed97
Fix one more resource change eviction logic issue
...
This is how we should have fixed #1239 .
Fixes #12456
2024-05-05 12:41:51 +02:00
Bjørn Erik Pedersen
503d20954f
Make the cache eviction logic for stale entities more robust
...
Fixes #12458
2024-05-04 19:45:43 +02:00
Bjørn Erik Pedersen
9cd7db61d3
Run mage generate
2024-05-02 10:49:09 +02:00
Bjørn Erik Pedersen
c892e75fbc
resources/page: Pull internal Page methods into its own interface
...
So it doesn't get visible when passing it to `jsonify`.
2024-05-02 10:49:02 +02:00
Bjørn Erik Pedersen
004b694390
Fix partial rebuilds for SCSS fetched with GetMatch and similar
...
Fixes #12395
2024-04-20 15:09:12 +02:00
Bjørn Erik Pedersen
faf9fedc3d
resources/images: Fix TestColorLuminance on s390x
2024-04-19 11:21:50 +02:00
Bjørn Erik Pedersen
e197c7b29d
Add Luminance to Color
...
To sort an image's colors from darkest to lightest, you can then do:
```handlebars
{{ {{ $colorsByLuminance := sort $image.Colors "Luminance" }}
```
This uses the formula defined here: https://www.w3.org/TR/WCAG21/#dfn-relative-luminance
Fixes #10450
2024-04-16 10:02:46 +02:00
Bjørn Erik Pedersen
df11327ba9
Pass .RenderShortcodes' Page to render hooks as .PageInner
...
The main use case for this is to resolve links and resources (e.g. images) relative to the included `Page`.
A typical `include` would similar to this:
```handlebars
{{ with site.GetPage (.Get 0) }}
{{ .RenderShortcodes }}
{{ end }}
```
And when used in a Markdown file:
```markdown
{{% include "/posts/p1" %}}
```
Any render hook triggered while rendering `/posts/p1` will get `/posts/p1` when calling `.PageInner`.
Note that
* This is only relevant for shortcodes included with `{{%` that calls `.RenderShortcodes`.
* `.PageInner` is available in all render hooks that, before this commit, received `.Page`.
* `.PageInner` will fall back to the value of `.Page` if not relevant and will always have a value.
Fixes #12356
2024-04-15 09:49:57 +02:00
Joe Mooring
a6e8439176
resources/page: Add taxonomies Page method
...
Closes #12316
2024-04-12 16:26:02 +02:00
Christian Oliff
17765a7451
all: Typo fixes
2024-04-11 09:23:17 +02:00
Bjørn Erik Pedersen
92de8625c7
babel: Run go fmt
2024-04-08 18:28:04 +02:00
guangwu
7907935a42
babel: Close file before removing
2024-04-08 15:23:08 +02:00
Soren L. Hansen
4500b0e423
resources/page: Escape hash sign in permalinks
...
When creating a link to a file with a `#` in the filename, the link gets
truncated. This happens because the filename is eventaully passed to
`url.Parse` which (correctly!) interprets the `#` as fragment separator.
This commit escapes the `#` in the filename before creating the link.
Fixes #4926
Fixes #8232
Fixes #12342
Co-authored-by: Joe Mooring <joe.mooring@veriphor.com>
2024-04-05 15:57:02 +02:00
Joe Mooring
54a8f0ce21
resources: Use different cache key when copying resources
...
Closes #10412
Closes #12310
2024-03-27 09:59:59 +01:00
George Ma
27414d43a0
resources/page: Fix GoDoc comment
2024-03-22 08:56:10 +01:00
Anthony Fok
c1ea22a232
testing: Set usesFMA as true for riscv64 too
...
This fixes TestImageOperationsGolden "values are not deep equal" error on riscv64 with Go 1.22 and above.
2024-03-20 08:59:13 +01:00
Joe Mooring
d4d49e0f0e
hugolib: Deprecate site methods Author, Authors, and Social
...
Closes #12228
2024-03-15 17:26:45 +01:00
Christian Oliff
78178d0c2a
all: Typo fixes
2024-03-15 17:25:52 +01:00
Bjørn Erik Pedersen
9668759ad8
Fix front matter date location when value gets inherited from other dates
...
Fixes #12236
2024-03-13 19:00:50 +02:00
Bjørn Erik Pedersen
9e9b1f110c
Fix Name for nested resourced fetched in resources.ByName and similar
...
Fixes #12214
2024-03-13 18:59:50 +02:00
Joe Mooring
dc6a292133
common/hugo: Rename IsMultiHost and IsMultiLingual
...
hugo.IsMultiHost => hugo.IsMultihost
hugo.IsMultiLingual => hugo.IsMultilingual
Closes #12232
2024-03-13 17:34:42 +02:00
Joe Mooring
4f92f949ea
hugolib: Deprecate .Site.MultiLingual in favor of hugo.IsMultiLingual
...
Closes #12224
2024-03-10 10:47:51 +02:00
razonyang
1f48b717c7
Add hugo.IsMultiHost
2024-03-07 14:04:41 +01:00
Joe Mooring
05e23bd55c
resources/images: Retain newlines with text overlays
...
Closes #12206
2024-03-07 09:52:30 +01:00
Bjørn Erik Pedersen
a4b17470a8
Fix resource name in resources.ByType
...
Fixes #12190
2024-03-07 09:50:50 +01:00
Bjørn Erik Pedersen
0d6e593ffb
Fix and add integration test for the Bootstrap SCSS module for both Dart Sass and Libsass
...
This fixes the reverse filesystem lookup (absolute filename to path relative to the composite filesystem).
The old logic had some assumptions about the locality of the actual files that didn't work in more complex scenarios.
This commit now also adds the popular Bootstrap SCSS Hugo module to the CI build (both for libsass and dartsass transpiler), so we can hopefully avoid similar future breakage.
Fixes #12178
2024-03-01 14:18:52 +01:00