hugo

command module
v0.134.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 19, 2024 License: Apache-2.0 Imports: 3 Imported by: 1

README

Hugo

A fast and flexible static site generator built with love by bep, spf13, and friends in Go.


GoDoc Tests on Linux, MacOS and Windows Go Report Card

Website | Installation | Documentation | Support | Contributing | Mastodon | X

Overview

Hugo is a static site generator written in Go, optimized for speed and designed for flexibility. With its advanced templating system and fast asset pipelines, Hugo renders a complete site in seconds, often less.

Due to its flexible framework, multilingual support, and powerful taxonomy system, Hugo is widely used to create:

  • Corporate, government, nonprofit, education, news, event, and project sites
  • Documentation sites
  • Image portfolios
  • Landing pages
  • Business, professional, and personal blogs
  • Resumes and CVs

Use Hugo's embedded web server during development to instantly see changes to content, structure, behavior, and presentation. Then deploy the site to your host, or push changes to your Git provider for automated builds and deployment.

Hugo's fast asset pipelines include:

  • Image processing – Convert, resize, crop, rotate, adjust colors, apply filters, overlay text and images, and extract EXIF data
  • JavaScript bundling – Transpile TypeScript and JSX to JavaScript, bundle, tree shake, minify, create source maps, and perform SRI hashing.
  • Sass processing – Transpile Sass to CSS, bundle, tree shake, minify, create source maps, perform SRI hashing, and integrate with PostCSS
  • Tailwind CSS processing – Compile Tailwind CSS utility classes into standard CSS, bundle, tree shake, optimize, minify, perform SRI hashing, and integrate with PostCSS

And with Hugo Modules, you can share content, assets, data, translations, themes, templates, and configuration with other projects via public or private Git repositories.

See the features section of the documentation for a comprehensive summary of Hugo's capabilities.

Sponsors

 

Linode    

Installation

Install Hugo from a prebuilt binary, package manager, or package repository. Please see the installation instructions for your operating system:

Build from source

Hugo is available in two editions: standard and extended. With the extended edition you can:

  • Encode to the WebP format when processing images. You can decode WebP images with either edition.
  • Transpile Sass to CSS using the embedded LibSass transpiler. The extended edition is not required to use the Dart Sass transpiler.

Prerequisites to build Hugo from source:

  • Standard edition: Go 1.20 or later
  • Extended edition: Go 1.20 or later, and GCC

Build the standard edition:

go install github.com/gohugoio/hugo@latest

Build the extended edition:

CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@latest

Star History

Star History Chart

Documentation

Hugo's documentation includes installation instructions, a quick start guide, conceptual explanations, reference information, and examples.

Please submit documentation issues and pull requests to the documentation repository.

Support

Please do not use the issue queue for questions or troubleshooting. Unless you are certain that your issue is a software defect, use the forum.

Hugo’s forum is an active community of users and developers who answer questions, share knowledge, and provide examples. A quick search of over 20,000 topics will often answer your question. Please be sure to read about requesting help before asking your first question.

Contributing

You can contribute to the Hugo project by:

Please submit documentation issues and pull requests to the documentation repository.

If you have an idea for an enhancement or new feature, create a new topic on the forum in the "Feature" category. This will help you to:

  • Determine if the capability already exists
  • Measure interest
  • Refine the concept

If there is sufficient interest, create a proposal. Do not submit a pull request until the project lead accepts the proposal.

For a complete guide to contributing to Hugo, see the Contribution Guide.

Dependencies

Hugo stands on the shoulders of great open source libraries. Run hugo env --logLevel info to display a list of dependencies.

See current dependencies
cloud.google.com/go/compute/metadata="v0.2.3"
cloud.google.com/go/iam="v1.1.5"
cloud.google.com/go/storage="v1.35.1"
cloud.google.com/go="v0.110.10"
github.com/Azure/azure-sdk-for-go/sdk/azcore="v1.9.0"
github.com/Azure/azure-sdk-for-go/sdk/azidentity="v1.4.0"
github.com/Azure/azure-sdk-for-go/sdk/internal="v1.5.0"
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob="v1.2.0"
github.com/Azure/go-autorest/autorest/to="v0.4.0"
github.com/AzureAD/microsoft-authentication-library-for-go="v1.2.0"
github.com/BurntSushi/locker="v0.0.0-20171006230638-a6e239ea1c69"
github.com/alecthomas/chroma/v2="v2.14.0"
github.com/armon/go-radix="v1.0.1-0.20221118154546-54df44f2176c"
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream="v1.5.4"
github.com/aws/aws-sdk-go-v2/config="v1.26.1"
github.com/aws/aws-sdk-go-v2/credentials="v1.16.12"
github.com/aws/aws-sdk-go-v2/feature/ec2/imds="v1.14.10"
github.com/aws/aws-sdk-go-v2/feature/s3/manager="v1.15.7"
github.com/aws/aws-sdk-go-v2/internal/configsources="v1.3.5"
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2="v2.6.5"
github.com/aws/aws-sdk-go-v2/internal/ini="v1.7.2"
github.com/aws/aws-sdk-go-v2/internal/v4a="v1.2.9"
github.com/aws/aws-sdk-go-v2/service/cloudfront="v1.35.4"
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding="v1.10.4"
github.com/aws/aws-sdk-go-v2/service/internal/checksum="v1.2.9"
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url="v1.10.9"
github.com/aws/aws-sdk-go-v2/service/internal/s3shared="v1.16.9"
github.com/aws/aws-sdk-go-v2/service/s3="v1.47.5"
github.com/aws/aws-sdk-go-v2/service/sso="v1.18.5"
github.com/aws/aws-sdk-go-v2/service/ssooidc="v1.21.5"
github.com/aws/aws-sdk-go-v2/service/sts="v1.26.5"
github.com/aws/aws-sdk-go-v2="v1.26.1"
github.com/aws/aws-sdk-go="v1.50.7"
github.com/aws/smithy-go="v1.20.2"
github.com/bep/clocks="v0.5.0"
github.com/bep/debounce="v1.2.0"
github.com/bep/gitmap="v1.1.2"
github.com/bep/goat="v0.5.0"
github.com/bep/godartsass/v2="v2.0.0"
github.com/bep/godartsass="v1.2.0"
github.com/bep/golibsass="v1.1.1"
github.com/bep/gowebp="v0.3.0"
github.com/bep/lazycache="v0.4.0"
github.com/bep/logg="v0.4.0"
github.com/bep/mclib="v1.20400.20402"
github.com/bep/overlayfs="v0.9.2"
github.com/bep/simplecobra="v0.4.0"
github.com/bep/tmc="v0.5.1"
github.com/clbanning/mxj/v2="v2.7.0"
github.com/cli/safeexec="v1.0.1"
github.com/cpuguy83/go-md2man/v2="v2.0.3"
github.com/disintegration/gift="v1.2.1"
github.com/dlclark/regexp2="v1.11.0"
github.com/dustin/go-humanize="v1.0.1"
github.com/evanw/esbuild="v0.21.4"
github.com/fatih/color="v1.16.0"
github.com/frankban/quicktest="v1.14.6"
github.com/fsnotify/fsnotify="v1.7.0"
github.com/getkin/kin-openapi="v0.123.0"
github.com/ghodss/yaml="v1.0.0"
github.com/go-openapi/jsonpointer="v0.20.2"
github.com/go-openapi/swag="v0.22.8"
github.com/gobuffalo/flect="v1.0.2"
github.com/gobwas/glob="v0.2.3"
github.com/gohugoio/go-i18n/v2="v2.1.3-0.20230805085216-e63c13218d0e"
github.com/gohugoio/httpcache="v0.7.0"
github.com/gohugoio/hugo-goldmark-extensions/extras="v0.2.0"
github.com/gohugoio/hugo-goldmark-extensions/passthrough="v0.2.0"
github.com/gohugoio/locales="v0.14.0"
github.com/gohugoio/localescompressed="v1.0.1"
github.com/golang-jwt/jwt/v5="v5.1.0"
github.com/golang/groupcache="v0.0.0-20210331224755-41bb18bfe9da"
github.com/golang/protobuf="v1.5.3"
github.com/google/go-cmp="v0.6.0"
github.com/google/s2a-go="v0.1.7"
github.com/google/uuid="v1.4.0"
github.com/google/wire="v0.5.0"
github.com/googleapis/enterprise-certificate-proxy="v0.3.2"
github.com/googleapis/gax-go/v2="v2.12.0"
github.com/gorilla/websocket="v1.5.1"
github.com/hairyhenderson/go-codeowners="v0.4.0"
github.com/hashicorp/golang-lru/v2="v2.0.7"
github.com/invopop/yaml="v0.2.0"
github.com/jdkato/prose="v1.2.1"
github.com/jmespath/go-jmespath="v0.4.0"
github.com/josharian/intern="v1.0.0"
github.com/kr/pretty="v0.3.1"
github.com/kr/text="v0.2.0"
github.com/kylelemons/godebug="v1.1.0"
github.com/kyokomi/emoji/v2="v2.2.12"
github.com/mailru/easyjson="v0.7.7"
github.com/makeworld-the-better-one/dither/v2="v2.4.0"
github.com/marekm4/color-extractor="v1.2.1"
github.com/mattn/go-colorable="v0.1.13"
github.com/mattn/go-isatty="v0.0.20"
github.com/mattn/go-runewidth="v0.0.9"
github.com/mitchellh/hashstructure="v1.1.0"
github.com/mitchellh/mapstructure="v1.5.1-0.20231216201459-8508981c8b6c"
github.com/mohae/deepcopy="v0.0.0-20170929034955-c48cc78d4826"
github.com/muesli/smartcrop="v0.3.0"
github.com/niklasfasching/go-org="v1.7.0"
github.com/olekukonko/tablewriter="v0.0.5"
github.com/pbnjay/memory="v0.0.0-20210728143218-7b4eea64cf58"
github.com/pelletier/go-toml/v2="v2.2.2"
github.com/perimeterx/marshmallow="v1.1.5"
github.com/pkg/browser="v0.0.0-20210911075715-681adbf594b8"
github.com/pkg/errors="v0.9.1"
github.com/rogpeppe/go-internal="v1.12.0"
github.com/russross/blackfriday/v2="v2.1.0"
github.com/rwcarlsen/goexif="v0.0.0-20190401172101-9e8deecbddbd"
github.com/sass/dart-sass/compiler="1.77.5"
github.com/sass/dart-sass/implementation="1.77.5"
github.com/sass/dart-sass/protocol="2.7.1"
github.com/sass/libsass="3.6.5"
github.com/spf13/afero="v1.11.0"
github.com/spf13/cast="v1.6.0"
github.com/spf13/cobra="v1.8.0"
github.com/spf13/fsync="v0.10.1"
github.com/spf13/pflag="v1.0.5"
github.com/tdewolff/minify/v2="v2.20.20"
github.com/tdewolff/parse/v2="v2.7.13"
github.com/webmproject/libwebp="v1.3.2"
github.com/yuin/goldmark-emoji="v1.0.3"
github.com/yuin/goldmark="v1.7.4"
go.opencensus.io="v0.24.0"
go.uber.org/automaxprocs="v1.5.3"
gocloud.dev="v0.36.0"
golang.org/x/crypto="v0.23.0"
golang.org/x/exp="v0.0.0-20221031165847-c99f073a8326"
golang.org/x/image="v0.16.0"
golang.org/x/mod="v0.17.0"
golang.org/x/net="v0.25.0"
golang.org/x/oauth2="v0.15.0"
golang.org/x/sync="v0.7.0"
golang.org/x/sys="v0.20.0"
golang.org/x/text="v0.15.0"
golang.org/x/time="v0.5.0"
golang.org/x/tools="v0.20.0"
golang.org/x/xerrors="v0.0.0-20231012003039-104605ab7028"
google.golang.org/api="v0.152.0"
google.golang.org/genproto/googleapis/api="v0.0.0-20231120223509-83a465c0220f"
google.golang.org/genproto/googleapis/rpc="v0.0.0-20231120223509-83a465c0220f"
google.golang.org/genproto="v0.0.0-20231120223509-83a465c0220f"
google.golang.org/grpc="v1.59.0"
google.golang.org/protobuf="v1.33.0"
gopkg.in/yaml.v2="v2.4.0"
gopkg.in/yaml.v3="v3.0.1"
software.sslmate.com/src/go-pkcs12="v0.2.0"

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package bufferpool provides a pool of bytes buffers.
Package bufferpool provides a pool of bytes buffers.
Package cache contains the different cache implementations.
Package cache contains the different cache implementations.
filecache
Package filecache provides a file based cache for Hugo.
Package filecache provides a file based cache for Hugo.
Package codegen contains helpers for code generation.
Package codegen contains helpers for code generation.
Package common provides common helper functionality for Hugo.
Package common provides common helper functionality for Hugo.
collections
Package collections contains common Hugo functionality related to collection handling.
Package collections contains common Hugo functionality related to collection handling.
hashing
Package hashing provides common hashing utilities.
Package hashing provides common hashing utilities.
herrors
Package herrors contains common Hugo errors and error related utilities.
Package herrors contains common Hugo errors and error related utilities.
hreflect
Package hreflect contains reflect helpers.
Package hreflect contains reflect helpers.
loggers
package loggers contains some basic logging setup.
package loggers contains some basic logging setup.
para
Package para implements parallel execution helpers.
Package para implements parallel execution helpers.
terminal
Package terminal contains helper for the terminal, such as coloring output.
Package terminal contains helper for the terminal, such as coloring output.
types
Package types contains types shared between packages in Hugo.
Package types contains types shared between packages in Hugo.
allconfig
Package allconfig contains the full configuration for Hugo.
Package allconfig contains the full configuration for Hugo.
testconfig
This package should only be used for testing.
This package should only be used for testing.
Package create provides functions to create new content.
Package create provides functions to create new content.
Package docshelper provides some helpers for the Hugo documentation, and is of limited interest for the general Hugo user.
Package docshelper provides some helpers for the Hugo documentation, and is of limited interest for the general Hugo user.
Package helpers implements general utility functions that work with and on content.
Package helpers implements general utility functions that work with and on content.
hqt
Package hugofs provides the file systems used by Hugo.
Package hugofs provides the file systems used by Hugo.
filesystems
Package filesystems provides the fine grained file systems used by Hugo.
Package filesystems provides the fine grained file systems used by Hugo.
Package provides ways to identify values in Hugo.
Package provides ways to identify values in Hugo.
internal
Package langs contains the language related types and function.
Package langs contains the language related types and function.
gen
Package markup contains the markup handling (e.g.
Package markup contains the markup handling (e.g.
asciidocext
Package asciidocext converts AsciiDoc to HTML using Asciidoctor external binary.
Package asciidocext converts AsciiDoc to HTML using Asciidoctor external binary.
asciidocext/asciidocext_config
Package asciidocext_config holds asciidoc related configuration.
Package asciidocext_config holds asciidoc related configuration.
blackfriday
Package blackfriday holds some compability functions for the old Blackfriday v1 Markdown engine.
Package blackfriday holds some compability functions for the old Blackfriday v1 Markdown engine.
goldmark
Package goldmark converts Markdown to HTML using Goldmark.
Package goldmark converts Markdown to HTML using Goldmark.
goldmark/goldmark_config
Package goldmark_config holds Goldmark related configuration.
Package goldmark_config holds Goldmark related configuration.
highlight
Package highlight provides code highlighting.
Package highlight provides code highlighting.
org
Package org converts Emacs Org-Mode to HTML.
Package org converts Emacs Org-Mode to HTML.
pandoc
Package pandoc converts content to HTML using Pandoc as an external helper.
Package pandoc converts content to HTML using Pandoc as an external helper.
rst
Package rst converts content to HTML using the RST external helper.
Package rst converts content to HTML using the RST external helper.
Package media contains Media Type (MIME type) related types and functions.
Package media contains Media Type (MIME type) related types and functions.
Package metrics provides simple metrics tracking features.
Package metrics provides simple metrics tracking features.
Package minifiers contains minifiers mapped to MIME types.
Package minifiers contains minifiers mapped to MIME types.
mods module
Package modules provides a client that can be used to manage Hugo Components, what's referred to as Hugo Modules.
Package modules provides a client that can be used to manage Hugo Components, what's referred to as Hugo Modules.
npm
Package navigation provides the menu functionality.
Package navigation provides the menu functionality.
Package output contains Output Format types and functions.
Package output contains Output Format types and functions.
pageparser
Package pageparser provides a parser for Hugo content files (Markdown, HTML etc.) in Hugo.
Package pageparser provides a parser for Hugo content files (Markdown, HTML etc.) in Hugo.
Package related holds code to help finding related content.
Package related holds code to help finding related content.
Package releaser implements a set of utilities to help automate the Hugo release process.
Package releaser implements a set of utilities to help automate the Hugo release process.
Package resources contains Resource related types.
Package resources contains Resource related types.
images
Package images provides template functions for manipulating images.
Package images provides template functions for manipulating images.
page
Package page contains the core interfaces and types for the Page resource, a core component in Hugo.
Package page contains the core interfaces and types for the Page resource, a core component in Hugo.
resource
Package resource contains Resource related types.
Package resource contains Resource related types.
resource_factories/bundler
Package bundler contains functions for concatenation etc.
Package bundler contains functions for concatenation etc.
resource_factories/create
Package create contains functions for to create Resource objects.
Package create contains functions for to create Resource objects.
resource_transformers/cssjs
Package cssjs provides resource transformations backed by some popular JS based frameworks.
Package cssjs provides resource transformations backed by some popular JS based frameworks.
resource_transformers/templates
Package templates contains functions for template processing of Resource objects.
Package templates contains functions for template processing of Resource objects.
resource_transformers/tocss/dartsass
Package dartsass integrates with the Dart Sass Embedded protocol to transpile SCSS/SASS.
Package dartsass integrates with the Dart Sass Embedded protocol to transpile SCSS/SASS.
scripts
Package source contains the types and functions related to source files.
Package source contains the types and functions related to source files.
tpl
Package tpl contains template functions and related types.
Package tpl contains template functions and related types.
cast
Package cast provides template functions for data type conversions.
Package cast provides template functions for data type conversions.
collections
Package collections provides template functions for manipulating collections such as arrays, maps, and slices.
Package collections provides template functions for manipulating collections such as arrays, maps, and slices.
compare
Package compare provides template functions for comparing values.
Package compare provides template functions for comparing values.
crypto
Package crypto provides template functions for cryptographic operations.
Package crypto provides template functions for cryptographic operations.
css
data
Package data provides template functions for working with external data sources.
Package data provides template functions for working with external data sources.
debug
Package debug provides template functions to help debugging templates.
Package debug provides template functions to help debugging templates.
diagrams
Package diagrams provides template functions for generating diagrams.
Package diagrams provides template functions for generating diagrams.
encoding
Package encoding provides template functions for encoding content.
Package encoding provides template functions for encoding content.
fmt
Package fmt provides template functions for formatting strings.
Package fmt provides template functions for formatting strings.
hash
Package hash provides non-cryptographic hash functions for template use.
Package hash provides non-cryptographic hash functions for template use.
hugo
Package hugo provides template functions for accessing the Site Hugo object.
Package hugo provides template functions for accessing the Site Hugo object.
images
Package images provides template functions for manipulating images.
Package images provides template functions for manipulating images.
inflect
Package inflect provides template functions for the inflection of words.
Package inflect provides template functions for the inflection of words.
internal/go_templates/cfg
Package cfg holds configuration shared by the Go command and internal/testenv.
Package cfg holds configuration shared by the Go command and internal/testenv.
internal/go_templates/fmtsort
Package fmtsort provides a general stable ordering mechanism for maps, on behalf of the fmt and text/template packages.
Package fmtsort provides a general stable ordering mechanism for maps, on behalf of the fmt and text/template packages.
internal/go_templates/htmltemplate
Package template (html/template) implements data-driven templates for generating HTML output safe against code injection.
Package template (html/template) implements data-driven templates for generating HTML output safe against code injection.
internal/go_templates/testenv
Package testenv provides information about what functionality is available in different testing environments run by the Go team.
Package testenv provides information about what functionality is available in different testing environments run by the Go team.
internal/go_templates/texttemplate
Package template implements data-driven templates for generating textual output.
Package template implements data-driven templates for generating textual output.
internal/go_templates/texttemplate/parse
Package parse builds parse trees for templates as defined by text/template and html/template.
Package parse builds parse trees for templates as defined by text/template and html/template.
js
Package js provides functions for building JavaScript resources
Package js provides functions for building JavaScript resources
lang
Package lang provides template functions for content internationalization.
Package lang provides template functions for content internationalization.
math
Package math provides template functions for mathematical operations.
Package math provides template functions for mathematical operations.
openapi
Package openapi provides functions for generating OpenAPI (Swagger) documentation.
Package openapi provides functions for generating OpenAPI (Swagger) documentation.
openapi/openapi3
Package openapi3 provides functions for generating OpenAPI v3 (Swagger) documentation.
Package openapi3 provides functions for generating OpenAPI v3 (Swagger) documentation.
os
Package os provides template functions for interacting with the operating system.
Package os provides template functions for interacting with the operating system.
page
Package page provides template functions for accessing the current Page object, the entry level context for the current template.
Package page provides template functions for accessing the current Page object, the entry level context for the current template.
partials
Package partials provides template functions for working with reusable templates.
Package partials provides template functions for working with reusable templates.
path
Package path provides template functions for manipulating paths.
Package path provides template functions for manipulating paths.
reflect
Package reflect provides template functions for run-time object reflection.
Package reflect provides template functions for run-time object reflection.
resources
Package resources provides template functions for working with resources.
Package resources provides template functions for working with resources.
safe
Package safe provides template functions for escaping untrusted content or encapsulating trusted content.
Package safe provides template functions for escaping untrusted content or encapsulating trusted content.
site
Package site provides template functions for accessing the Site object.
Package site provides template functions for accessing the Site object.
strings
Package strings provides template functions for manipulating strings.
Package strings provides template functions for manipulating strings.
templates
Package templates provides template functions for working with templates.
Package templates provides template functions for working with templates.
time
Package time provides template functions for measuring and displaying time.
Package time provides template functions for measuring and displaying time.
transform
Package transform provides template functions for transforming content.
Package transform provides template functions for transforming content.
urls
Package urls provides template functions to deal with URLs.
Package urls provides template functions to deal with URLs.
filenotify
Package filenotify provides a mechanism for watching file(s) for changes.
Package filenotify provides a mechanism for watching file(s) for changes.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL