summaryrefslogtreecommitdiffstats
path: root/modules
AgeCommit message (Collapse)Author
2023-01-16Make hugo.toml the new config.tomlBjørn Erik Pedersen
Both will of course work, but hugo.toml will win if both are set. We should have done this a long time ago, of course, but the reason I'm picking this up now is that my VS Code setup by default picks up some JSON config schema from some random other software which also names its config files config.toml. Fixes #8979
2022-12-20modules: Improve "module workspace" not found errorBjørn Erik Pedersen
2022-12-19modules: Adjust watch logic vs workspace use definitionsBjørn Erik Pedersen
2022-12-19Add any configured Go Workspace file to the config watcherBjørn Erik Pedersen
Fixes #10556
2022-12-19modules: Make the module.workspace=off as default (note)Bjørn Erik Pedersen
Also, resolve any workspace file relative to the workingDir. Fixes #10553
2022-12-14Also consider wrapped errors when checking for file IsNotExist errorsBjørn Erik Pedersen
Fixes #10534
2022-05-27github: Set HUGO_BUILD_TAGS: extended when running testsBjørn Erik Pedersen
Also fix TestDecodeConfig/Basic which started to fail in the extended build in 0.99.1. Closes #9935
2022-05-16common/hugo: Fix version logichugoreleaser
[ci skip]
2022-05-09Revise the use of htime.Since/htime.NowBjørn Erik Pedersen
We cannot (also, it doesn't add any value) use that when the `clock` is set, * To measure time (before that global is set) * To compare file timestamps re cache eviction Fixes #9868
2022-05-08Add `clock` cli flagsatotake
Close #8787
2022-05-06Improve error messages, esp. when the server is runningBjørn Erik Pedersen
* Add file context to minifier errors when publishing * Misc fixes (see issues) * Allow custom server error template in layouts/server/error.html To get to this, this commit also cleans up and simplifies the code surrounding errors and files. This also removes the usage of `github.com/pkg/errors`, mostly because of https://github.com/pkg/errors/issues/223 -- but also because most of this is now built-in to Go. Fixes #9852 Fixes #9857 Fixes #9863
2022-04-05modules/client: Vendor config directory if presentJoe Mooring
Fixes #9751
2022-03-21all: Use strings.CutBjørn Erik Pedersen
Updates #9687
2022-03-20Support '-u=patch' in hugo mod getLuke de Waal
The control-flow for running `hugo mod get` was adapted to allow for passing `-u=patch` instead of only being able to pass `-u`. Fixes #9127
2022-03-17all: gofmt -w -r 'interface{} -> any' .Bjørn Erik Pedersen
Updates #9687
2022-02-18modules: Add modules.Workspace config for Go 1.18Bjørn Erik Pedersen
Sets `GOWORK` env var for Go 1.18. Fixes #9525
2022-01-14Fixing typos (#9387)Andreas Deininger
2022-01-04Misc depreation updatesBjørn Erik Pedersen
* Deprecate .Page.Path when backed by a file * site.Permalinks * --ignoreVendor (use --ignoreVendorPaths) Closes #9348 Closes #9349
2021-12-22modules: Set GOCACHE env varBjørn Erik Pedersen
This was introduced in Go 1.15. We do set the GOPATH, which should be enough, but #9309 indicate that's not the case on every platform (GitHub Actions). Closes #9309
2021-12-16don't use path.Join, because it cleans the final pathJoachim Ansorg
2021-12-16Add some basic security policies with sensible defaultsBjørn Erik Pedersen
This ommmit contains some security hardening measures for the Hugo build runtime. There are some rarely used features in Hugo that would be good to have disabled by default. One example would be the "external helpers". For `asciidoctor` and some others we use Go's `os/exec` package to start a new process. These are a predefined set of binary names, all loaded from `PATH` and with a predefined set of arguments. Still, if you don't use `asciidoctor` in your project, you might as well have it turned off. You can configure your own in the new `security` configuration section, but the defaults are configured to create a minimal amount of site breakage. And if that do happen, you will get clear instructions in the loa about what to do. The default configuration is listed below. Note that almost all of these options are regular expression _whitelists_ (a string or a slice); the value `none` will block all. ```toml [security] enableInlineShortcodes = false [security.exec] allow = ['^dart-sass-embedded$', '^go$', '^npx$', '^postcss$'] osEnv = ['(?i)^(PATH|PATHEXT|APPDATA|TMP|TEMP|TERM)$'] [security.funcs] getenv = ['^HUGO_'] [security.http] methods = ['(?i)GET|POST'] urls = ['.*'] ```
2021-11-10modules: Improve error messagePatrick Kollitsch
2021-10-25Fix panic when specifying multiple excludeFiles directivesBjørn Erik Pedersen
Fixes #9076
2021-10-20hugofs: Add includeFiles and excludeFiles to mount configurationBjørn Erik Pedersen
Fixes #9042
2021-09-17modules: Add some help text to the 'unknown revision' errorBjørn Erik Pedersen
I had a head scratching moment with this myself, so it's safe to say that others will. See #6825
2021-08-31Update to Go 1.17Bjørn Erik Pedersen
Go 1.17 now lazy-loads dependencies when `go.mod` is version `go17`. This does not work for us for new projects started with `hugo mod init`. Before this commit, starting a project with Go 1.17 with `hugo mod init` and then start adding dependencies with transitive dependenies to `config.toml` would treat the transitive dependencies as new, and you would potentially get a too recent version of those. Note that this does not effect existing projects, where all dependencies are already recorded in `go.mod`. Fixes #8930
2021-08-03Make sure module config loading errors have file positioning infoBjørn Erik Pedersen
Fixes #8845
2021-07-15hugofs: Make FileMeta a structBjørn Erik Pedersen
This commit started out investigating a `concurrent map read write` issue, ending by replacing the map with a struct. This is easier to reason about, and it's more effective: ``` name old time/op new time/op delta SiteNew/Regular_Deep_content_tree-16 71.5ms ± 3% 69.4ms ± 5% ~ (p=0.200 n=4+4) name old alloc/op new alloc/op delta SiteNew/Regular_Deep_content_tree-16 29.7MB ± 0% 27.9MB ± 0% -5.82% (p=0.029 n=4+4) name old allocs/op new allocs/op delta SiteNew/Regular_Deep_content_tree-16 313k ± 0% 303k ± 0% -3.35% (p=0.029 n=4+4) ``` See #8749
2021-06-28modules: Add module.import.noMounts configBjørn Erik Pedersen
Fixes #8708
2021-06-27modules: Use value type for module.TimeBjørn Erik Pedersen
Which is in line with how we do it elsewhere.
2021-06-27commands: Add version time to "hugo config mounts"Bjørn Erik Pedersen
2021-06-18Implement configuration in a directory for modulesBjørn Erik Pedersen
Fixes #8654
2021-06-14Misc config loading fixesBjørn Erik Pedersen
The main motivation behind this is simplicity and correctnes, but the new small config library is also faster: ``` BenchmarkDefaultConfigProvider/Viper-16 252418 4546 ns/op 2720 B/op 30 allocs/op BenchmarkDefaultConfigProvider/Custom-16 450756 2651 ns/op 1008 B/op 6 allocs/op ``` Fixes #8633 Fixes #8618 Fixes #8630 Updates #8591 Closes #6680 Closes #5192
2021-05-09modules/npm: Change SetEscapeHTML to falseShohei Ueda
Closes #8512
2021-02-16modules: Add config option modules.vendorClosestBjørn Erik Pedersen
Fixes #8235 Fixes #8242
2021-02-15modules: Allow absolute paths for any modules resolved via project replacementBjørn Erik Pedersen
Fixes #8240
2021-02-15modules: Throw an error running hugo mod vendor on mountless moduleBjørn Erik Pedersen
2020-12-30Add Dart Sass supportBjørn Erik Pedersen
But note that the Dart Sass Embedded Protocol is still in beta (beta 5), a main release scheduled for Q1 2021. Fixes #7380 Fixes #8102
2020-12-19Improve LookPathBjørn Erik Pedersen
2020-12-16all: Fix minor typosPhil Davis
2020-12-03all: Format code with gofumptBjørn Erik Pedersen
See https://github.com/mvdan/gofumpt
2020-10-30modules: Allow absolute paths for project importsBjørn Erik Pedersen
Fixes #7910
2020-10-30Add module.replacementsBjørn Erik Pedersen
Fixes #7904 Fixes #7908
2020-10-22Allow getJSON errors to be ignoredBjørn Erik Pedersen
This change is mostly motivated to get a more stable CI build (we're building the Hugo site there, with Instagram and Twitter shortcodes sometimes failing). Fixes #7866
2020-09-15modules/npm: Preserve the original package.json if it existsBjørn Erik Pedersen
Fixes #7690
2020-09-13Add "hugo mod npm pack"Bjørn Erik Pedersen
This commit also introduces a convention where these common JS config files, including `package.hugo.json`, gets mounted into: ``` assets/_jsconfig ´`` These files mapped to their real filename will be added to the environment when running PostCSS, Babel etc., so you can do `process.env.HUGO_FILE_TAILWIND_CONFIG_JS` to resolve the real filename. But do note that `assets` is a composite/union filesystem, so if your config file is not meant to be overridden, name them something specific. This commit also adds adds `workDir/node_modules` to `NODE_PATH` and `HUGO_WORKDIR` to the env when running the JS tools above. Fixes #7644 Fixes #7656 Fixes #7675
2020-09-10modules: Add noVendor to module configBjørn Erik Pedersen
Fixes #7647
2020-09-10modules: Add ignoreImports to module imports configBjørn Erik Pedersen
Fixes #7646
2020-09-10modules: Make ignoreVendor a glob patternBjørn Erik Pedersen
Fixes #7642
2020-08-20Improve stderr logging for PostCSS and simlilarBjørn Erik Pedersen
Fixes #7584