Repository Analysis

gohugoio/hugo

The world’s fastest framework for building websites.

4.2 Likely human-written View on GitHub
4.2
Adjusted Score
4.2
Raw Score
100%
Time Factor
2026-05-29
Last Push
88,316
Stars
Go
Language
312,810
Lines of Code
2235
Files
965
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 34HIGH 0MEDIUM 9LOW 922

Pattern Findings

965 matches across 9 categories. Click a row to expand file-level details.

Over-Commented Block879 hits · 879 pts
SeverityFileLineSnippet
LOWmain_withdeploy_off_test.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWmain.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWmain_withdeploy_test.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWmain_test.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWreleaser/releaser.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWdocshelper/docs.go1// Copyright 2017-present The Hugo Authors. All rights reserved.
LOWmetrics/metrics.go1// Copyright 2017 The Hugo Authors. All rights reserved.
LOWmetrics/metrics_test.go1// Copyright 2017 The Hugo Authors. All rights reserved.
LOWbufferpool/bufpool.go1// Copyright 2015 The Hugo Authors. All rights reserved.
LOWbufferpool/bufpool_test.go1// Copyright 2016-present The Hugo Authors. All rights reserved.
LOWcache/dynacache/dynacache_test.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWcache/dynacache/dynacache.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWcache/filecache/filecache_pruner.go1// Copyright 2018 The Hugo Authors. All rights reserved.
LOWcache/filecache/filecache_test.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWcache/filecache/filecache_pruner_test.go1// Copyright 2018 The Hugo Authors. All rights reserved.
LOWcache/filecache/filecache.go1// Copyright 2026 The Hugo Authors. All rights reserved.
LOWcache/filecache/filecache_config_test.go1// Copyright 2018 The Hugo Authors. All rights reserved.
LOWcache/filecache/filecache_integration_test.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWcache/filecache/filecache_config.go1// Copyright 2018 The Hugo Authors. All rights reserved.
LOWcache/httpcache/httpcache_integration_test.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWcache/httpcache/httpcache.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWcache/httpcache/httpcache_test.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWwatcher/batcher.go1// Copyright 2020 The Hugo Authors. All rights reserved.
LOWidentity/finder.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWidentity/identity_test.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWidentity/question.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWidentity/finder_test.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWidentity/question_test.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWidentity/predicate_identity.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWidentity/identity.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWidentity/predicate_identity_test.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWconfig/defaultConfigProvider.go1// Copyright 2021 The Hugo Authors. All rights reserved.
LOWconfig/env.go1// Copyright 2019 The Hugo Authors. All rights reserved.
LOWconfig/configProvider_test.go1// Copyright 2018 The Hugo Authors. All rights reserved.
LOWconfig/namespace_test.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWconfig/commonConfig.go1// Copyright 2019 The Hugo Authors. All rights reserved.
LOWconfig/env_test.go1// Copyright 2019 The Hugo Authors. All rights reserved.
LOWconfig/configLoader_test.go1// Copyright 2019 The Hugo Authors. All rights reserved.
LOWconfig/commonConfig_test.go1// Copyright 2020 The Hugo Authors. All rights reserved.
LOWconfig/configLoader.go1// Copyright 2025 The Hugo Authors. All rights reserved.
LOWconfig/defaultConfigProvider_test.go1// Copyright 2021 The Hugo Authors. All rights reserved.
LOWconfig/configProvider.go1// Copyright 2019 The Hugo Authors. All rights reserved.
LOWconfig/namespace.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWconfig/privacy/privacyConfig.go1// Copyright 2018 The Hugo Authors. All rights reserved.
LOWconfig/privacy/privacyConfig_test.go1// Copyright 2018 The Hugo Authors. All rights reserved.
LOWconfig/security/securityConfig.go1// Copyright 2018 The Hugo Authors. All rights reserved.
LOWconfig/security/whitelist.go1// Copyright 2021 The Hugo Authors. All rights reserved.
LOWconfig/security/whitelist_test.go1// Copyright 2021 The Hugo Authors. All rights reserved.
LOWconfig/security/securityConfig_test.go1// Copyright 2018 The Hugo Authors. All rights reserved.
LOWconfig/testconfig/testconfig.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWconfig/allconfig/configlanguage.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWconfig/allconfig/alldecoders.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWconfig/allconfig/allconfig.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWconfig/allconfig/docshelper.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWconfig/allconfig/load.go1// Copyright 2024 The Hugo Authors. All rights reserved.
LOWconfig/services/servicesConfig.go1// Copyright 2019 The Hugo Authors. All rights reserved.
LOWconfig/services/servicesConfig_test.go1// Copyright 2018 The Hugo Authors. All rights reserved.
LOWpublisher/htmlElementsCollector.go1// Copyright 2020 The Hugo Authors. All rights reserved.
LOWpublisher/htmlElementsCollector_test.go1// Copyright 2020 The Hugo Authors. All rights reserved.
LOWpublisher/publisher.go1// Copyright 2020 The Hugo Authors. All rights reserved.
819 more matches not shown…
Hallucination Indicators34 hits · 355 pts
SeverityFileLineSnippet
CRITICALresources/resource_factories/create/create.go166 fi, err := c.rs.BaseFs.Assets.Fs.Stat(filename)
CRITICALtpl/images/images.go92 config, _, err := ns.deps.ResourceSpec.Imaging.Codec.DecodeConfig(format, f)
CRITICALtpl/templates/templates.go152 _, _ = ns.deps.BuildState.DeferredExecutions.Executions.GetOrCreate(id,
CRITICALhugolib/page__content.go500 cp.po.p.s.Log.Trace(logg.StringFunc(func() string {
CRITICALhugolib/page__content.go504 cp.po.p.s.h.contentRenderCounter.Add(1)
CRITICALhugolib/page__content.go612 html := cp.po.p.s.ContentSpec.TrimShortHTML(b.Bytes(), cp.po.p.m.pageConfigSource.Content.Markup)
CRITICALhugolib/page__content.go683 combined := cp.po.p.m.content.hasShortcode.Load().Or(*cp2.po.p.m.content.hasShortcode.Load())
CRITICALhugolib/page__content.go684 cp.po.p.m.content.hasShortcode.Store(&combined)
CRITICALhugolib/page__content.go704 isHTML := cp.po.p.m.pageConfigSource.ContentMediaType.IsHTML()
CRITICALhugolib/page__content.go776 v, err := c.pm.cacheContentPlain.GetOrCreateWitTimeout(key, cp.po.p.s.Conf.Timeout(), func(string) (*resources.StaleVal
CRITICALhugolib/page__content.go1018 combined := pco.po.p.m.content.hasShortcode.Load().Or(parseInfo.shortcodeParseInfo.hasName)
CRITICALhugolib/page__content.go1019 pco.po.p.m.content.hasShortcode.Store(&combined)
CRITICALhugolib/page__content.go1037 markup = pco.po.p.s.ContentSpec.ResolveMarkup(opts.Markup)
CRITICALhugolib/page__content.go1039 rendered = pco.po.p.s.ContentSpec.TrimShortHTML(rendered, markup)
CRITICALhugolib/page.go200 b := ps.s.conf.Segments.Config.SegmentFilter.ShouldExcludeFine(
CRITICALhugolib/page__per_output.go144 return pco.po.p.m.content.getOrCreateScope(scope, pco)
CRITICALhugolib/page__per_output.go148 return pco.po.p.m.content.getOrCreateScope("", pco)
CRITICALhugolib/page__per_output.go184 pco.po.p.s.h.FatalError(pco.po.p.wrapError(err))
CRITICALhugolib/page__per_output.go359 v := pco.po.p.s.TemplateStore.LookupPagesLayout(q)
CRITICALhugolib/page__per_output.go382 r := pco.po.p.s.ContentSpec.Converters.GetHighlighter()
CRITICALhugolib/content_map_page_assembler.go980 if pageBundle.m.pageConfig.Dates.Lastmod.After(pageBundle.s.lastmod) {
CRITICALhugolib/content_map_page_assembler.go983 if sp.m.pageConfig.Dates.Lastmod.After(pageBundle.s.lastmod) {
CRITICALhugolib/content_map_page_assembler.go1241 sa.s.h.progressReporter.numPagesToRender.Add(1)
CRITICALhugolib/page__menus.go33 _ = p.p.s.init.menus.Value(context.Background())
CRITICALhugolib/page__menus.go39 _ = p.p.s.init.menus.Value(context.Background())
CRITICALhugolib/page__menus.go46 _ = p.p.s.init.menus.Value(context.Background())
CRITICALhugolib/hugo_sites_build.go427 if s.conf.Segments.Config.SegmentFilter.ShouldExcludeCoarse(segments.SegmentQuery{Site: s.siteVector}) {
CRITICALhugolib/hugo_sites_build.go434 if s.conf.Segments.Config.SegmentFilter.ShouldExcludeCoarse(segments.SegmentQuery{Output: renderFormat.Name, Site: s.
CRITICALhugolib/integrationtest_builder.go531 conf, format, err := s.H.ResourceSpec.Imaging.Codec.DecodeConfig(0, bytes.NewReader(b))
CRITICALhugolib/integrationtest_builder.go533 img, err := s.H.ResourceSpec.Imaging.Codec.Decode(bytes.NewReader(b))
CRITICALhugolib/page__tree.go74 _, n := pt.p.s.pageMap.treePages.LongestPrefix(dir, false, func(n contentNode) bool {
CRITICALhugolib/page__tree.go92 k, n := pt.p.s.pageMap.treePages.LongestPrefix(s, false, func(n contentNode) bool { return cnh.isBranchNode(n) })
CRITICALhugolib/page__tree.go136 _, n := pt.p.s.pageMap.treePages.LongestPrefix(dir, false, nil)
CRITICALhugolib/filesystems/basefs_test.go487 fi, err := b.H.BaseFs.Content.Fs.Stat(filepath.FromSlash(first.Path))
Fake / Example Data35 hits · 42 pts
SeverityFileLineSnippet
LOWtpl/crypto/crypto_test.go33 {"Lorem ipsum dolor", "06ce65ac476fc656bea3fca5d02cfd81"},
LOWtpl/crypto/crypto_test.go60 {"Lorem ipsum dolor", "45f75b844be4d17b3394c6701768daf39419c99b"},
LOWtpl/crypto/crypto_test.go87 {"Lorem ipsum dolor", "9b3e1beb7053e0f900a674dd1c99aca3355e1275e1b03d3cb1bc977f5154e196"},
LOWinternal/warpc/deps/parson/parson.c856Example: "\u006Corem ipsum" -> lorem ipsum */
LOWdocs/content/en/functions/partials/Include.md50 "name" "John Doe"
LOWdocs/content/en/templates/rss.md41name = 'John Doe'
LOWhugolib/page_test.go52[Lorem ipsum](https://lipsum.com/) dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labo
LOWhugolib/page_test.go52[Lorem ipsum](https://lipsum.com/) dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labo
LOWhugolib/page_test.go146Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
LOWhugolib/page_test.go146Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
LOWhugolib/page_test.go151culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit
LOWhugolib/page_test.go157officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet,
LOWhugolib/page_test.go157officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet,
LOWhugolib/page_test.go163deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur
LOWhugolib/page_test.go163deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur
LOWhugolib/page_test.go169id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
LOWhugolib/page_test.go169id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
LOWhugolib/page_test.go175ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
LOWhugolib/page_test.go180culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit
LOWhugolib/page_test.go569 checkPageContent(t, p, normalizeExpected(ext, "<p><a href=\"https://lipsum.com/\">Lorem ipsum</a> dolor sit amet, con
LOWhugolib/page_test.go569 checkPageContent(t, p, normalizeExpected(ext, "<p><a href=\"https://lipsum.com/\">Lorem ipsum</a> dolor sit amet, con
LOWhugolib/page_test.go570 checkPageSummary(t, p, normalizeExpected(ext, "<p><a href=\"https://lipsum.com/\">Lorem ipsum</a> dolor sit amet, con
LOWhugolib/page_test.go570 checkPageSummary(t, p, normalizeExpected(ext, "<p><a href=\"https://lipsum.com/\">Lorem ipsum</a> dolor sit amet, con
LOWhugolib/testdata/what-is-markdown.md9399 "Lorem ipsum dolor\nsit amet."
LOWhugolib/testdata/what-is-markdown.md9458> Lorem ipsum dolor
LOWhugolib/testdata/what-is-markdown.md9473> Lorem ipsum dolor
LOWhugolib/testdata/what-is-markdown.md9485 "Lorem ipsum dolor"
LOWhugolib/testdata/what-is-markdown.md9501 "Lorem ipsum dolor\nsit amet."
LOWhugolib/testdata/what-is-markdown.md9519 "Lorem ipsum dolor\nsit amet."
LOWhugolib/testdata/what-is-markdown.md9541 "Lorem ipsum dolor\nsit amet."
LOWhugolib/testdata/what-is-markdown.md9564 str "Lorem ipsum dolor"
LOWhugolib/pagesfromdata/pagesfromgotmpl_test.go24 "largeText": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauri
LOWhugolib/pagesfromdata/pagesfromgotmpl_test.go24 "largeText": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauri
LOWhugofs/hashing_fs_test.go60 content := []byte(strings.Repeat("lorem ipsum ", 1000))
LOWcreate/skeletons/theme/content/posts/post-1.md10Occaecat nulla excepteur dolore excepteur duis eiusmod ullamco officia anim in voluptate ea occaecat officia. Cillum sin
Decorative Section Separators6 hits · 18 pts
SeverityFileLineSnippet
MEDIUMdocs/content/en/host-and-deploy/host-on-render/index.md55 #------------------------------------------------------------------------------
MEDIUMdocs/content/en/host-and-deploy/host-on-render/index.md60 #------------------------------------------------------------------------------
MEDIUM…content/en/host-and-deploy/host-on-cloudflare/index.md45 #------------------------------------------------------------------------------
MEDIUM…content/en/host-and-deploy/host-on-cloudflare/index.md50 #------------------------------------------------------------------------------
MEDIUMdocs/content/en/host-and-deploy/host-on-vercel/index.md41 #------------------------------------------------------------------------------
MEDIUMdocs/content/en/host-and-deploy/host-on-vercel/index.md46 #------------------------------------------------------------------------------
Redundant / Tautological Comments4 hits · 8 pts
SeverityFileLineSnippet
LOWcheck.sh41 # Check if staticcheck is installed, install if not
LOWscripts/docker/entrypoint.sh3# Check if a custom hugo-docker-entrypoint.sh file exists.
LOWscripts/docker/entrypoint.sh10# Check if a package.json file exists.
LOWscripts/docker/entrypoint.sh12 # Check if node_modules exists.
AI Slop Vocabulary3 hits · 8 pts
SeverityFileLineSnippet
LOWlivereload/livereload.js325 // #match works fine because it just return the exec results, even if it has
MEDIUMhugofs/fs.go173// TODO(bep) make this more robust.
MEDIUMhugofs/hglob/filename_filter.go178 // to make this robust.
Hyper-Verbose Identifiers2 hits · 2 pts
SeverityFileLineSnippet
LOWlivereload/livereload.js2173 getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
LOWlivereload/livereload.js3495 value: function collectImportedStylesheets(link, styleSheet, result) {
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippet
MEDIUMtpl/internal/go_templates/texttemplate/doc.go463constant. Here is a simple example:
Verbosity Indicators1 hit · 2 pts
SeverityFileLineSnippet
LOWinternal/js/esbuild/resolve.go106 // We need to check if this is a regular file imported without an extension.