一个适用于Go的HTML模板语言,具有出色的开发者工具。
文档
用户文档请访问 https://templ.guide
任务
build
构建本地版本。
go run ./get-version > .version
cd cmd/templ
go build
nix-update-gomod2nix
gomod2nix
install-snapshot
构建并安装当前版本。
# 从此命令之前使用的非标准路径~/bin/templ中删除templ
rm -f ~/bin/templ
# 清除LSP日志。
rm -f cmd/templ/lspcmd/*.txt
# 更新版本。
go run ./get-version > .version
# 安装到$GOPATH/bin或$HOME/go/bin
cd cmd/templ && go install
build-snapshot
使用goreleaser构建命令行二进制文件。
goreleaser build --snapshot --clean
generate
使用本地版本运行templ generate。
go run ./cmd/templ generate -include-version=false
test
运行Go测试。
go run ./get-version > .version
go run ./cmd/templ generate -include-version=false
go test ./...
test-short
运行Go测试。
go run ./get-version > .version
go run ./cmd/templ generate -include-version=false
go test ./... -short
test-cover
运行Go测试。
# 创建测试配置文件目录。
mkdir -p coverage/fmt
mkdir -p coverage/generate
mkdir -p coverage/version
mkdir -p coverage/unit
# 构建测试二进制文件。
go build -cover -o ./coverage/templ-cover ./cmd/templ
# 运行覆盖的generate命令。
GOCOVERDIR=coverage/fmt ./coverage/templ-cover fmt .
GOCOVERDIR=coverage/generate ./coverage/templ-cover generate -include-version=false
GOCOVERDIR=coverage/version ./coverage/templ-cover version
# 运行单元测试。
go test -cover ./... -coverpkg ./... -args -test.gocoverdir="$PWD/coverage/unit"
# 显示合并后的百分比。
go tool covdata percent -i=./coverage/fmt,./coverage/generate,./coverage/version,./coverage/unit
# 生成文本覆盖率配置文件供工具使用。
go tool covdata textfmt -i=./coverage/fmt,./coverage/generate,./coverage/version,./coverage/unit -o coverage.out
# 打印总计
go tool cover -func coverage.out | grep total
test-cover-watch
gotestsum --watch -- -coverprofile=coverage.out
benchmark
运行基准测试。
go run ./cmd/templ generate -include-version=false && go test ./... -bench=. -benchmem
fmt
格式化所有Go和templ代码。
gofmt -s -w .
go run ./cmd/templ fmt .
lint
golangci-lint run --verbose
ensure-generated
依赖项:generate
git diff --exit-code
push-release-tag
推送语义版本号到Github以触发发布流程。
./push-tag.sh
docs-run
运行开发服务器。
目录:docs
npm run start
docs-build
构建生产文档站点。
目录:docs
npm run build