เครื่องมือสร้างไซต์คงที่ที่รวดเร็วและยืดหยุ่นซึ่งสร้างขึ้นด้วยความรักโดย bep, spf13 และเพื่อนๆ ใน Go
เว็บไซต์ | การติดตั้ง | เอกสารประกอบ | สนับสนุน | มีส่วนร่วม | มาสโตดอน | เอ็กซ์
Hugo เป็นเครื่องมือสร้างไซต์แบบสแตติกที่เขียนด้วยภาษา Go ปรับให้เหมาะกับความเร็วและออกแบบมาเพื่อความยืดหยุ่น ด้วยระบบการสร้างเทมเพลตขั้นสูงและไปป์ไลน์สินทรัพย์ที่รวดเร็ว Hugo เรนเดอร์ไซต์ให้เสร็จภายในไม่กี่วินาที ซึ่งมักจะน้อยกว่านั้น
เนื่องจากกรอบการทำงานที่ยืดหยุ่น การสนับสนุนหลายภาษา และระบบอนุกรมวิธานที่มีประสิทธิภาพ Hugo จึงถูกนำมาใช้กันอย่างแพร่หลายในการสร้าง:
เว็บไซต์องค์กร ภาครัฐ องค์กรไม่แสวงผลกำไร การศึกษา ข่าวสาร กิจกรรม และโครงการ
ไซต์เอกสาร
พอร์ตโฟลิโอรูปภาพ
หน้า Landing Page
บล็อกธุรกิจ มืออาชีพ และส่วนตัว
เรซูเม่และ CV
ใช้เว็บเซิร์ฟเวอร์แบบฝังตัวของ Hugo ในระหว่างการพัฒนาเพื่อดูการเปลี่ยนแปลงในเนื้อหา โครงสร้าง พฤติกรรม และการนำเสนอได้ทันที จากนั้นปรับใช้ไซต์กับโฮสต์ของคุณ หรือส่งการเปลี่ยนแปลงไปยังผู้ให้บริการ Git ของคุณเพื่อสร้างและปรับใช้อัตโนมัติ
ท่อส่งสินทรัพย์ที่รวดเร็วของ Hugo ประกอบด้วย:
การประมวลผลภาพ – แปลง ปรับขนาด ครอบตัด หมุน ปรับสี ใช้ฟิลเตอร์ ข้อความและรูปภาพซ้อนทับ และแยกข้อมูล EXIF
การรวมกลุ่ม JavaScript – การแปลง TypeScript และ JSX เป็น JavaScript, การรวมกลุ่ม, การสั่นแบบต้นไม้, ย่อขนาด, สร้างแผนที่ต้นฉบับ และดำเนินการแฮช SRI
การประมวลผล Sass – Transpile Sass เป็น CSS, รวมกลุ่ม, การสั่นแบบทรี, ย่อขนาด, สร้างแผนที่ต้นทาง, ดำเนินการแฮช SRI และผสานรวมกับ PostCSS
การประมวลผล CSS ของ Tailwind – รวบรวมคลาสยูทิลิตี้ Tailwind CSS ให้เป็น CSS มาตรฐาน, บันเดิล, การสั่นของต้นไม้, ปรับให้เหมาะสม, ย่อขนาด, ดำเนินการแฮช SRI และผสานรวมกับ PostCSS
และด้วยโมดูล Hugo คุณสามารถแบ่งปันเนื้อหา สินทรัพย์ ข้อมูล การแปล ธีม เทมเพลต และการกำหนดค่ากับโปรเจ็กต์อื่น ๆ ผ่านทางพื้นที่เก็บข้อมูล Git สาธารณะหรือส่วนตัว
ดูส่วนคุณสมบัติของเอกสารประกอบเพื่อดูข้อมูลสรุปที่ครอบคลุมเกี่ยวกับความสามารถของ Hugo
ติดตั้ง Hugo จากไบนารี่ ตัวจัดการแพ็คเกจ หรือที่เก็บแพ็คเกจที่สร้างไว้ล่วงหน้า โปรดดูคำแนะนำในการติดตั้งสำหรับระบบปฏิบัติการของคุณ:
ระบบปฏิบัติการ macOS
ลินุกซ์
หน้าต่าง
DragonFly BSD, FreeBSD, NetBSD และ OpenBSD
Hugo มีจำหน่ายสองรุ่น: แบบมาตรฐานและแบบขยาย ด้วยเวอร์ชันเพิ่มเติม คุณสามารถ:
เข้ารหัสเป็นรูปแบบ WebP เมื่อประมวลผลภาพ คุณสามารถถอดรหัสอิมเมจ WebP ด้วยรุ่นใดก็ได้
Transpile Sass เป็น CSS โดยใช้ Transpiler LibSass แบบฝัง ไม่จำเป็นต้องใช้รุ่นขยายเพื่อใช้ Transpiler Dart Sass
ข้อกำหนดเบื้องต้นในการสร้าง Hugo จากแหล่งที่มา:
รุ่นมาตรฐาน: ไป 1.20 หรือใหม่กว่า
ฉบับขยาย: ไป 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"