Bjørn Erik Pedersen
dc9b51d2e2
markup/goldmark: Fix double-escaping of ampersands in link URLs
...
The XSS fix in 479fe6c65 accidentally called util.EscapeHTML twice
on link destinations, causing `&` to render as `&` instead
of `&`.
Fixes #14715
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 14:52:29 +02:00
Bjørn Erik Pedersen
481baa0896
all: Replace NewIntegrationTestBuilder with Test/TestE/TestRunning
2026-04-03 21:17:45 +02:00
Bjørn Erik Pedersen
43aad7118d
tpl: Fix stray quotes from partial decorator in script context
...
Use template.JS for the falsy return value of _PopPartialDecorator
so Go's html/template JS escaper doesn't wrap the empty string in
quotes inside <script> tags.
Fixes #14711
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-03 18:30:26 +02:00
Joe Mooring
9f1f1be0be
readme: Revise edition descriptions and installation instructions
2026-04-03 11:54:31 +02:00
dependabot[bot]
0eda24e65f
build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4
...
Bumps [github.com/go-jose/go-jose/v4](https://github.com/go-jose/go-jose ) from 4.1.3 to 4.1.4.
- [Release notes](https://github.com/go-jose/go-jose/releases )
- [Commits](https://github.com/go-jose/go-jose/compare/v4.1.3...v4.1.4 )
---
updated-dependencies:
- dependency-name: github.com/go-jose/go-jose/v4
dependency-version: 4.1.4
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-03 11:32:24 +02:00
Bjørn Erik Pedersen
5d09b5e32a
tpl/css: Support @import "hugo:vars" for CSS custom properties in css.Build
...
Closes #14699
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-02 21:02:13 +02:00
Bjørn Erik Pedersen
303e443ea7
Improve and extend .Position handling in Goldmark render hooks
...
Goldmark v1.8 reports source positions in render hooks.
Use this to build a source map that translates Goldmark positions back to
the original content source.
Now all render hooks' context object implenent the `BaseContext` interface:
```go
type BaseContext interface {
Position() Position
Page() any
PageInner() any
Ordinal() int
}
```
Closes #14663
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-02 19:30:28 +02:00
dependabot[bot]
beb57a6839
build(deps): bump golang.org/x/image from 0.37.0 to 0.38.0
...
Bumps [golang.org/x/image](https://github.com/golang/image ) from 0.37.0 to 0.38.0.
- [Commits](https://github.com/golang/image/compare/v0.37.0...v0.38.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/image
dependency-version: 0.38.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-01 19:16:47 +02:00
Bjørn Erik Pedersen
638262cec3
markup/goldmark: Clean up test
2026-04-01 17:05:08 +02:00
hugoreleaser
397980aab3
releaser: Prepare repository for 0.160.0-DEV
...
[ci skip]
2026-04-01 13:21:05 +00:00
hugoreleaser
5f4646acaa
releaser: Bump versions for release of 0.159.2
...
[ci skip]
v0.159.2
2026-04-01 12:59:20 +00:00
Bjørn Erik Pedersen
479fe6c654
Fix potential content XSS by escaping dangerous URLs in links and images
...
* This issue in question was fixed upstream in https://github.com/yuin/goldmark/releases/tag/v1.8.2
* We do, however, have a copy of the affected functions, used as fallbacks when no render hook are defined for e.g. links and images, so we need to port these fixes to our copy of the affected functions.
2026-04-01 14:23:24 +02:00
Bjørn Erik Pedersen
81a5cdca07
releaser: Add standard withdeploy release assets
...
Closes #14687
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 11:01:53 +02:00
Joe Mooring
df520e3150
resources/page: Fix shared reader in Source.ValueAsOpenReadSeekCloser
...
Closes #14684
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-28 21:32:28 +01:00
Bjørn Erik Pedersen
b55d452e46
testing: Simplify line ending handling in tests
2026-03-28 19:48:28 +01:00
Joe Mooring
ea7eac6558
readme: Update Go version to 1.25.0
2026-03-27 08:43:24 -07:00
hugoreleaser
458ebdd448
releaser: Prepare repository for 0.160.0-DEV
...
[ci skip]
2026-03-26 10:13:11 +00:00
hugoreleaser
86c7d3afac
releaser: Bump versions for release of 0.159.1
...
[ci skip]
v0.159.1
2026-03-26 09:54:15 +00:00
Bjørn Erik Pedersen
42289d76f9
minifiers: Keep x-bind and blank namespace in SVG minification
...
Update tdewolff/minify to v2.24.11 and add "" and "x-bind" to KeepNamespaces
to prevent Alpine.js directives from being stripped in SVGs.
This is a new option in tdewolff/minify v2.24.11, and it is needed to prevent breakage of Alpine.js, and possilby others, directives in SVGs.
Fixes #14669
2026-03-26 10:49:53 +01:00
Bjørn Erik Pedersen
0c013c2326
Adjust depreceated syntax in tests
2026-03-24 11:07:01 +01:00
hugoreleaser
bd071d78a5
releaser: Prepare repository for 0.160.0-DEV
...
[ci skip]
2026-03-23 18:34:59 +00:00
hugoreleaser
2ed7d193cf
releaser: Bump versions for release of 0.159.0
...
[ci skip]
v0.159.0
2026-03-23 18:16:59 +00:00
Bjørn Erik Pedersen
d2043cfae5
docs: Update docs.yaml
2026-03-23 18:27:14 +01:00
Bjørn Erik Pedersen
5997b71db6
Merge commit 'e7afabb927a79b179ae57013fd5f49e32829671e'
2026-03-23 18:25:55 +01:00
Bjørn Erik Pedersen
e7afabb927
Squashed 'docs/' changes from 80dd7b067..0755fb534
...
0755fb534 misc: Update docs.yaml
f0c69a38c content: Remove outdated content
43ce895b9 content: Remove outdated new-in badges
c3a382fb7 content: Improve GitLab Pages workflow example
f2a851966 content: Update Vimeo example
044565ab3 content: Fix typo
9f5e8b5f4 content: Update version references
9dc30f225 theme: Address deprecations in v0.158.0
ea0787a6b content: Document css.Build function
f98e4f55c content: Standardize Node.js references
bf683e36f content: Use consistent file system terminology
54ed4c12b content: Document strings.ReplacePairs
779d37978 all: Miscellaneous updates for v0.158.0
be1a20c27 Update HUGO_VERSION to 0.158.0
24cdd7bf7 Fix typos in module configuration documentation
ce37e7b05 content: Address Markdown linting error
592049f02 content: Remove unnecessary workflow customization section
b17b18ce1 content: Update version references in hosting guides
32ec89596 content: Improve urls.PathEscape/PathUnescape examples
9297bb6fa content: Clarify page collection sort order
60192a16f content: Add reference link to glossary term
63d4a992a content: Update documentation contribution guide
946273d67 theme: Adjust feature state notices
d70dfd651 theme: Simplify border classes per Tailwind linter
fc53c7263 theme: Refactor feature status shortcodes
850dc5b2b content: Clean up content for deprecated features
35da1aa3c content: Miscellaneous udpates for v0.157.0
05b69f84e content: More site-to-project changes
291ffc3f6 content: Add blogger2hugo migration tool
53a1bdee3 Update HUGO_VERSION to 0.157.0
808f0431d Merge branch 'tempv0.157.0'
f02222e46 docs: Regen and fix the imaging docshelper output
b0d3364f1 Merge commit '0c2fa2460f485e0eca564dcccf36d34538374922'
d1f37cc6d resources/images: Adjust WebP processing defaults
9a9f02fb8 Add per-request timeout option to `resources.GetRemote`
900c10201 docs: Fix lineNos default value in docs.yaml
0052c975a docs: Regenerate docs.yaml
3e2f98235 Merge commit '8f3c066d23f431fb2c53d97ea489e4c28b42bd82'
dbfd34a1a docs: Update docs.yaml
7e1a08e54 Merge commit '08e1ea5c709d3d49bdc3ce3c21e8fa05a33150d0'
cb6e0a42a tpl: Add missing functions to init files
05544e400 markup/asciidocext: Improve Asciidoctor integration
820b5536a github: Add ai-watchdog workflow and update other workflows' versions
3848aec5f markup/goldmark: Enhance footnote extension with backlinkHTML option
070074dac markup/goldmark: Enhance footnote extension with auto-prefixing option
f92f7ac5c config/security: Add PROGRAMDATA to the osenv allowlist
d1ab84530 minifiers: Update deprecation handling
6c911d1e5 Merge commit 'bfa74537929f409fca841540b971125b7678963a'
61916ab4c resources/page: Add :sectionslug and :sectionslugs permalink tokens
80667667c Add Ancestors (plural) method to GitInfo, rename Ancestor field to Parent
e8fdc1d4d source: Expose Ancestor in GitInfo
079671b41 Merge commit 'bb147f91ee9078e6a55e8c32ab4b2e5dbc5cee45'
9e8a08520 images: Add option for vertical alignment to images.Text
f7c795479 Merge commit 'b3d87dd0fd746f07f9afa6e6a2969aea41da6a38'
283e97783 Merge commit '5be51ac3db225d5df501ed1fa1499c41d97dbf65'
4c6ec5c19 resources/page: Revise the new contentbasename permalinks tokens
fc69d3981 resources/page: Add :contentbasename and :contentbasenameorslug permalink tokens
c5f654716 modules: Add GOAUTH to module config
2a1a832fb js/esbuild: Add drop option
d9fb55352 Merge commit 'a024bc7d76fcc5e49e8210f9b0896db9ef21861a'
84678f5af helpers: Add Chroma styles to docs.yaml
fc8d9e344 Merge commit '346b60358dd8ec2ca228e6635bff9d7914b398b7'
4e4da5e47 Merge commit '81a7b6390036138356773c87a886679c81c524e1'
5df38fde0 docs: Regen CLI docs
3b0f8034b tpl/images: Change signature of images.QR to images.QR TEXT OPTIONS
68187036f images.Text: Add "alignx" option for horizontal alignment
240a85734 docs: Regen CLI docs
21b2917c6 Merge commit 'e9fbadacc3f09191e2e19f112a49777eeb8df06c'
5cc7ad562 tpl/images: Add images.QR function
9b588ee9e Update gocloud and docs for S3-Compatible Endpoints
b24377040 tpl/tplimpl: Update details shortcode
0535f4b22 tpl/tplimpl: Add details shortcode
2dd21cf90 Merge commit 'e477373487abcccdbed95688e37aa74b9b8fc198'
869321ffa dartsass: Add silenceDeprecations option
492981933 Merge commit '838bd312b1a287bb33962ad478dbc54737654f35'
c79b7d840 docs: Regen CLI docs
101410f08 docs: Regenerate CLI docs
700846bc9 Merge commit 'de0df119b504a91c9e1f442b07954f366ffb2932'
1fb46bb7c docs: Regen CLI docs
923fd9044 commands: Add "hugo build" as an alias for "hugo"
244ea3067 Merge commit '39fd3b557014e339bc6c68a7ff34a7734a735ee0'
f2e8913d2 Add support for Obsidian type blockquote alerts
9777cfa83 Merge commit 'dec8cd4ada29218971743333f8ac662a9c06aad8'
b3f6d546c output: Fix docshelper template lookup order for AMP pages
476507712 Add config options page.nextPrevSortOrder/nextPrevInSectionSortOrder
b2507b8ab tpl/transform: Make Plainify and ToMath return template.HTML
154525780 docs: Regen docshelper
9d9a0848c Merge commit 'a6e635ca7d905d9ec3ffd708db2694f680b03aae'
b56a8baa1 math: Add trigonometric functions and some angle helper functions
59f708c0e source: Expose GitInfo Body
7a330c378 Merge commit '8b9803425e63e1b1801f8d5d676e96368d706722'
1ea10926d deploy: Add stripIndexHtml target option
903da161a markup/goldmark: Add the Hugo Goldmark Extras "delete" extension
63cf1ea35 deps: Upgrade github.com/alecthomas/chroma v2.13.0 => v2.14.0
6dcbebe11 config: Remove extraneous BuildConfig setting
1c89b76c2 docs: Regen docshelper
976b30877 markup/goldmark: Support extras extension
0da4eee49 commands: Add gen chromastyles --lineNumbersTableStyle flag
daf545b56 docs: Regen docshelper
a46a8ac97 all: Fix duplicate words in comments
9a3c76650 tpl/tplimpl: Optionally exclude content from sitemap
737b3b210 tpl/tplimpl: Update Google Analytics template and config
9283d3071 docs: Regen CLI docs
fa0437be3 docs: Regen docshelper
c318cd850 docs: Fix hyphens and grammar in synopsis of command 'hugo server'
5896f23a9 js: Support JSX and JSXImportSourceOptions
08b0bca77 Merge commit '2658a71e1b6fe24a8b754a62ce0398a09d270d86'
c4c5be6c2 docs: Regen docshelper
ec07d66fe Add images.Dither filter
3b23f2b89 docs: Regen CLI docs
d1c5d6a5e docs: Regenerate docshelper
6c8c9da77 Merge commit '6efb279bfacbd7304cef994be8181c6f804e7dd4'
5ce83ee91 docs: Make null booleans falsy in the docs helper
1185cfc71 docs: Regen docs helper
aab11aad7 Merge commit '9b0050e9aabe4be65c78ccf292a348f309d50ccd' as 'docs'
git-subtree-dir: docs
git-subtree-split: 0755fb534d8b4cde8a0227698da634e3536283ff
2026-03-23 18:21:25 +01:00
Bjørn Erik Pedersen
4f3c39890e
commands: Update docs linke to Node.js docs
2026-03-23 18:13:50 +01:00
eason
807cae1df1
create: Return error instead of panic when page not found
...
When `hugo new` creates a content file on a case-insensitive filesystem
where a file with the same name but different case already exists (e.g.
Floop.md vs floop.md), the internal page lookup fails because it uses
exact string comparison. This previously caused an unhelpful panic.
Replace the panic with a descriptive error message that tells the user
what went wrong and suggests checking for case-variant filenames.
Fixes #14112
Co-authored-by: easonysliu <easonysliu@tencent.com >
Co-authored-by: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com >
2026-03-23 17:50:15 +01:00
Alexandre Vaz
c4fb61d9df
commands: Preserve non-content files in convert output
...
When running `hugo convert` with `--output`, copy the content tree first so non-content bundle resources are kept in the destination, then overwrite converted content files.
Also avoid recursive self-copy when the output path points inside the content tree by skipping output directories during copy.
Fixes #4621
2026-03-23 17:49:13 +01:00
Bjørn Erik Pedersen
d88a29e002
npm: Use workspaces to simplify hugo mod npm pack
...
Rewrite `hugo mod npm pack` to use npm workspaces. Module deps are now
written to packages/hugoautogen/package.json and the root package.json
gets a "workspaces" reference. A hugo_packagemeta.json sidecar stores a
hash of all input package files so regular commands can warn when npm
deps are out of sync.
Other changes:
- Workspace glob patterns (*, **, {a,b}) are resolved via gobwas/glob.
- Workspaces defined in package.hugo.json are supported.
- package.hugo.json is only recognised at module roots, not in workspaces.
- When package.hugo.json exists, package.json is not mounted or vendored.
- packages/hugoautogen is not mounted or vendored from dependencies.
- Add usePackageJSON import option (auto/always/never) to control whether
a module's npm deps are included. "auto" checks for Hugo config files
or package.hugo.json.
- The staleness check is skipped when running `hugo mod npm pack` itself.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-23 16:00:50 +01:00
dependabot[bot]
3ff9b7f89f
build(deps): bump github.com/olekukonko/tablewriter from 1.1.3 to 1.1.4 ( #14641 )
...
Bumps [github.com/olekukonko/tablewriter](https://github.com/olekukonko/tablewriter ) from 1.1.3 to 1.1.4.
- [Release notes](https://github.com/olekukonko/tablewriter/releases )
- [Commits](https://github.com/olekukonko/tablewriter/compare/v1.1.3...v1.1.4 )
---
updated-dependencies:
- dependency-name: github.com/olekukonko/tablewriter
dependency-version: 1.1.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-21 21:19:50 +01:00
Tay
9dd9c76027
commands: Close cpu profile file when StartCPUProfile fails
2026-03-21 21:17:12 +01:00
Bjørn Erik Pedersen
a8fca598e6
Replace deprecated site.Data with hugo.Data in tests
...
This also fixes a subtle server reload issue when changing files inside /data and using the recently added hugo.Data method.
2026-03-21 19:09:14 +01:00
Bjørn Erik Pedersen
182b104571
Replace deprecated excludeFiles and includeFiles with files in tests
2026-03-21 16:59:13 +01:00
dependabot[bot]
be93ccd304
build(deps): bump github.com/yuin/goldmark from 1.7.16 to 1.7.17
...
Bumps [github.com/yuin/goldmark](https://github.com/yuin/goldmark ) from 1.7.16 to 1.7.17.
- [Release notes](https://github.com/yuin/goldmark/releases )
- [Commits](https://github.com/yuin/goldmark/compare/v1.7.16...v1.7.17 )
---
updated-dependencies:
- dependency-name: github.com/yuin/goldmark
dependency-version: 1.7.17
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-20 11:37:30 +01:00
dependabot[bot]
2669bca6fd
build(deps): bump github.com/magefile/mage from 1.15.0 to 1.16.1
...
Bumps [github.com/magefile/mage](https://github.com/magefile/mage ) from 1.15.0 to 1.16.1.
- [Release notes](https://github.com/magefile/mage/releases )
- [Commits](https://github.com/magefile/mage/compare/v1.15.0...v1.16.1 )
---
updated-dependencies:
- dependency-name: github.com/magefile/mage
dependency-version: 1.16.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 20:39:12 +01:00
dependabot[bot]
753d447f11
build(deps): bump golang.org/x/image from 0.36.0 to 0.37.0
...
Bumps [golang.org/x/image](https://github.com/golang/image ) from 0.36.0 to 0.37.0.
- [Commits](https://github.com/golang/image/compare/v0.36.0...v0.37.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/image
dependency-version: 0.37.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 20:38:51 +01:00
dependabot[bot]
4f39d724fe
build(deps): bump google.golang.org/grpc from 1.78.0 to 1.79.3
...
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go ) from 1.78.0 to 1.79.3.
- [Release notes](https://github.com/grpc/grpc-go/releases )
- [Commits](https://github.com/grpc/grpc-go/compare/v1.78.0...v1.79.3 )
---
updated-dependencies:
- dependency-name: google.golang.org/grpc
dependency-version: 1.79.3
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 20:21:44 +01:00
Joe Mooring
eaf4c7515a
tpl/tplimpl: Fix Vimeo shortcode test
...
Closes #14649
2026-03-19 20:21:21 +01:00
Bjørn Erik Pedersen
3315a86d67
Remove the AI Watchdog workflow for now
...
It's failing with a 404 that I don't know how to fix (or don't have the time to investigate). It works fine when run locally.
2026-03-19 17:28:20 +01:00
Bjørn Erik Pedersen
38244842e0
Remove 'bep' from PR user logins skip list
...
To test it and see why it fails.
2026-03-19 17:02:16 +01:00
Bjørn Erik Pedersen
7813c5c89d
tpl/tplimpl: Comment out the Vimeo simple shortcode tests
...
See #14649
2026-03-19 13:52:36 +01:00
Bjørn Erik Pedersen
eb11c3d0bc
Replace deprecated :filename with :contentbasename in the permalinks test
2026-03-18 08:47:26 +01:00
hugoreleaser
fa8658111f
releaser: Prepare repository for 0.159.0-DEV
...
[ci skip]
2026-03-16 17:56:18 +00:00
hugoreleaser
f41be7959a
releaser: Bump versions for release of 0.158.0
...
[ci skip]
v0.158.0
2026-03-16 17:42:04 +00:00
Bjørn Erik Pedersen
0e46a97e8a
deps: Upgrade github.com/evanw/esbuild v0.27.3 => v0.27.4
2026-03-16 18:39:08 +01:00
dependabot[bot]
c27d9e8fcf
build(deps): bump github.com/getkin/kin-openapi from 0.133.0 to 0.134.0
...
Bumps [github.com/getkin/kin-openapi](https://github.com/getkin/kin-openapi ) from 0.133.0 to 0.134.0.
- [Release notes](https://github.com/getkin/kin-openapi/releases )
- [Commits](https://github.com/getkin/kin-openapi/compare/v0.133.0...v0.134.0 )
---
updated-dependencies:
- dependency-name: github.com/getkin/kin-openapi
dependency-version: 0.134.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-16 11:59:42 +01:00
dependabot[bot]
098eac59a9
build(deps): bump golang.org/x/tools from 0.42.0 to 0.43.0
...
Bumps [golang.org/x/tools](https://github.com/golang/tools ) from 0.42.0 to 0.43.0.
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.42.0...v0.43.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/tools
dependency-version: 0.43.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-16 11:56:42 +01:00
Bjørn Erik Pedersen
3c980c072e
resources: Re-publish on transformation cache hit
...
When a resource transformation result was served from cache (same
options as a previous build), the output file was not re-written to
disk. This caused incorrect output when toggling transformation
options (e.g. minify) back to a previously seen value in server mode.
Fixes #14629
2026-03-15 18:32:41 +01:00
Joe Mooring
404ac00001
create/skeletons: Use css.Build in theme skeleton
...
Closes #14626
2026-03-15 16:51:24 +01:00
Bjørn Erik Pedersen
06fcb72421
tpl/css: Add a test case for rebuilds on CSS options changes
2026-03-15 11:09:02 +01:00