mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-26 06:52:45 +00:00
Merge branch 'develop' of github.com:gogits/gogs into feature/pull_request2
# Conflicts: # modules/bindata/bindata.go # public/css/gogs.min.css
This commit is contained in:
commit
887bc1b594
|
@ -17,3 +17,9 @@ notifications:
|
|||
email:
|
||||
- u@gogs.io
|
||||
slack: gophercn:o5pSanyTeNhnfYc3QnG0X7Wx
|
||||
webhooks:
|
||||
urls:
|
||||
- https://webhooks.gitter.im/e/b590f8e03882f7aedc3e
|
||||
on_success: change
|
||||
on_failure: always
|
||||
on_start: never
|
||||
|
|
|
@ -198,6 +198,7 @@ SESSION_LIFE_TIME = 86400
|
|||
SERVICE = server
|
||||
AVATAR_UPLOAD_PATH = data/avatars
|
||||
; Chinese users can choose "duoshuo"
|
||||
; or a custom avatar source, like: http://cn.gravatar.com/avatar/
|
||||
GRAVATAR_SOURCE = gravatar
|
||||
DISABLE_GRAVATAR = false
|
||||
|
||||
|
|
|
@ -14,6 +14,9 @@ version = Version
|
|||
page = Page
|
||||
template = Template
|
||||
language = Language
|
||||
create_new = Create new...
|
||||
user_profile_and_more = User profile and more
|
||||
signed_in_as = Signed in as
|
||||
|
||||
username = Username
|
||||
email = E-mail
|
||||
|
@ -32,6 +35,8 @@ manage_org = Manage Organizations
|
|||
admin_panel = Admin Panel
|
||||
account_settings = Account Settings
|
||||
settings = Settings
|
||||
your_profile = Your Profile
|
||||
your_settings = Your Settings
|
||||
|
||||
news_feed = News Feed
|
||||
pull_requests = Pull Requests
|
||||
|
|
|
@ -122,15 +122,6 @@
|
|||
"outputPathIsOutsideProject": 0,
|
||||
"outputPathIsSetByUser": 0
|
||||
},
|
||||
"\/public\/css\/gogs.min.css": {
|
||||
"fileType": 16,
|
||||
"ignore": 1,
|
||||
"ignoreWasSetByUser": 0,
|
||||
"inputAbbreviatedPath": "\/public\/css\/gogs.min.css",
|
||||
"outputAbbreviatedPath": "No Output Path",
|
||||
"outputPathIsOutsideProject": 0,
|
||||
"outputPathIsSetByUser": 0
|
||||
},
|
||||
"\/public\/css\/jquery.datetimepicker.css": {
|
||||
"fileType": 16,
|
||||
"ignore": 0,
|
||||
|
@ -308,26 +299,6 @@
|
|||
"outputPathIsSetByUser": 0,
|
||||
"processed": 1
|
||||
},
|
||||
"\/public\/less\/_base.less": {
|
||||
"allowInsecureImports": 0,
|
||||
"createSourceMap": 0,
|
||||
"disableJavascript": 0,
|
||||
"fileType": 1,
|
||||
"ieCompatibility": 1,
|
||||
"ignore": 1,
|
||||
"ignoreWasSetByUser": 0,
|
||||
"inputAbbreviatedPath": "\/public\/less\/_base.less",
|
||||
"outputAbbreviatedPath": "\/public\/css\/_base.css",
|
||||
"outputPathIsOutsideProject": 0,
|
||||
"outputPathIsSetByUser": 0,
|
||||
"outputStyle": 0,
|
||||
"relativeURLS": 0,
|
||||
"shouldRunAutoprefixer": 0,
|
||||
"shouldRunBless": 0,
|
||||
"strictImports": 0,
|
||||
"strictMath": 0,
|
||||
"strictUnits": 0
|
||||
},
|
||||
"\/public\/less\/_form.less": {
|
||||
"allowInsecureImports": 0,
|
||||
"createSourceMap": 0,
|
||||
|
|
|
@ -97,6 +97,9 @@ func Migrate(x *xorm.Engine) error {
|
|||
}
|
||||
|
||||
v := currentVersion.Version
|
||||
if int(v) > len(migrations) {
|
||||
return nil
|
||||
}
|
||||
for i, m := range migrations[v-_MIN_DB_VER:] {
|
||||
log.Info("Migration: %s", m.Description())
|
||||
if err = m.Migrate(x); err != nil {
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -15,10 +15,11 @@ import (
|
|||
"strings"
|
||||
"time"
|
||||
|
||||
"gopkg.in/ini.v1"
|
||||
|
||||
"github.com/Unknwon/com"
|
||||
"github.com/macaron-contrib/oauth2"
|
||||
"github.com/macaron-contrib/session"
|
||||
"gopkg.in/ini.v1"
|
||||
|
||||
"github.com/gogits/gogs/modules/bindata"
|
||||
"github.com/gogits/gogs/modules/log"
|
||||
|
@ -345,11 +346,13 @@ func NewConfigContext() {
|
|||
if !filepath.IsAbs(AvatarUploadPath) {
|
||||
AvatarUploadPath = path.Join(workDir, AvatarUploadPath)
|
||||
}
|
||||
switch sec.Key("GRAVATAR_SOURCE").MustString("gravatar") {
|
||||
switch source := sec.Key("GRAVATAR_SOURCE").MustString("gravatar"); source {
|
||||
case "duoshuo":
|
||||
GravatarSource = "http://gravatar.duoshuo.com/avatar/"
|
||||
default:
|
||||
case "gravatar":
|
||||
GravatarSource = "//1.gravatar.com/avatar/"
|
||||
default:
|
||||
GravatarSource = source
|
||||
}
|
||||
DisableGravatar = sec.Key("DISABLE_GRAVATAR").MustBool()
|
||||
if OfflineMode {
|
||||
|
|
2
public/css/gogs.min.css
vendored
2
public/css/gogs.min.css
vendored
File diff suppressed because one or more lines are too long
|
@ -222,7 +222,10 @@ $(document).ready(function () {
|
|||
// Semantic UI modules.
|
||||
$('.dropdown').dropdown();
|
||||
$('.jump.dropdown').dropdown({
|
||||
action: 'hide'
|
||||
action: 'hide',
|
||||
onShow: function() {
|
||||
$('.poping.up').popup('hide');
|
||||
}
|
||||
});
|
||||
$('.slide.up.dropdown').dropdown({
|
||||
transition: 'slide up'
|
||||
|
@ -233,6 +236,13 @@ $(document).ready(function () {
|
|||
showActivity: false
|
||||
});
|
||||
$('.poping.up').popup();
|
||||
$('.top.menu .poping.up').popup({
|
||||
onShow: function() {
|
||||
if ( $('.top.menu .menu.transition').hasClass('visible') ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Helpers.
|
||||
|
|
|
@ -16,7 +16,6 @@ img {
|
|||
z-index: 900;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
padding: 5px 0;
|
||||
&.light {
|
||||
background-color: white;
|
||||
border-bottom: 1px solid #DDDDDD;
|
||||
|
@ -25,10 +24,19 @@ img {
|
|||
.column .menu {
|
||||
margin-top: 0;
|
||||
}
|
||||
.brand {
|
||||
float: left;
|
||||
margin-top: 5px;
|
||||
margin-right: 5px;
|
||||
.top.menu a.item.brand {
|
||||
padding-left: 0;
|
||||
}
|
||||
.brand .ui.mini.image {
|
||||
width: 30px;
|
||||
}
|
||||
.top.menu a.item:hover,
|
||||
.top.menu .dropdown.item:hover,
|
||||
.top.menu .dropdown.item.active {
|
||||
background-color: transparent;
|
||||
}
|
||||
.top.menu a.item:hover {
|
||||
color: rgba(0,0,0,.45);
|
||||
}
|
||||
.head.link.item {
|
||||
padding-right: 0!important;
|
||||
|
@ -37,8 +45,8 @@ img {
|
|||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
.user.avatar {
|
||||
padding: 0;
|
||||
.avatar > .ui.image {
|
||||
margin-right: 0;
|
||||
}
|
||||
.searchbox {
|
||||
background-color: rgb(244, 244, 244)!important;
|
||||
|
@ -117,6 +125,10 @@ footer {
|
|||
.generate-img(@n, (@i + 1));
|
||||
}
|
||||
|
||||
.octicon.icon {
|
||||
font-family: octicons;
|
||||
}
|
||||
|
||||
// Accessibility
|
||||
.sr-only {
|
||||
position: absolute;
|
||||
|
|
|
@ -44,15 +44,23 @@
|
|||
<body>
|
||||
<div class="full height">
|
||||
<noscript>Please enable JavaScript in your browser!</noscript>
|
||||
|
||||
{{if not .PageIsInstall}}
|
||||
<div class="following bar light">
|
||||
<div class="ui container">
|
||||
<div class="column">
|
||||
<div class="ui secondary menu">
|
||||
<img class="img-15 ui image brand" src="{{AppSubUrl}}/img/favicon.png">
|
||||
<a class="view-ui item {{if .PageIsHome}}active{{end}}" href="{{AppSubUrl}}/">{{if .IsSigned}}{{.i18n.Tr "dashboard"}}{{else}}{{.i18n.Tr "home"}}{{end}}</a>
|
||||
<a class="view-ui item {{if .PageIsExplore}}active{{end}}" href="{{AppSubUrl}}/explore">{{.i18n.Tr "explore"}}</a>
|
||||
<a class="view-ui item" target="_blank" href="http://gogs.io/docs">{{.i18n.Tr "help"}}</a>
|
||||
<div class="ui top secondary menu">
|
||||
<a class="item brand" href="{{AppSubUrl}}/">
|
||||
<img class="ui mini image" src="{{AppSubUrl}}/img/favicon.png">
|
||||
</a>
|
||||
|
||||
{{if .IsSigned}}
|
||||
<a class="item{{if .PageIsDashboard}} active{{end}}" href="{{AppSubUrl}}/">{{.i18n.Tr "dashboard"}}</a>
|
||||
{{else}}
|
||||
<a class="item{{if .PageIsHome}} active{{end}}" href="{{AppSubUrl}}/">{{.i18n.Tr "home"}}</a>
|
||||
{{end}}
|
||||
|
||||
<a class="item{{if .PageIsExplore}} active{{end}}" href="{{AppSubUrl}}/explore">{{.i18n.Tr "explore"}}</a>
|
||||
<!-- <div class="item">
|
||||
<div class="ui icon input">
|
||||
<input class="searchbox" type="text" placeholder="{{.i18n.Tr "search_project"}}">
|
||||
|
@ -61,38 +69,84 @@
|
|||
</div> -->
|
||||
|
||||
{{if .IsSigned}}
|
||||
<a class="item{{if .PageIsIssues}} active{{end}}" href="{{AppSubUrl}}/issues">{{.i18n.Tr "issues"}}</a>
|
||||
<div class="right menu">
|
||||
<a class="view-ui item user avatar poping up" href="{{AppSubUrl}}/{{.SignedUser.Name}}" data-content="{{.SignedUser.Name}}" data-variation="inverted">
|
||||
<img class="img-15" src="{{.SignedUser.AvatarLink}}"/>
|
||||
<span class="sr-only">{{.SignedUser.Name}}</span>
|
||||
</a>
|
||||
<div class="ui dropdown head link jump item">
|
||||
<div class="ui dropdown head link jump item poping up" data-content="{{.i18n.Tr "create_new"}}" data-variation="tiny inverted">
|
||||
<span class="text">
|
||||
<i class="octicon octicon-plus"></i>
|
||||
<i class="dropdown icon"></i>
|
||||
<i class="octicon octicon-triangle-down"></i>
|
||||
</span>
|
||||
<div class="menu">
|
||||
<a class="item" href="{{AppSubUrl}}/repo/create"><i class="octicon octicon-repo-create"></i> {{.i18n.Tr "new_repo"}}</a>
|
||||
<a class="item" href="{{AppSubUrl}}/repo/migrate"><i class="octicon octicon-repo-clone"></i> {{.i18n.Tr "new_migrate"}}</a>
|
||||
<a class="item" href="{{AppSubUrl}}/org/create"><i class="octicon octicon-organization"></i> {{.i18n.Tr "new_org"}}</a>
|
||||
</div>
|
||||
</div>
|
||||
{{if .IsAdmin}}
|
||||
<a class="view-ui item poping up {{if .PageIsAdmin}}active{{end}}" href="{{AppSubUrl}}/admin" data-content="{{.i18n.Tr "admin_panel"}}" data-variation="inverted"><i class="octicon icon settings"></i><span class="sr-only">{{.i18n.Tr "admin_panel"}}</span></a>
|
||||
{{end}}
|
||||
<a class="view-ui item poping up {{if .PageIsSettings}}active{{end}}" href="{{AppSubUrl}}/user/settings" data-content="{{.i18n.Tr "account_settings"}}" data-variation="inverted"><i class="octicon octicon-settings"></i><span class="sr-only">{{.i18n.Tr "account_settings"}}</span></a>
|
||||
<a class="view-ui item poping up" href="{{AppSubUrl}}/user/logout" data-content="{{.i18n.Tr "sign_out"}}" data-variation="inverted"><i class="octicon octicon-sign-out"></i><span class="sr-only">{{.i18n.Tr "sign_out"}}</span></a>
|
||||
</div>
|
||||
<a class="item" href="{{AppSubUrl}}/repo/create">
|
||||
<i class="octicon octicon-repo-create"></i> {{.i18n.Tr "new_repo"}}
|
||||
</a>
|
||||
<a class="item" href="{{AppSubUrl}}/repo/migrate">
|
||||
<i class="octicon octicon-repo-clone"></i> {{.i18n.Tr "new_migrate"}}
|
||||
</a>
|
||||
<a class="item" href="{{AppSubUrl}}/org/create">
|
||||
<i class="octicon octicon-organization"></i> {{.i18n.Tr "new_org"}}
|
||||
</a>
|
||||
</div><!-- end content create new menu -->
|
||||
</div><!-- end dropdown menu create new -->
|
||||
|
||||
<div class="ui dropdown head link jump item poping up" tabindex="-1" data-content="{{.i18n.Tr "user_profile_and_more"}}" data-variation="tiny inverted">
|
||||
<span class="text avatar">
|
||||
<img class="ui small rounded image" src="{{.SignedUser.AvatarLink}}">
|
||||
<i class="octicon octicon-triangle-down" tabindex="-1"></i>
|
||||
</span>
|
||||
<div class="menu" tabindex="-1">
|
||||
<div class="ui header">
|
||||
{{.i18n.Tr "signed_in_as"}} <strong>{{.SignedUser.Name}}</strong>
|
||||
</div>
|
||||
|
||||
<div class="divider"></div>
|
||||
<a class="item" href="{{AppSubUrl}}/{{.SignedUser.Name}}">
|
||||
<i class="octicon icon octicon-person"></i>
|
||||
{{.i18n.Tr "your_profile"}}<!-- Your profile -->
|
||||
</a>
|
||||
<a class="item" href="{{AppSubUrl}}/user/settings">
|
||||
<i class="octicon icon octicon-settings"></i>
|
||||
{{.i18n.Tr "your_settings"}}<!-- Your settings -->
|
||||
</a>
|
||||
<a class="item" target="_blank" href="http://gogs.io/docs" rel="noreferrer">
|
||||
<i class="octicon icon octicon-question"></i>
|
||||
{{.i18n.Tr "help"}}<!-- Help -->
|
||||
</a>
|
||||
{{if .IsAdmin}}
|
||||
<div class="divider"></div>
|
||||
|
||||
<a class="item" href="{{AppSubUrl}}/admin">
|
||||
<i class="icon settings"></i>
|
||||
{{.i18n.Tr "admin_panel"}}<!-- Admin Panel -->
|
||||
</a>
|
||||
{{end}}
|
||||
|
||||
<div class="divider"></div>
|
||||
<a class="item" href="{{AppSubUrl}}/user/logout">
|
||||
<i class="octicon icon octicon-sign-out"></i>
|
||||
{{.i18n.Tr "sign_out"}}<!-- Sign Out -->
|
||||
</a>
|
||||
</div><!-- end content avatar menu -->
|
||||
</div><!-- end dropdown avatar menu -->
|
||||
</div><!-- end signed user right menu -->
|
||||
|
||||
{{else}}
|
||||
<div class="ui right floated secondary menu">
|
||||
|
||||
<a class="item" target="_blank" href="http://gogs.io/docs" rel="noreferrer">{{.i18n.Tr "help"}}</a>
|
||||
<div class="right menu">
|
||||
{{if .ShowRegistrationButton}}
|
||||
<a class="view-ui item {{if .PageIsSignUp}}active{{end}}" href="{{AppSubUrl}}/user/sign_up"><i class="octicon octicon-person-add"></i> {{.i18n.Tr "register"}}</a>
|
||||
<a class="item{{if .PageIsSignUp}} active{{end}}" href="{{AppSubUrl}}/user/sign_up">
|
||||
<i class="octicon octicon-person-add"></i> {{.i18n.Tr "register"}}
|
||||
</a>
|
||||
{{end}}
|
||||
<a class="view-ui item {{if .PageIsSignIn}}active{{end}}" href="{{AppSubUrl}}/user/login"><i class="octicon octicon-sign-in"></i> {{.i18n.Tr "sign_in"}}</a>
|
||||
</div>
|
||||
<a class="item{{if .PageIsSignIn}} active{{end}}" href="{{AppSubUrl}}/user/login">
|
||||
<i class="octicon octicon-sign-in"></i> {{.i18n.Tr "sign_in"}}
|
||||
</a>
|
||||
</div><!-- end anonymous right menu -->
|
||||
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- end top menu -->
|
||||
</div><!-- end column -->
|
||||
</div><!-- end container -->
|
||||
</div><!-- end bar -->
|
||||
{{end}}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<a class="{{if .PageIsSettingsOptions}}active{{end}} item" href="{{.RepoLink}}/settings">
|
||||
{{.i18n.Tr "repo.settings.options"}}
|
||||
</a>
|
||||
<a class="{{if .PageIsSettingsCollaboration}}active{{end}} item" href="{.RepoLink}}/settings/collaboration">
|
||||
<a class="{{if .PageIsSettingsCollaboration}}active{{end}} item" href="{{.RepoLink}}/settings/collaboration">
|
||||
{{.i18n.Tr "repo.settings.collaboration"}}
|
||||
</a>
|
||||
<a class="{{if .PageIsSettingsHooks}}active{{end}} item" href="{{.RepoLink}}/settings/hooks">
|
||||
|
|
Loading…
Reference in a new issue