forked from gitea/gitea
		
	Rework spellchecking, add lint-spell (#29106)
				
					
				
			- Use maintained fork https://github.com/golangci/misspell - Rename `mispell-check` to `lint-spell`, add `lint-spell-fix` - Run `lint-spell` in separate actions step - Lint more files, fix discovered issues - Remove inaccurate and outdated info in docs (we do not need GOPATH for tools anymore) Maybe later we can add more spellchecking tools, but I have not found any good ones yet.
This commit is contained in:
		
							parent
							
								
									a24e1da7e9
								
							
						
					
					
						commit
						9c39f8515f
					
				
							
								
								
									
										12
									
								
								.github/workflows/pull-compliance.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								.github/workflows/pull-compliance.yml
									
									
									
									
										vendored
									
									
								
							| @ -64,6 +64,18 @@ jobs: | ||||
|       - run: make deps-frontend | ||||
|       - run: make lint-swagger | ||||
| 
 | ||||
|   lint-spell: | ||||
|     if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' || needs.files-changed.outputs.actions == 'true' || needs.files-changed.outputs.docs == 'true' || needs.files-changed.outputs.templates == 'true' | ||||
|     needs: files-changed | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/setup-go@v5 | ||||
|         with: | ||||
|           go-version-file: go.mod | ||||
|           check-latest: true | ||||
|       - run: make lint-spell | ||||
| 
 | ||||
|   lint-go-windows: | ||||
|     if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' | ||||
|     needs: files-changed | ||||
|  | ||||
							
								
								
									
										22
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								Makefile
									
									
									
									
									
								
							| @ -30,7 +30,7 @@ EDITORCONFIG_CHECKER_PACKAGE ?= github.com/editorconfig-checker/editorconfig-che | ||||
| GOFUMPT_PACKAGE ?= mvdan.cc/gofumpt@v0.6.0 | ||||
| GOLANGCI_LINT_PACKAGE ?= github.com/golangci/golangci-lint/cmd/golangci-lint@v1.55.2 | ||||
| GXZ_PACKAGE ?= github.com/ulikunitz/xz/cmd/gxz@v0.5.11 | ||||
| MISSPELL_PACKAGE ?= github.com/client9/misspell/cmd/misspell@v0.3.4 | ||||
| MISSPELL_PACKAGE ?= github.com/golangci/misspell/cmd/misspell@v0.4.1 | ||||
| SWAGGER_PACKAGE ?= github.com/go-swagger/go-swagger/cmd/swagger@v0.30.5 | ||||
| XGO_PACKAGE ?= src.techknowlogick.com/xgo@latest | ||||
| GO_LICENSES_PACKAGE ?= github.com/google/go-licenses@v1.6.0 | ||||
| @ -146,6 +146,8 @@ TAR_EXCLUDES := .git data indexers queues log node_modules $(EXECUTABLE) $(FOMAN | ||||
| GO_DIRS := build cmd models modules routers services tests | ||||
| WEB_DIRS := web_src/js web_src/css | ||||
| 
 | ||||
| SPELLCHECK_FILES := $(GO_DIRS) $(WEB_DIRS) docs/content templates options/locale/locale_en-US.ini .github | ||||
| 
 | ||||
| GO_SOURCES := $(wildcard *.go) | ||||
| GO_SOURCES += $(shell find $(GO_DIRS) -type f -name "*.go" ! -path modules/options/bindata.go ! -path modules/public/bindata.go ! -path modules/templates/bindata.go) | ||||
| GO_SOURCES += $(GENERATED_GO_DEST) | ||||
| @ -219,6 +221,8 @@ help: | ||||
| 	@echo " - lint-swagger                     lint swagger files" | ||||
| 	@echo " - lint-templates                   lint template files" | ||||
| 	@echo " - lint-yaml                        lint yaml files" | ||||
| 	@echo " - lint-spell                       lint spelling" | ||||
| 	@echo " - lint-spell-fix                   lint spelling and fix issues" | ||||
| 	@echo " - checks                           run various consistency checks" | ||||
| 	@echo " - checks-frontend                  check frontend files" | ||||
| 	@echo " - checks-backend                   check backend files" | ||||
| @ -308,10 +312,6 @@ fmt-check: fmt | ||||
| 	  exit 1; \
 | ||||
| 	fi | ||||
| 
 | ||||
| .PHONY: misspell-check | ||||
| misspell-check: | ||||
| 	go run $(MISSPELL_PACKAGE) -error $(GO_DIRS) $(WEB_DIRS) | ||||
| 
 | ||||
| .PHONY: $(TAGS_EVIDENCE) | ||||
| $(TAGS_EVIDENCE): | ||||
| 	@mkdir -p $(MAKE_EVIDENCE_DIR) | ||||
| @ -351,10 +351,10 @@ checks: checks-frontend checks-backend | ||||
| checks-frontend: lockfile-check svg-check | ||||
| 
 | ||||
| .PHONY: checks-backend | ||||
| checks-backend: tidy-check swagger-check fmt-check misspell-check swagger-validate security-check | ||||
| checks-backend: tidy-check swagger-check fmt-check swagger-validate security-check | ||||
| 
 | ||||
| .PHONY: lint | ||||
| lint: lint-frontend lint-backend | ||||
| lint: lint-frontend lint-backend lint-spell | ||||
| 
 | ||||
| .PHONY: lint-fix | ||||
| lint-fix: lint-frontend-fix lint-backend-fix | ||||
| @ -395,6 +395,14 @@ lint-swagger: node_modules | ||||
| lint-md: node_modules | ||||
| 	npx markdownlint docs *.md | ||||
| 
 | ||||
| .PHONY: lint-spell | ||||
| lint-spell: | ||||
| 	@go run $(MISSPELL_PACKAGE) -error $(SPELLCHECK_FILES) | ||||
| 
 | ||||
| .PHONY: lint-spell-fix | ||||
| lint-spell-fix: | ||||
| 	@go run $(MISSPELL_PACKAGE) -w $(SPELLCHECK_FILES) | ||||
| 
 | ||||
| .PHONY: lint-go | ||||
| lint-go: | ||||
| 	$(GO) run $(GOLANGCI_LINT_PACKAGE) run | ||||
|  | ||||
| @ -29,7 +29,7 @@ menu: | ||||
| [ini](https://github.com/go-ini/ini/#recursive-values) 这里的说明。 | ||||
| 标注了 :exclamation: 的配置项表明除非你真的理解这个配置项的意义,否则最好使用默认值。 | ||||
| 
 | ||||
| 在下面的默认值中,`$XYZ`代表环境变量`XYZ`的值(详见:`enviroment-to-ini`)。 _`XxYyZz`_是指默认配置的一部分列出的值。这些在 app.ini 文件中不起作用,仅在此处列出作为文档说明。 | ||||
| 在下面的默认值中,`$XYZ`代表环境变量`XYZ`的值(详见:`environment-to-ini`)。 _`XxYyZz`_是指默认配置的一部分列出的值。这些在 app.ini 文件中不起作用,仅在此处列出作为文档说明。 | ||||
| 
 | ||||
| 包含`#`或者`;`的变量必须使用引号(`` ` ``或者`""""`)包裹,否则会被解析为注释。 | ||||
| 
 | ||||
|  | ||||
| @ -243,10 +243,10 @@ documentation using: | ||||
| make generate-swagger | ||||
| ``` | ||||
| 
 | ||||
| You should validate your generated Swagger file and spell-check it with: | ||||
| You should validate your generated Swagger file: | ||||
| 
 | ||||
| ```bash | ||||
| make swagger-validate misspell-check | ||||
| make swagger-validate | ||||
| ``` | ||||
| 
 | ||||
| You should commit the changed swagger JSON file. The continuous integration | ||||
|  | ||||
| @ -228,10 +228,10 @@ Gitea Logo的 PNG 和 SVG 版本是使用 `TAGS="gitea" make generate-images`  | ||||
| make generate-swagger | ||||
| ``` | ||||
| 
 | ||||
| 您应该验证生成的 Swagger 文件并使用以下命令对其进行拼写检查: | ||||
| 您应该验证生成的 Swagger 文件: | ||||
| 
 | ||||
| ```bash | ||||
| make swagger-validate misspell-check | ||||
| make swagger-validate | ||||
| ``` | ||||
| 
 | ||||
| 您应该提交更改后的 swagger JSON 文件。持续集成服务器将使用以下方法检查是否已完成: | ||||
|  | ||||
| @ -27,13 +27,7 @@ Next, [install Node.js with npm](https://nodejs.org/en/download/) which is | ||||
| required to build the JavaScript and CSS files. The minimum supported Node.js | ||||
| version is @minNodeVersion@ and the latest LTS version is recommended. | ||||
| 
 | ||||
| **Note**: When executing make tasks that require external tools, like | ||||
| `make misspell-check`, Gitea will automatically download and build these as | ||||
| necessary. To be able to use these, you must have the `"$GOPATH/bin"` directory | ||||
| on the executable path. If you don't add the go bin directory to the | ||||
| executable path, you will have to manage this yourself. | ||||
| 
 | ||||
| **Note 2**: Go version @minGoVersion@ or higher is required. However, it is recommended to | ||||
| **Note**: Go version @minGoVersion@ or higher is required. However, it is recommended to | ||||
| obtain the same version as our continuous integration, see the advice given in | ||||
| [Hacking on Gitea](development/hacking-on-gitea.md) | ||||
| 
 | ||||
|  | ||||
| @ -21,9 +21,7 @@ menu: | ||||
| 
 | ||||
| 接下来,[安装 Node.js 和 npm](https://nodejs.org/zh-cn/download/), 这是构建 JavaScript 和 CSS 文件所需的。最低支持的 Node.js 版本是 @minNodeVersion@,建议使用最新的 LTS 版本。 | ||||
| 
 | ||||
| **注意**:当执行需要外部工具的 make 任务(如`make misspell-check`)时,Gitea 将根据需要自动下载和构建这些工具。为了能够实现这个目的,你必须将`"$GOPATH/bin"`目录添加到可执行路径中。如果没有将 Go 的二进制目录添加到可执行路径中,你需要自行解决产生的问题。 | ||||
| 
 | ||||
| **注意2**:需要 Go 版本 @minGoVersion@ 或更高版本。不过,建议获取与我们的持续集成(continuous integration, CI)相同的版本,请参阅在 [Hacking on Gitea](development/hacking-on-gitea.md) 中给出的建议。 | ||||
| **注意**:需要 Go 版本 @minGoVersion@ 或更高版本。不过,建议获取与我们的持续集成(continuous integration, CI)相同的版本,请参阅在 [Hacking on Gitea](development/hacking-on-gitea.md) 中给出的建议。 | ||||
| 
 | ||||
| ## 下载 | ||||
| 
 | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| {{/* Attributes: | ||||
| * root | ||||
| * ContainerClasses | ||||
| * (TODO: search "branch_dropdown" in the template direcotry) | ||||
| * (TODO: search "branch_dropdown" in the template directory) | ||||
| */}} | ||||
| {{$defaultSelectedRefName := $.root.BranchName}} | ||||
| {{if and .root.IsViewTag (not .noTag)}} | ||||
|  | ||||
| @ -367,7 +367,7 @@ | ||||
| 				<div class="timeline-item event"> | ||||
| 					{{if .OriginalAuthor}} | ||||
| 					{{else}} | ||||
| 					{{/* Some timeline avatars need a offset to correctly allign with their speech | ||||
| 					{{/* Some timeline avatars need a offset to correctly align with their speech | ||||
| 							bubble. The condition depends on review type and for positive reviews whether | ||||
| 							there is a comment element or not */}} | ||||
| 					<a class="timeline-avatar{{if or (and (eq .Review.Type 1) (or .Content .Attachments)) (and (eq .Review.Type 2) (or .Content .Attachments)) (eq .Review.Type 3)}} timeline-avatar-offset{{end}}"{{if gt .Poster.ID 0}} href="{{.Poster.HomeLink}}"{{end}}> | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 silverwind
						silverwind