一個快速、靈活的靜態網站產生器,由 bep、spf13 和 Go 中的朋友傾心打造。
網站 |安裝|文檔 |支援|貢獻 |乳齒象 | X
Hugo 是一個用 Go 編寫的靜態網站產生器,針對速度進行了最佳化,並針對靈活性進行了設計。憑藉其先進的模板系統和快速的資源管道,Hugo 在幾秒鐘內(通常更短)即可渲染出完整的網站。
由於其靈活的框架、多語言支援和強大的分類系統,Hugo 被廣泛用於創建:
企業、政府、非營利組織、教育、新聞、活動和專案網站
文件站點
影像組合
著陸頁
商業、專業和個人博客
履歷和履歷
在開發過程中使用 Hugo 的嵌入式 Web 伺服器可以立即查看內容、結構、行為和演示的變化。然後將網站部署到您的主機,或將變更推送到您的 Git 提供者以進行自動建置和部署。
Hugo 的快速資產管道包括:
影像處理 – 轉換、調整大小、裁剪、旋轉、調整顏色、應用濾鏡、疊加文字和圖像以及提取 EXIF 數據
JavaScript 捆綁 – 將 TypeScript 和 JSX 轉換為 JavaScript、捆綁、tree shake、縮小、建立來源對應並執行 SRI 雜湊。
Sass 處理 – 將 Sass 轉換為 CSS、捆綁、tree shake、縮小、建立來源映射、執行 SRI 雜湊並與 PostCSS 集成
Tailwind CSS 處理 – 將 Tailwind CSS 實用程式類別編譯為標準 CSS、捆綁、Tree Shake、優化、縮小、執行 SRI 哈希,並與 PostCSS 集成
透過 Hugo Modules,您可以透過公用或私人 Git 儲存庫與其他項目共用內容、資產、資料、翻譯、主題、範本和配置。
有關 Hugo 功能的全面摘要,請參閱文件的功能部分。
從預先建置的二進位檔案、套件管理器或套件儲存庫安裝 Hugo。請參閱適用於您的作業系統的安裝說明:
macOS
Linux
視窗
DragonFly BSD、FreeBSD、NetBSD 和 OpenBSD
Hugo 有兩個版本:標準版和擴充版。使用擴充版,您可以:
處理影像時編碼為WebP格式。您可以使用任一版本解碼 WebP 映像。
使用嵌入式 LibSass 轉譯器將 Sass 轉譯為 CSS。使用 Dart Sass 轉譯器不需要擴展版本。
從原始碼建構 Hugo 的先決條件:
標準版:Go 1.20 或更高版本
擴充版:Go 1.20 或更高版本以及 GCC
建構標準版:
go install github.com/gohugoio/hugo@latest
建置擴充版本:
CGO_ENABLED=1 go install -tags extended github.com/gohugoio/hugo@latest
Hugo 的文件包括安裝說明、快速入門指南、概念解釋、參考資訊和範例。
請將文件問題和拉取請求提交到文件儲存庫。
請不要使用問題佇列來提出問題或進行故障排除。除非您確定您的問題是軟體缺陷,否則請使用論壇。
Hugo 的論壇是一個由使用者和開發人員組成的活躍社區,他們回答問題、分享知識並提供範例。快速搜尋 20,000 多個主題通常可以解答您的問題。在提出第一個問題之前,請務必閱讀有關請求協助的資訊。
您可以透過以下方式為 Hugo 專案做出貢獻:
在論壇上回答問題
改進文檔
監控問題隊列
創建或改進主題
消除錯誤
請將文件問題和拉取請求提交到文件儲存庫。
如果您有增強功能或新功能的想法,請在論壇的「功能」類別中建立新主題。這將幫助您:
確定該功能是否已存在
衡量興趣
細化概念
如果有足夠的興趣,請建立提案。在專案負責人接受提案之前,請勿提交拉取請求。
有關為 Hugo 做出貢獻的完整指南,請參閱貢獻指南。
Hugo 站在偉大的開源函式庫的肩膀上。運行hugo env --logLevel info
以顯示依賴項清單。
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"