mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
c6d650c8c8
This more or less completes the simplification of the template handling code in Hugo started in v0.62. The main motivation was to fix a long lasting issue about a crash in HTML content files without front matter. But this commit also comes with a big functional improvement. As we now have moved the base template evaluation to the build stage we now use the same lookup rules for `baseof` as for `list` etc. type of templates. This means that in this simple example you can have a `baseof` template for the `blog` section without having to duplicate the others: ``` layouts ├── _default │ ├── baseof.html │ ├── list.html │ └── single.html └── blog └── baseof.html ``` Also, when simplifying code, you often get rid of some double work, as shown in the "site building" benchmarks below. These benchmarks looks suspiciously good, but I have repeated the below with ca. the same result. Compared to master: ``` name old time/op new time/op delta SiteNew/Bundle_with_image-16 13.1ms ± 1% 10.5ms ± 1% -19.34% (p=0.029 n=4+4) SiteNew/Bundle_with_JSON_file-16 13.0ms ± 0% 10.7ms ± 1% -18.05% (p=0.029 n=4+4) SiteNew/Tags_and_categories-16 46.4ms ± 2% 43.1ms ± 1% -7.15% (p=0.029 n=4+4) SiteNew/Canonify_URLs-16 52.2ms ± 2% 47.8ms ± 1% -8.30% (p=0.029 n=4+4) SiteNew/Deep_content_tree-16 77.9ms ± 1% 70.9ms ± 1% -9.01% (p=0.029 n=4+4) SiteNew/Many_HTML_templates-16 43.0ms ± 0% 37.2ms ± 1% -13.54% (p=0.029 n=4+4) SiteNew/Page_collections-16 58.2ms ± 1% 52.4ms ± 1% -9.95% (p=0.029 n=4+4) name old alloc/op new alloc/op delta SiteNew/Bundle_with_image-16 3.81MB ± 0% 2.22MB ± 0% -41.70% (p=0.029 n=4+4) SiteNew/Bundle_with_JSON_file-16 3.60MB ± 0% 2.01MB ± 0% -44.20% (p=0.029 n=4+4) SiteNew/Tags_and_categories-16 19.3MB ± 1% 14.1MB ± 0% -26.91% (p=0.029 n=4+4) SiteNew/Canonify_URLs-16 70.7MB ± 0% 69.0MB ± 0% -2.40% (p=0.029 n=4+4) SiteNew/Deep_content_tree-16 37.1MB ± 0% 31.2MB ± 0% -15.94% (p=0.029 n=4+4) SiteNew/Many_HTML_templates-16 17.6MB ± 0% 10.6MB ± 0% -39.92% (p=0.029 n=4+4) SiteNew/Page_collections-16 25.9MB ± 0% 21.2MB ± 0% -17.99% (p=0.029 n=4+4) name old allocs/op new allocs/op delta SiteNew/Bundle_with_image-16 52.3k ± 0% 26.1k ± 0% -50.18% (p=0.029 n=4+4) SiteNew/Bundle_with_JSON_file-16 52.3k ± 0% 26.1k ± 0% -50.16% (p=0.029 n=4+4) SiteNew/Tags_and_categories-16 336k ± 1% 269k ± 0% -19.90% (p=0.029 n=4+4) SiteNew/Canonify_URLs-16 422k ± 0% 395k ± 0% -6.43% (p=0.029 n=4+4) SiteNew/Deep_content_tree-16 401k ± 0% 313k ± 0% -21.79% (p=0.029 n=4+4) SiteNew/Many_HTML_templates-16 247k ± 0% 143k ± 0% -42.17% (p=0.029 n=4+4) SiteNew/Page_collections-16 282k ± 0% 207k ± 0% -26.55% (p=0.029 n=4+4) ``` Fixes #6716 Fixes #6760 Fixes #6768 Fixes #6778
77 lines
3.1 KiB
Modula-2
77 lines
3.1 KiB
Modula-2
module github.com/gohugoio/hugo
|
|
|
|
require (
|
|
github.com/BurntSushi/locker v0.0.0-20171006230638-a6e239ea1c69
|
|
github.com/BurntSushi/toml v0.3.1
|
|
github.com/PuerkitoBio/purell v1.1.1
|
|
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect
|
|
github.com/alecthomas/chroma v0.7.1
|
|
github.com/alecthomas/repr v0.0.0-20181024024818-d37bc2a10ba1 // indirect
|
|
github.com/armon/go-radix v1.0.0
|
|
github.com/aws/aws-sdk-go v1.27.1
|
|
github.com/bep/debounce v1.2.0
|
|
github.com/bep/gitmap v1.1.1
|
|
github.com/bep/go-tocss v0.6.0
|
|
github.com/bep/tmc v0.5.1
|
|
github.com/disintegration/gift v1.2.1
|
|
github.com/dlclark/regexp2 v1.2.0 // indirect
|
|
github.com/dustin/go-humanize v1.0.0
|
|
github.com/fortytw2/leaktest v1.3.0
|
|
github.com/frankban/quicktest v1.7.2
|
|
github.com/fsnotify/fsnotify v1.4.7
|
|
github.com/gobwas/glob v0.2.3
|
|
github.com/gohugoio/testmodBuilder v0.0.0-20190924072732-02465a37be06 // indirect
|
|
github.com/gohugoio/testmodBuilder/mods v0.0.0-20190520184928-c56af20f2e95
|
|
github.com/google/go-cmp v0.3.2-0.20191028172631-481baca67f93
|
|
github.com/gorilla/websocket v1.4.1
|
|
github.com/jdkato/prose v1.1.1
|
|
github.com/kr/pretty v0.2.0 // indirect
|
|
github.com/kyokomi/emoji v2.1.0+incompatible
|
|
github.com/magefile/mage v1.9.0
|
|
github.com/markbates/inflect v1.0.0
|
|
github.com/mattn/go-isatty v0.0.11
|
|
github.com/miekg/mmark v1.3.6
|
|
github.com/mitchellh/hashstructure v1.0.0
|
|
github.com/mitchellh/mapstructure v1.1.2
|
|
github.com/muesli/smartcrop v0.3.0
|
|
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 // indirect
|
|
github.com/nicksnyder/go-i18n v1.10.0
|
|
github.com/niklasfasching/go-org v1.0.0
|
|
github.com/olekukonko/tablewriter v0.0.4
|
|
github.com/pelletier/go-toml v1.6.0 // indirect
|
|
github.com/pkg/errors v0.8.1
|
|
github.com/rogpeppe/go-internal v1.5.1
|
|
github.com/russross/blackfriday v1.5.3-0.20190124082335-a477dd164691
|
|
github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd
|
|
github.com/sanity-io/litter v1.2.0
|
|
github.com/spf13/afero v1.2.2
|
|
github.com/spf13/cast v1.3.1
|
|
github.com/spf13/cobra v0.0.5
|
|
github.com/spf13/fsync v0.9.0
|
|
github.com/spf13/jwalterweatherman v1.1.0
|
|
github.com/spf13/pflag v1.0.5
|
|
github.com/spf13/viper v1.6.1
|
|
github.com/tdewolff/minify/v2 v2.7.2
|
|
github.com/yuin/goldmark v1.1.21
|
|
github.com/yuin/goldmark-highlighting v0.0.0-20191202084645-78f32c8dd6d5
|
|
go.opencensus.io v0.22.0 // indirect
|
|
go.uber.org/atomic v1.4.0
|
|
gocloud.dev v0.15.0
|
|
golang.org/x/image v0.0.0-20191214001246-9130b4cfad52
|
|
golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553 // indirect
|
|
golang.org/x/oauth2 v0.0.0-20190523182746-aaccbc9213b0 // indirect
|
|
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e
|
|
golang.org/x/sys v0.0.0-20200107144601-ef85f5a75ddf // indirect
|
|
golang.org/x/text v0.3.2
|
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 // indirect
|
|
google.golang.org/api v0.5.0
|
|
google.golang.org/appengine v1.6.0 // indirect
|
|
google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69 // indirect
|
|
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
|
|
gopkg.in/ini.v1 v1.51.1 // indirect
|
|
gopkg.in/yaml.v2 v2.2.7
|
|
)
|
|
|
|
replace github.com/markbates/inflect => github.com/markbates/inflect v0.0.0-20171215194931-a12c3aec81a6
|
|
|
|
go 1.12
|