mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-03 21:08:25 +00:00 
			
		
		
		
	Merge branch 'master' into feature/main.go
This commit is contained in:
		
							
								
								
									
										19
									
								
								.bra.toml
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								.bra.toml
									
									
									
									
									
								
							@@ -1,19 +0,0 @@
 | 
			
		||||
[run]
 | 
			
		||||
init_cmds = [
 | 
			
		||||
	["make", "build-dev"],
 | 
			
		||||
	["./gogs", "web"]
 | 
			
		||||
]
 | 
			
		||||
watch_all = true
 | 
			
		||||
watch_dirs = [
 | 
			
		||||
	"$WORKDIR/cmd",
 | 
			
		||||
	"$WORKDIR/models",
 | 
			
		||||
	"$WORKDIR/modules",
 | 
			
		||||
	"$WORKDIR/routers"
 | 
			
		||||
]
 | 
			
		||||
watch_exts = [".go"]
 | 
			
		||||
ignore_files = [".+_test.go"]
 | 
			
		||||
build_delay = 1500
 | 
			
		||||
cmds = [
 | 
			
		||||
	["make", "build-dev"], # TAGS=sqlite cert pam tidb
 | 
			
		||||
	["./gogs", "web"]
 | 
			
		||||
]
 | 
			
		||||
@@ -1,7 +0,0 @@
 | 
			
		||||
conf/**
 | 
			
		||||
docker/**
 | 
			
		||||
modules/bindata/**
 | 
			
		||||
packager/**
 | 
			
		||||
public/**
 | 
			
		||||
scripts/**
 | 
			
		||||
templates/**
 | 
			
		||||
@@ -1,7 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
	"GOLANG": {
 | 
			
		||||
		"TOTAL_LOC": [500, 999, 1999, 9999],
 | 
			
		||||
		"TOO_MANY_FUNCTIONS": [50, 99, 199, 999],
 | 
			
		||||
		"TOO_MANY_IVARS": [20, 50, 70, 99]
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										59
									
								
								.gopmfile
									
									
									
									
									
								
							
							
						
						
									
										59
									
								
								.gopmfile
									
									
									
									
									
								
							@@ -1,59 +0,0 @@
 | 
			
		||||
[target]
 | 
			
		||||
path = github.com/go-gitea/gitea
 | 
			
		||||
 | 
			
		||||
[deps]
 | 
			
		||||
github.com/bradfitz/gomemcache = commit:fb1f79c
 | 
			
		||||
github.com/urfave/cli = commit:1efa31f
 | 
			
		||||
github.com/go-macaron/binding = commit:9440f33
 | 
			
		||||
github.com/go-macaron/cache = commit:5617353
 | 
			
		||||
github.com/go-macaron/captcha = commit:8aa5919
 | 
			
		||||
github.com/go-macaron/csrf = commit:6a9a7df
 | 
			
		||||
github.com/go-macaron/gzip = commit:cad1c65
 | 
			
		||||
github.com/go-macaron/i18n = commit:ef57533
 | 
			
		||||
github.com/go-macaron/inject = commit:c5ab7bf
 | 
			
		||||
github.com/go-macaron/session = commit:66031fc
 | 
			
		||||
github.com/go-macaron/toolbox = commit:82b5115
 | 
			
		||||
github.com/go-sql-driver/mysql = commit:0b58b37
 | 
			
		||||
github.com/go-xorm/core = commit:5bf745d
 | 
			
		||||
github.com/go-xorm/xorm = commit:c6c7056
 | 
			
		||||
github.com/gogits/chardet = commit:2404f77
 | 
			
		||||
github.com/gogits/cron = commit:7f3990a
 | 
			
		||||
github.com/gogits/git-module = commit:5e0c133
 | 
			
		||||
github.com/gogits/go-gogs-client = commit:c52f7ee
 | 
			
		||||
github.com/issue9/identicon = commit:d36b545
 | 
			
		||||
github.com/jaytaylor/html2text = commit:52d9b78
 | 
			
		||||
github.com/kardianos/minwinsvc = commit:cad6b2b
 | 
			
		||||
github.com/klauspost/compress = commit:14eb9c4
 | 
			
		||||
github.com/klauspost/cpuid = commit:09cded8
 | 
			
		||||
github.com/klauspost/crc32 = commit:19b0b33
 | 
			
		||||
github.com/lib/pq = commit:80f8150
 | 
			
		||||
github.com/mattn/go-sqlite3 = commit:e118d44
 | 
			
		||||
github.com/mcuadros/go-version = commit:d52711f
 | 
			
		||||
github.com/microcosm-cc/bluemonday = commit:9dc1992
 | 
			
		||||
github.com/msteinert/pam = commit:02ccfbf
 | 
			
		||||
github.com/nfnt/resize = commit:891127d
 | 
			
		||||
github.com/russross/blackfriday = commit:93622da
 | 
			
		||||
github.com/satori/go.uuid = commit:0aa62d5
 | 
			
		||||
github.com/sergi/go-diff = commit:ec7fdbb
 | 
			
		||||
strk.kbt.io/projects/go/libravatar = commit:5eed7bf
 | 
			
		||||
github.com/shurcooL/sanitized_anchor_name = commit:10ef21a
 | 
			
		||||
github.com/Unknwon/cae = commit:7f5e046
 | 
			
		||||
github.com/Unknwon/com = commit:28b053d
 | 
			
		||||
github.com/Unknwon/i18n = commit:39d6f27
 | 
			
		||||
github.com/Unknwon/paginater = commit:7748a72
 | 
			
		||||
golang.org/x/crypto = commit:bc89c49
 | 
			
		||||
golang.org/x/net = commit:57bfaa8
 | 
			
		||||
golang.org/x/sys = commit:a646d33
 | 
			
		||||
golang.org/x/text = commit:2910a50
 | 
			
		||||
gopkg.in/alexcesaro/quotedprintable.v3 = commit:2caba25
 | 
			
		||||
gopkg.in/asn1-ber.v1 = commit:4e86f43
 | 
			
		||||
gopkg.in/bufio.v1 = commit:567b2bf
 | 
			
		||||
gopkg.in/editorconfig/editorconfig-core-go.v1 = commit:a872f05
 | 
			
		||||
gopkg.in/gomail.v2 = commit:81ebce5
 | 
			
		||||
gopkg.in/ini.v1 = commit:cf53f92
 | 
			
		||||
gopkg.in/ldap.v2 = commit:d0a5ced
 | 
			
		||||
gopkg.in/macaron.v1 = commit:7564489
 | 
			
		||||
gopkg.in/redis.v2 = commit:e617904
 | 
			
		||||
 | 
			
		||||
[res]
 | 
			
		||||
include = public|scripts|templates
 | 
			
		||||
							
								
								
									
										27
									
								
								.pkgr.yml
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								.pkgr.yml
									
									
									
									
									
								
							@@ -1,27 +0,0 @@
 | 
			
		||||
targets:
 | 
			
		||||
  debian-7: &debian
 | 
			
		||||
    build_dependencies:
 | 
			
		||||
      - libpam0g-dev
 | 
			
		||||
    dependencies:
 | 
			
		||||
      - libpam0g
 | 
			
		||||
      - git
 | 
			
		||||
  debian-8:
 | 
			
		||||
    <<: *debian
 | 
			
		||||
  ubuntu-14.04:
 | 
			
		||||
    <<: *debian
 | 
			
		||||
  ubuntu-12.04:
 | 
			
		||||
    <<: *debian
 | 
			
		||||
  centos-6: &el
 | 
			
		||||
    build_dependencies:
 | 
			
		||||
      - pam-devel
 | 
			
		||||
    dependencies:
 | 
			
		||||
      - pam
 | 
			
		||||
      - git
 | 
			
		||||
  centos-7:
 | 
			
		||||
    <<: *el
 | 
			
		||||
before:
 | 
			
		||||
  - mv packager/Procfile .
 | 
			
		||||
  - mv packager/.godir .
 | 
			
		||||
after:
 | 
			
		||||
  - mv bin/main gogs
 | 
			
		||||
after_install: ./packager/hooks/postinst
 | 
			
		||||
							
								
								
									
										30
									
								
								CONTRIBUTORS
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								CONTRIBUTORS
									
									
									
									
									
								
							@@ -1,21 +1,9 @@
 | 
			
		||||
# This is the official list of people who have contributed code to the Gitea/Gogs repository.
 | 
			
		||||
# This document should be reviewed and approved by maintainers.
 | 
			
		||||
#
 | 
			
		||||
# The submission process automatically checks to make sure
 | 
			
		||||
# that people submitting code are listed in this file (by email address).
 | 
			
		||||
#
 | 
			
		||||
# The agreement for individuals can be filled out on the web.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Names should be added to this file like so:
 | 
			
		||||
#     Individual's name <submission email address>
 | 
			
		||||
#     Individual's name <submission email address> <email2> <emailN>
 | 
			
		||||
#
 | 
			
		||||
# An entry with multiple email addresses specifies that the
 | 
			
		||||
# first address should be used in the submit logs and
 | 
			
		||||
# that the other addresses should be recognized as the
 | 
			
		||||
# same person when interacting with github.
 | 
			
		||||
 | 
			
		||||
# Please keep the list sorted. 
 | 
			
		||||
 | 
			
		||||
Lunny Xiao <xiaolunwen@gmail.com>
 | 
			
		||||
Andrey Nering <nobody@nobody.tld> (@andreynering)
 | 
			
		||||
Kim Carlbäcker <kim.carlbacker@gmail.com> (@bkcsoft)
 | 
			
		||||
LefsFlare <nobody@nobody.tld> (@LefsFlarey)
 | 
			
		||||
Lunny Xiao <xiaolunwen@gmail.com> (@lunny)
 | 
			
		||||
Rachid Zarouali <nobody@nobody.tld> (@xinity)
 | 
			
		||||
Rémy Boulanouar <admin@dblk.org> (@DblK)
 | 
			
		||||
Sandro Santilli <strk@kbt.io> (@strk)
 | 
			
		||||
Thibault Meyer <nobody@nobody.tld> (@0xbaadf00d)
 | 
			
		||||
Thomas Boerger <thomas@webhippie.de> (@tboerger)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										30
									
								
								MAINTAINERS
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								MAINTAINERS
									
									
									
									
									
								
							@@ -1,21 +1,9 @@
 | 
			
		||||
# This is the official list of people who have spent time on code review Pull Requests on the Gitea repository.
 | 
			
		||||
# This document should be reviewed and approved by owners.
 | 
			
		||||
#
 | 
			
		||||
# The submission process automatically checks to make sure
 | 
			
		||||
# that people submitting code are listed in this file (by email address).
 | 
			
		||||
#
 | 
			
		||||
# The agreement for individuals can be filled out on the web.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Names should be added to this file like so:
 | 
			
		||||
#     Individual's name <submission email address>
 | 
			
		||||
#     Individual's name <submission email address> <email2> <emailN>
 | 
			
		||||
#
 | 
			
		||||
# An entry with multiple email addresses specifies that the
 | 
			
		||||
# first address should be used in the submit logs and
 | 
			
		||||
# that the other addresses should be recognized as the
 | 
			
		||||
# same person when interacting with github.
 | 
			
		||||
 | 
			
		||||
# Please keep the list sorted. 
 | 
			
		||||
 | 
			
		||||
Lunny Xiao <xiaolunwen@gmail.com>
 | 
			
		||||
Andrey Nering <nobody@nobody.tld> (@andreynering)
 | 
			
		||||
Kim Carlbäcker <kim.carlbacker@gmail.com> (@bkcsoft)
 | 
			
		||||
LefsFlare <nobody@nobody.tld> (@LefsFlarey)
 | 
			
		||||
Lunny Xiao <xiaolunwen@gmail.com> (@lunny)
 | 
			
		||||
Rachid Zarouali <nobody@nobody.tld> (@xinity)
 | 
			
		||||
Rémy Boulanouar <admin@dblk.org> (@DblK)
 | 
			
		||||
Sandro Santilli <strk@kbt.io> (@strk)
 | 
			
		||||
Thibault Meyer <nobody@nobody.tld> (@0xbaadf00d)
 | 
			
		||||
Thomas Boerger <thomas@webhippie.de> (@tboerger)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								Makefile
									
									
									
									
									
								
							@@ -3,7 +3,7 @@ LDFLAGS += -X "github.com/go-gitea/gitea/modules/setting.BuildGitHash=$(shell gi
 | 
			
		||||
 | 
			
		||||
DATA_FILES := $(shell find conf | sed 's/ /\\ /g')
 | 
			
		||||
LESS_FILES := $(wildcard public/less/gogs.less public/less/_*.less)
 | 
			
		||||
GENERATED  := modules/bindata/bindata.go public/css/gogs.css
 | 
			
		||||
GENERATED  := modules/bindata/bindata.go public/css/index.css
 | 
			
		||||
 | 
			
		||||
TAGS = ""
 | 
			
		||||
BUILD_FLAGS = "-v"
 | 
			
		||||
@@ -15,7 +15,7 @@ GOVET = go tool vet -composites=false -methods=false -structtags=false
 | 
			
		||||
 | 
			
		||||
.PHONY: build pack release bindata clean
 | 
			
		||||
 | 
			
		||||
.IGNORE: public/css/gogs.css
 | 
			
		||||
.IGNORE: public/css/index.css
 | 
			
		||||
 | 
			
		||||
all: build
 | 
			
		||||
 | 
			
		||||
@@ -53,9 +53,9 @@ bindata: modules/bindata/bindata.go
 | 
			
		||||
modules/bindata/bindata.go: $(DATA_FILES)
 | 
			
		||||
	go-bindata -o=$@ -ignore="\\.DS_Store|README.md|TRANSLATORS" -pkg=bindata conf/...
 | 
			
		||||
 | 
			
		||||
less: public/css/gogs.css
 | 
			
		||||
less: public/css/index.css
 | 
			
		||||
 | 
			
		||||
public/css/gogs.css: $(LESS_FILES)
 | 
			
		||||
public/css/index.css: $(LESS_FILES)
 | 
			
		||||
	lessc $< $@
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
 
 | 
			
		||||
@@ -26,8 +26,6 @@
 | 
			
		||||
5. If you're interested in using APIs, we have experimental support with [documentation](https://github.com/gogits/go-gogs-client/wiki).
 | 
			
		||||
6. If your team/company is using Gogs and would like to put your logo on [our website](https://gogs.io), contact us by any means.
 | 
			
		||||
 | 
			
		||||
[简体中文](README_ZH.md)
 | 
			
		||||
 | 
			
		||||
## Purpose
 | 
			
		||||
 | 
			
		||||
The goal of this project is to make the easiest, fastest, and most painless way of setting up a self-hosted Git service. With Go, this can be done with an independent binary distribution across **ALL platforms** that Go supports, including Linux, Mac OS X, Windows and ARM.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										113
									
								
								README_ZH.md
									
									
									
									
									
								
							
							
						
						
									
										113
									
								
								README_ZH.md
									
									
									
									
									
								
							@@ -1,113 +0,0 @@
 | 
			
		||||
# Gitea - Git with a cup of tea
 | 
			
		||||
 | 
			
		||||
[](https://travis-ci.org/go-gitea/gitea)
 | 
			
		||||
[](https://codecov.io/gh/go-gitea/gitea)
 | 
			
		||||
[](https://goreportcard.com/report/github.com/go-gitea/gitea)
 | 
			
		||||
[](https://godoc.org/github.com/go-gitea/gitea)
 | 
			
		||||
[](http://microbadger.com/images/gitea/gitea "Get your own image badge on microbadger.com")
 | 
			
		||||
[](https://gitter.im/go-gitea/gitea?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
 | 
			
		||||
 | 
			
		||||
Gogs (Go Git Service) 是一款极易搭建的自助 Git 服务。
 | 
			
		||||
 | 
			
		||||
## 开发目的
 | 
			
		||||
 | 
			
		||||
Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 **所有平台**,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
 | 
			
		||||
 | 
			
		||||
## 项目概览
 | 
			
		||||
 | 
			
		||||
- 有关基本用法和变更日志,请通过 [使用手册](https://gogs.io/docs/intro/) 查看。
 | 
			
		||||
- 您可以到 [Trello Board](https://trello.com/b/uxAoeLUl/gogs-go-git-service) 跟随开发团队的脚步。
 | 
			
		||||
- 想要先睹为快?直接去 [在线体验](https://try.gogs.io/gogs/gogs) 。
 | 
			
		||||
- 使用过程中遇到问题?尝试从 [故障排查](https://gogs.io/docs/intro/troubleshooting.html) 页面或 [用户论坛](https://discuss.gogs.io/) 获取帮助。
 | 
			
		||||
- 希望帮助多国语言界面的翻译吗?请立即访问 [详情页面](https://gogs.io/docs/features/i18n.html)!
 | 
			
		||||
 | 
			
		||||
## 功能特性
 | 
			
		||||
 | 
			
		||||
- 支持活动时间线
 | 
			
		||||
- 支持 SSH 以及 HTTP/HTTPS 协议
 | 
			
		||||
- 支持 SMTP、LDAP 和反向代理的用户认证
 | 
			
		||||
- 支持反向代理子路径
 | 
			
		||||
- 支持用户、组织和仓库管理系统
 | 
			
		||||
- 支持添加和删除仓库协作者
 | 
			
		||||
- 支持仓库和组织级别 Web 钩子(包括 Slack 集成)
 | 
			
		||||
- 支持仓库 Git 钩子和部署密钥
 | 
			
		||||
- 支持仓库工单(Issue)、合并请求(Pull Request)以及 Wiki
 | 
			
		||||
- 支持迁移和镜像仓库以及它的 Wiki
 | 
			
		||||
- 支持在线编辑仓库文件和 Wiki
 | 
			
		||||
- 支持自定义源的 Gravatar 和 Federated Avatar
 | 
			
		||||
- 支持邮件服务
 | 
			
		||||
- 支持后台管理面板
 | 
			
		||||
- 支持 MySQL、PostgreSQL、SQLite3 和 [TiDB](https://github.com/pingcap/tidb)(实验性支持) 数据库
 | 
			
		||||
- 支持多语言本地化([19 种语言]([more](https://crowdin.com/project/gogs)))
 | 
			
		||||
 | 
			
		||||
## 系统要求
 | 
			
		||||
 | 
			
		||||
- 最低的系统硬件要求为一个廉价的树莓派
 | 
			
		||||
- 如果用于团队项目,建议使用 2 核 CPU 及 1GB 内存
 | 
			
		||||
 | 
			
		||||
## 浏览器支持
 | 
			
		||||
 | 
			
		||||
- 请根据 [Semantic UI](https://github.com/Semantic-Org/Semantic-UI#browser-support) 查看具体支持的浏览器版本。
 | 
			
		||||
- 官方支持的最小 UI 尺寸为 **1024*768**,UI 不一定会在更小尺寸的设备上被破坏,但我们无法保证且不会修复。
 | 
			
		||||
 | 
			
		||||
## 安装部署
 | 
			
		||||
 | 
			
		||||
在安装 Gogs 之前,您需要先安装 [基本环境](https://gogs.io/docs/installation)。
 | 
			
		||||
 | 
			
		||||
然后,您可以通过以下 5 种方式来安装 Gogs:
 | 
			
		||||
 | 
			
		||||
- [二进制安装](https://gogs.io/docs/installation/install_from_binary.html)
 | 
			
		||||
- [源码安装](https://gogs.io/docs/installation/install_from_source.html)
 | 
			
		||||
- [包管理安装](https://gogs.io/docs/installation/install_from_packages.html)
 | 
			
		||||
- [采用 Docker 部署](https://github.com/go-gitea/gitea/tree/master/docker)
 | 
			
		||||
- [通过 Vagrant 安装](https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs)
 | 
			
		||||
 | 
			
		||||
### 使用教程
 | 
			
		||||
 | 
			
		||||
- [使用 Gogs 搭建自己的 Git 服务器](https://mynook.info/blog/post/host-your-own-git-server-using-gogs)
 | 
			
		||||
- [阿里云上 Ubuntu 14.04 64 位安装 Gogs](http://my.oschina.net/luyao/blog/375654)
 | 
			
		||||
 | 
			
		||||
### 云端部署
 | 
			
		||||
 | 
			
		||||
- [OpenShift](https://github.com/tkisme/gogs-openshift)
 | 
			
		||||
- [Cloudron](https://cloudron.io/appstore.html#io.gogs.cloudronapp)
 | 
			
		||||
- [Scaleway](https://www.scaleway.com/imagehub/gogs/)
 | 
			
		||||
- [Portal](https://portaldemo.xyz/cloud/)
 | 
			
		||||
- [Sandstorm](https://github.com/cem/gogs-sandstorm)
 | 
			
		||||
- [sloppy.io](https://github.com/sloppyio/quickstarters/tree/master/gogs)
 | 
			
		||||
- [YunoHost](https://github.com/mbugeia/gogs_ynh)
 | 
			
		||||
- [DPlatform](https://github.com/j8r/DPlatform)
 | 
			
		||||
 | 
			
		||||
## 软件及服务支持
 | 
			
		||||
 | 
			
		||||
- [Drone](https://github.com/drone/drone)(CI)
 | 
			
		||||
- [Fabric8](http://fabric8.io/)(DevOps)
 | 
			
		||||
- [Taiga](https://taiga.io/)(项目管理)
 | 
			
		||||
- [Puppet](https://forge.puppetlabs.com/Siteminds/gogs)(IT)
 | 
			
		||||
- [Kanboard](http://kanboard.net/plugin/gogs-webhook)(项目管理)
 | 
			
		||||
- [BearyChat](https://bearychat.com/)(团队交流)
 | 
			
		||||
- [HiWork](http://www.hiwork.cc/)(团队交流)
 | 
			
		||||
 | 
			
		||||
### 产品支持
 | 
			
		||||
 | 
			
		||||
- [Synology](https://www.synology.com)(Docker)
 | 
			
		||||
- [One Space](http://www.onespace.cc)(应用商店)
 | 
			
		||||
 | 
			
		||||
## 特别鸣谢
 | 
			
		||||
 | 
			
		||||
- 基于 [Macaron](https://github.com/go-macaron/macaron) 的路由与中间件机制。
 | 
			
		||||
- 基于 [GoBlog](https://github.com/fuxiaohei/goblog) 修改的系统监视状态。
 | 
			
		||||
- 感谢 [Rocker](http://weibo.com/rocker1989) 设计的 Logo。
 | 
			
		||||
- 感谢 [Crowdin](https://crowdin.com/project/gogs) 提供免费的开源项目本地化支持。
 | 
			
		||||
- 感谢 [DigitalOcean](https://www.digitalocean.com) 提供主站和体验站点的服务器赞助。
 | 
			
		||||
- 感谢 [KeyCDN](https://www.keycdn.com/) 和 [七牛云存储](http://www.qiniu.com/) 提供 CDN 服务赞助。
 | 
			
		||||
 | 
			
		||||
## 贡献成员
 | 
			
		||||
 | 
			
		||||
- 前团队成员 [@lunny](https://github.com/lunny)、[@fuxiaohei](https://github.com/fuxiaohei) 和 [@slene](https://github.com/slene)。
 | 
			
		||||
- 您可以通过查看 [贡献者页面](https://github.com/go-gitea/gitea/graphs/contributors) 获取完整的贡献者列表。
 | 
			
		||||
- 您可以通过查看 [TRANSLATORS](conf/locale/TRANSLATORS) 文件获取公开的翻译人员列表。
 | 
			
		||||
 | 
			
		||||
## 授权许可
 | 
			
		||||
 | 
			
		||||
本项目采用 MIT 开源授权许可证,完整的授权说明已放置在 [LICENSE](https://github.com/go-gitea/gitea/blob/master/LICENSE) 文件中。
 | 
			
		||||
@@ -1 +0,0 @@
 | 
			
		||||
main
 | 
			
		||||
@@ -1 +0,0 @@
 | 
			
		||||
web: ./gogs web
 | 
			
		||||
@@ -1,24 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
APP_NAME="gogs"
 | 
			
		||||
CLI="${APP_NAME}"
 | 
			
		||||
APP_USER=$(${CLI} config:get APP_USER)
 | 
			
		||||
APP_GROUP=$(${CLI} config:get APP_GROUP)
 | 
			
		||||
APP_CONFIG="/etc/${APP_NAME}/conf/app.ini"
 | 
			
		||||
 | 
			
		||||
mkdir -p $(dirname ${APP_CONFIG})
 | 
			
		||||
chown ${APP_USER}.${APP_GROUP} $(dirname ${APP_CONFIG})
 | 
			
		||||
[ -f ${APP_CONFIG} ] || ${CLI} run cp conf/app.ini ${APP_CONFIG}
 | 
			
		||||
${CLI} config:set USER=${APP_USER}
 | 
			
		||||
sed -i "s|RUN_USER = git|RUN_USER = ${APP_USER}|" ${APP_CONFIG}
 | 
			
		||||
sed -i "s|RUN_MODE = dev|RUN_MODE = prod|" ${APP_CONFIG}
 | 
			
		||||
 | 
			
		||||
${CLI} config:set GOGS_CUSTOM=/etc/${APP_NAME}
 | 
			
		||||
 | 
			
		||||
# scale
 | 
			
		||||
${CLI} scale web=1 || true
 | 
			
		||||
 | 
			
		||||
# restart the service
 | 
			
		||||
service gogs restart || true
 | 
			
		||||
@@ -11,11 +11,11 @@
 | 
			
		||||
		"outputPathIsOutsideProject": 0,
 | 
			
		||||
		"outputPathIsSetByUser": 0
 | 
			
		||||
		},
 | 
			
		||||
	"\/css\/gogs.css": {
 | 
			
		||||
	"\/css\/index.css": {
 | 
			
		||||
		"fileType": 16,
 | 
			
		||||
		"ignore": 1,
 | 
			
		||||
		"ignoreWasSetByUser": 0,
 | 
			
		||||
		"inputAbbreviatedPath": "\/css\/gogs.css",
 | 
			
		||||
		"inputAbbreviatedPath": "\/css\/index.css",
 | 
			
		||||
		"outputAbbreviatedPath": "No Output Path",
 | 
			
		||||
		"outputPathIsOutsideProject": 0,
 | 
			
		||||
		"outputPathIsSetByUser": 0
 | 
			
		||||
@@ -128,11 +128,11 @@
 | 
			
		||||
		"outputPathIsSetByUser": 0,
 | 
			
		||||
		"processed": 1
 | 
			
		||||
		},
 | 
			
		||||
	"\/js\/gogs.js": {
 | 
			
		||||
	"\/js\/index.js": {
 | 
			
		||||
		"fileType": 64,
 | 
			
		||||
		"ignore": 1,
 | 
			
		||||
		"ignoreWasSetByUser": 1,
 | 
			
		||||
		"inputAbbreviatedPath": "\/js\/gogs.js",
 | 
			
		||||
		"inputAbbreviatedPath": "\/js\/index.js",
 | 
			
		||||
		"outputAbbreviatedPath": "\/js\/min\/gogs-min.js",
 | 
			
		||||
		"outputPathIsOutsideProject": 0,
 | 
			
		||||
		"outputPathIsSetByUser": 0,
 | 
			
		||||
@@ -421,7 +421,7 @@
 | 
			
		||||
		"strictMath": 0,
 | 
			
		||||
		"strictUnits": 0
 | 
			
		||||
		},
 | 
			
		||||
	"\/less\/gogs.less": {
 | 
			
		||||
	"\/less\/index.less": {
 | 
			
		||||
		"allowInsecureImports": 0,
 | 
			
		||||
		"createSourceMap": 0,
 | 
			
		||||
		"disableJavascript": 0,
 | 
			
		||||
@@ -429,8 +429,8 @@
 | 
			
		||||
		"ieCompatibility": 1,
 | 
			
		||||
		"ignore": 0,
 | 
			
		||||
		"ignoreWasSetByUser": 1,
 | 
			
		||||
		"inputAbbreviatedPath": "\/less\/gogs.less",
 | 
			
		||||
		"outputAbbreviatedPath": "\/css\/gogs.css",
 | 
			
		||||
		"inputAbbreviatedPath": "\/less\/index.less",
 | 
			
		||||
		"outputAbbreviatedPath": "\/css\/index.css",
 | 
			
		||||
		"outputPathIsOutsideProject": 0,
 | 
			
		||||
		"outputPathIsSetByUser": 1,
 | 
			
		||||
		"outputStyle": 0,
 | 
			
		||||
@@ -1258,4 +1258,4 @@
 | 
			
		||||
	"websiteRelativeRoot": ""
 | 
			
		||||
	},
 | 
			
		||||
"settingsFileVersion": "2"
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -31,23 +31,18 @@ pre.wrap,
 | 
			
		||||
code.wrap {
 | 
			
		||||
  white-space: pre-wrap;
 | 
			
		||||
  /* CSS 3 */
 | 
			
		||||
 | 
			
		||||
  word-break: break-word;
 | 
			
		||||
}
 | 
			
		||||
.dont-break-out {
 | 
			
		||||
  /* These are technically the same, but use both */
 | 
			
		||||
 | 
			
		||||
  overflow-wrap: break-word;
 | 
			
		||||
  word-wrap: break-word;
 | 
			
		||||
  -ms-word-break: break-all;
 | 
			
		||||
  /* This is the dangerous one in WebKit, as it breaks things wherever */
 | 
			
		||||
 | 
			
		||||
  word-break: break-all;
 | 
			
		||||
  /* Instead use this non-standard one: */
 | 
			
		||||
 | 
			
		||||
  word-break: break-word;
 | 
			
		||||
  /* Adds a hyphen where the word breaks, if supported (No Blink) */
 | 
			
		||||
 | 
			
		||||
  -ms-hyphens: auto;
 | 
			
		||||
  -moz-hyphens: auto;
 | 
			
		||||
  -webkit-hyphens: auto;
 | 
			
		||||
@@ -817,7 +812,7 @@ footer .ui.language .menu {
 | 
			
		||||
  border: solid 1px #ccc;
 | 
			
		||||
  border-bottom-color: #bbb;
 | 
			
		||||
  border-radius: 3px;
 | 
			
		||||
  box-shadow: inset 0 -1px 0 #bbbbbb;
 | 
			
		||||
  box-shadow: inset 0 -1px 0 #bbb;
 | 
			
		||||
}
 | 
			
		||||
.markdown:not(code) input[type="checkbox"] {
 | 
			
		||||
  vertical-align: middle !important;
 | 
			
		||||
@@ -888,7 +883,7 @@ footer .ui.language .menu {
 | 
			
		||||
}
 | 
			
		||||
.install form label {
 | 
			
		||||
  text-align: right;
 | 
			
		||||
  width: 320px;
 | 
			
		||||
  width: 320px !important;
 | 
			
		||||
}
 | 
			
		||||
.install form input {
 | 
			
		||||
  width: 35% !important;
 | 
			
		||||
@@ -897,7 +892,7 @@ footer .ui.language .menu {
 | 
			
		||||
  text-align: left;
 | 
			
		||||
}
 | 
			
		||||
.install form .field .help {
 | 
			
		||||
  margin-left: 335px;
 | 
			
		||||
  margin-left: 335px !important;
 | 
			
		||||
}
 | 
			
		||||
.install form .field.optional .title {
 | 
			
		||||
  margin-left: 38%;
 | 
			
		||||
@@ -932,18 +927,18 @@ footer .ui.language .menu {
 | 
			
		||||
  text-align: center;
 | 
			
		||||
}
 | 
			
		||||
#create-page-form form .header {
 | 
			
		||||
  padding-left: 280px;
 | 
			
		||||
  padding-left: 280px !important;
 | 
			
		||||
}
 | 
			
		||||
#create-page-form form .inline.field > label {
 | 
			
		||||
  text-align: right;
 | 
			
		||||
  width: 250px;
 | 
			
		||||
  width: 250px !important;
 | 
			
		||||
  word-wrap: break-word;
 | 
			
		||||
}
 | 
			
		||||
#create-page-form form .help {
 | 
			
		||||
  margin-left: 265px;
 | 
			
		||||
  margin-left: 265px !important;
 | 
			
		||||
}
 | 
			
		||||
#create-page-form form .optional .title {
 | 
			
		||||
  margin-left: 250px;
 | 
			
		||||
  margin-left: 250px !important;
 | 
			
		||||
}
 | 
			
		||||
#create-page-form form input,
 | 
			
		||||
#create-page-form form textarea {
 | 
			
		||||
@@ -969,7 +964,7 @@ footer .ui.language .menu {
 | 
			
		||||
.user.reset.password form .header,
 | 
			
		||||
.user.signin form .header,
 | 
			
		||||
.user.signup form .header {
 | 
			
		||||
  padding-left: 280px;
 | 
			
		||||
  padding-left: 280px !important;
 | 
			
		||||
}
 | 
			
		||||
.user.activate form .inline.field > label,
 | 
			
		||||
.user.forgot.password form .inline.field > label,
 | 
			
		||||
@@ -977,7 +972,7 @@ footer .ui.language .menu {
 | 
			
		||||
.user.signin form .inline.field > label,
 | 
			
		||||
.user.signup form .inline.field > label {
 | 
			
		||||
  text-align: right;
 | 
			
		||||
  width: 250px;
 | 
			
		||||
  width: 250px !important;
 | 
			
		||||
  word-wrap: break-word;
 | 
			
		||||
}
 | 
			
		||||
.user.activate form .help,
 | 
			
		||||
@@ -985,14 +980,14 @@ footer .ui.language .menu {
 | 
			
		||||
.user.reset.password form .help,
 | 
			
		||||
.user.signin form .help,
 | 
			
		||||
.user.signup form .help {
 | 
			
		||||
  margin-left: 265px;
 | 
			
		||||
  margin-left: 265px !important;
 | 
			
		||||
}
 | 
			
		||||
.user.activate form .optional .title,
 | 
			
		||||
.user.forgot.password form .optional .title,
 | 
			
		||||
.user.reset.password form .optional .title,
 | 
			
		||||
.user.signin form .optional .title,
 | 
			
		||||
.user.signup form .optional .title {
 | 
			
		||||
  margin-left: 250px;
 | 
			
		||||
  margin-left: 250px !important;
 | 
			
		||||
}
 | 
			
		||||
.user.activate form input,
 | 
			
		||||
.user.forgot.password form input,
 | 
			
		||||
@@ -1026,7 +1021,7 @@ footer .ui.language .menu {
 | 
			
		||||
.user.reset.password form .inline.field > label,
 | 
			
		||||
.user.signin form .inline.field > label,
 | 
			
		||||
.user.signup form .inline.field > label {
 | 
			
		||||
  width: 200px;
 | 
			
		||||
  width: 200px !important;
 | 
			
		||||
}
 | 
			
		||||
.repository.new.repo form,
 | 
			
		||||
.repository.new.migrate form,
 | 
			
		||||
@@ -1042,24 +1037,24 @@ footer .ui.language .menu {
 | 
			
		||||
.repository.new.repo form .header,
 | 
			
		||||
.repository.new.migrate form .header,
 | 
			
		||||
.repository.new.fork form .header {
 | 
			
		||||
  padding-left: 280px;
 | 
			
		||||
  padding-left: 280px !important;
 | 
			
		||||
}
 | 
			
		||||
.repository.new.repo form .inline.field > label,
 | 
			
		||||
.repository.new.migrate form .inline.field > label,
 | 
			
		||||
.repository.new.fork form .inline.field > label {
 | 
			
		||||
  text-align: right;
 | 
			
		||||
  width: 250px;
 | 
			
		||||
  width: 250px !important;
 | 
			
		||||
  word-wrap: break-word;
 | 
			
		||||
}
 | 
			
		||||
.repository.new.repo form .help,
 | 
			
		||||
.repository.new.migrate form .help,
 | 
			
		||||
.repository.new.fork form .help {
 | 
			
		||||
  margin-left: 265px;
 | 
			
		||||
  margin-left: 265px !important;
 | 
			
		||||
}
 | 
			
		||||
.repository.new.repo form .optional .title,
 | 
			
		||||
.repository.new.migrate form .optional .title,
 | 
			
		||||
.repository.new.fork form .optional .title {
 | 
			
		||||
  margin-left: 250px;
 | 
			
		||||
  margin-left: 250px !important;
 | 
			
		||||
}
 | 
			
		||||
.repository.new.repo form input,
 | 
			
		||||
.repository.new.migrate form input,
 | 
			
		||||
@@ -1094,7 +1089,7 @@ footer .ui.language .menu {
 | 
			
		||||
  width: 50%!important;
 | 
			
		||||
}
 | 
			
		||||
.repository.new.repo .ui.form #auto-init {
 | 
			
		||||
  margin-left: 265px;
 | 
			
		||||
  margin-left: 265px !important;
 | 
			
		||||
}
 | 
			
		||||
.new.webhook form .help {
 | 
			
		||||
  margin-left: 25px;
 | 
			
		||||
@@ -2340,18 +2335,14 @@ footer .ui.language .menu {
 | 
			
		||||
}
 | 
			
		||||
.settings .hook.list .item a {
 | 
			
		||||
  /* These are technically the same, but use both */
 | 
			
		||||
 | 
			
		||||
  overflow-wrap: break-word;
 | 
			
		||||
  word-wrap: break-word;
 | 
			
		||||
  -ms-word-break: break-all;
 | 
			
		||||
  /* This is the dangerous one in WebKit, as it breaks things wherever */
 | 
			
		||||
 | 
			
		||||
  word-break: break-all;
 | 
			
		||||
  /* Instead use this non-standard one: */
 | 
			
		||||
 | 
			
		||||
  word-break: break-word;
 | 
			
		||||
  /* Adds a hyphen where the word breaks, if supported (No Blink) */
 | 
			
		||||
 | 
			
		||||
  -ms-hyphens: auto;
 | 
			
		||||
  -moz-hyphens: auto;
 | 
			
		||||
  -webkit-hyphens: auto;
 | 
			
		||||
@@ -2550,18 +2541,18 @@ footer .ui.language .menu {
 | 
			
		||||
  text-align: center;
 | 
			
		||||
}
 | 
			
		||||
.organization.new.org form .header {
 | 
			
		||||
  padding-left: 280px;
 | 
			
		||||
  padding-left: 280px !important;
 | 
			
		||||
}
 | 
			
		||||
.organization.new.org form .inline.field > label {
 | 
			
		||||
  text-align: right;
 | 
			
		||||
  width: 250px;
 | 
			
		||||
  width: 250px !important;
 | 
			
		||||
  word-wrap: break-word;
 | 
			
		||||
}
 | 
			
		||||
.organization.new.org form .help {
 | 
			
		||||
  margin-left: 265px;
 | 
			
		||||
  margin-left: 265px !important;
 | 
			
		||||
}
 | 
			
		||||
.organization.new.org form .optional .title {
 | 
			
		||||
  margin-left: 250px;
 | 
			
		||||
  margin-left: 250px !important;
 | 
			
		||||
}
 | 
			
		||||
.organization.new.org form input,
 | 
			
		||||
.organization.new.org form textarea {
 | 
			
		||||
@@ -33,11 +33,11 @@
 | 
			
		||||
 | 
			
		||||
	<!-- Stylesheet -->
 | 
			
		||||
	<link rel="stylesheet" href="{{AppSubUrl}}/css/semantic-2.2.1.min.css">
 | 
			
		||||
	<link rel="stylesheet" href="{{AppSubUrl}}/css/gogs.css?v={{MD5 AppVer}}">
 | 
			
		||||
	<link rel="stylesheet" href="{{AppSubUrl}}/css/index.css?v={{MD5 AppVer}}">
 | 
			
		||||
 | 
			
		||||
	<!-- JavaScript -->
 | 
			
		||||
	<script src="{{AppSubUrl}}/js/semantic-2.2.1.min.js"></script>
 | 
			
		||||
	<script src="{{AppSubUrl}}/js/gogs.js?v={{MD5 AppVer}}"></script>
 | 
			
		||||
	<script src="{{AppSubUrl}}/js/index.js?v={{MD5 AppVer}}"></script>
 | 
			
		||||
 | 
			
		||||
	<title>{{if .Title}}{{.Title}} - {{end}}{{AppName}}</title>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user