This issue was introduced in `v0.102.0`.
In 223bf28004 we removed the byte source from the parsed page result, which
meant we had to preserve exact positioning for all elements. This introduced some new `TypeIgnore` tokens
which we, wrongly, assumed didn't matter where we put in the result slice (they should be ignored anyway).
But it seems that this broke the logic where we determine if it's positional or named params in the case
where the paramater value contains escaped quoutes.
This commit makes sure that these ignore tokens (the back slashes) are never sent back to the client, which is how it was before `v0.102.0`.
This commit also fixes some lost error information in that same commit.
Fixes#10236
This, together with 'snapcraftctl set-version", negates the need to
modify snap/snapcraft.yaml upon each release, so the corresponding code
is removed from releaser/releaser.go.
Also, vendorInfo is extended to include the snap version number.
See #10225
This allows the use of "git describe --tags" to recognize lightweight
version tags, and the removal of initial "v" in the hugo snap version.
See #10225
Git:
- Set GIT_EXEC_PATH and include usr/lib/git-core so that git can find the
git-remote-https helper (needed by e.g. "go mod download").
Go:
- Put Go in its own snap part, and use stage-snaps instead of build-snaps
so that it is included in the final snap.
- Set GOCACHE to a writable directory. (In a previous commit,
HOME is set to $SNAP_REAL_HOME which is unwritable.)
Hugo:
- Patch config/security/securityConfig.go "[security.exec] osEnv" whitelist
(during snap build) so that external dependencies can use the required
environment variables to run properly from within the snap.
Asciidoctor:
- Replace shebang line in asciidoctor so it can find the ruby executable.
- Set RUBYLIB so that Ruby can find its libraries.
Caveat/TODO: The Ruby version is hardcoded in our custom RUBYLIB.
Embedded Dart Sass:
- Download from GitHub and install it, for amd64 and arm64 only.
Node.js:
- Remove my incomplete include list so that npx is actually installed.
- Set npm_config_{cache,init_module,userconfig} to writable locations.
Pandoc:
- Set pandoc_datadir so that Pandoc can find its data files.
rst2html:
- Install python3-docutils package for rst2html, rst2html5, etc.
- Set PYTHONHOME so that Python can find its libraries.
Note that asciidoctor, pandoc and rst2html are not in Hugo’s default
"[security.exec] allow" whitelist, and the snap package does not change
that default, so they still needed to be whitelisted manually in
config.toml if necessary by the end user.
Special thanks to Joe Mooring (@jmooring) for meticulously diagnosing
the issue and providing a comprehensive test repository at
https://github.com/jmooring/hugo-snap-test without which I would not
have been able to understand and resolve the issue.
Fixes#9078
Currently, Hugo does not inject `livereload` script if html does not contain `<head>` or `<body>`. This sometimes happens if you create new sites without `theme` and it is hard to catch the cause soon.
This PR:
* Inject livereload script even if html does not include `<head>`, `<body>`, or `<html>`
- Modern browsers execute scripts even if they are outside `<html>`
- Some js frameworks (confirmed with vite) inject HRM script without `<html>` tag
* Append warning script to html if `<head>` or `<body>` is not in html
* Fix bug that livereload cannot be appended to the tags with attrs
Close#10105
This is a small refactoring. `livereload/livereload.go` has a wide
column. Sometimes language server does not work because of it.
Create a new js file and embed it.
Very visible when using the pprof mutex profiler.
```bash
name old time/op new time/op delta
Baseline-10 58.4ms ± 1% 51.6ms ± 0% -11.56% (p=0.029 n=4+4)
name old alloc/op new alloc/op delta
Baseline-10 64.3MB ± 0% 64.2MB ± 0% ~ (p=0.114 n=4+4)
name old allocs/op new allocs/op delta
Baseline-10 649k ± 0% 649k ± 0% ~ (p=0.229 n=4+4)
```
as recommended by @alexmurray to keep consistency with other snaps; see
https://forum.snapcraft.io/t/system-files-and-personal-files-request-for-hugo/30598
I neglected to make the rename of system-gitconfig → etc-gitconfig and
user-gitconfig → gitconfig to the apps.plugs section in commit fd3953c,
hence this commit to fix the store upload scan failure:
interface 'system-gitconfig' not found in base declaration
interface 'user-gitconfig' not found in base declaration
unknown plugs interface name reference 'system-gitconfig'
unknown plugs interface name reference 'user-gitconfig'
Special thanks to Alex Murray and Igor Ljubuncic for approving the
system-files and personal-files request for Hugo.
Fixes#6226