]> source.dussan.org Git - gitea.git/commitdiff
Add suburl support
authorUnknwon <joe2010xtmf@163.com>
Sat, 20 Sep 2014 00:11:34 +0000 (20:11 -0400)
committerUnknwon <joe2010xtmf@163.com>
Sat, 20 Sep 2014 00:11:34 +0000 (20:11 -0400)
90 files changed:
cmd/web.go
gogs.go
models/action.go
models/user.go
modules/base/markdown.go
modules/base/template.go
modules/middleware/auth.go
modules/middleware/context.go
modules/middleware/org.go
modules/middleware/repo.go
modules/setting/setting.go
routers/admin/admin.go
routers/admin/auths.go
routers/admin/users.go
routers/home.go
routers/install.go
routers/org/members.go
routers/org/org.go
routers/org/setting.go
routers/repo/commit.go
routers/repo/issue.go
routers/repo/repo.go
routers/repo/setting.go
routers/user/auth.go
routers/user/home.go
routers/user/setting.go
routers/user/social.go
templates/.VERSION
templates/admin/auth/edit.tmpl
templates/admin/auth/list.tmpl
templates/admin/auth/new.tmpl
templates/admin/dashboard.tmpl
templates/admin/nav.tmpl
templates/admin/org/list.tmpl
templates/admin/repo/list.tmpl
templates/admin/user/edit.tmpl
templates/admin/user/list.tmpl
templates/admin/user/new.tmpl
templates/base/head.tmpl
templates/base/navbar.tmpl
templates/explore/nav.tmpl
templates/explore/repos.tmpl
templates/home.tmpl
templates/install.tmpl
templates/ng/base/head.tmpl
templates/ng/base/header.tmpl
templates/ng/base/social.tmpl
templates/org/base/header.tmpl
templates/org/create.tmpl
templates/org/home.tmpl
templates/org/member/members.tmpl
templates/org/new.tmpl
templates/org/settings/delete.tmpl
templates/org/settings/nav.tmpl
templates/org/settings/options.tmpl
templates/org/team/members.tmpl
templates/org/team/repositories.tmpl
templates/org/team/teams.tmpl
templates/repo/bare.tmpl
templates/repo/commits_table.tmpl
templates/repo/create.tmpl
templates/repo/diff.tmpl
templates/repo/header.tmpl
templates/repo/issue/list.tmpl
templates/repo/issue/view.tmpl
templates/repo/migrate.tmpl
templates/repo/nav.tmpl
templates/repo/release/list.tmpl
templates/repo/setting_nav.tmpl
templates/repo/settings/collaboration.tmpl
templates/repo/single.tmpl
templates/repo/single_list.tmpl
templates/repo/view_list.tmpl
templates/status/404.tmpl
templates/status/500.tmpl
templates/user/auth/activate.tmpl
templates/user/auth/forgot_passwd.tmpl
templates/user/auth/reset_passwd.tmpl
templates/user/auth/signin.tmpl
templates/user/auth/signup.tmpl
templates/user/dashboard/dashboard.tmpl
templates/user/dashboard/nav.tmpl
templates/user/issues.tmpl
templates/user/profile.tmpl
templates/user/settings/delete.tmpl
templates/user/settings/nav.tmpl
templates/user/settings/password.tmpl
templates/user/settings/profile.tmpl
templates/user/settings/social.tmpl
templates/user/settings/sshkeys.tmpl

index f56ae826854a627a60fb77a65ef196233c5ab432..45f35a35afeb3163e3ee212116b6f6f975294bd6 100644 (file)
@@ -79,6 +79,7 @@ func newMacaron() *macaron.Macaron {
                IndentJSON: macaron.Env != macaron.PROD,
        }))
        m.Use(i18n.I18n(i18n.Options{
+               SubURL:   setting.AppSubUrl,
                Langs:    setting.Langs,
                Names:    setting.Names,
                Redirect: true,
@@ -88,7 +89,9 @@ func newMacaron() *macaron.Macaron {
                Interval: setting.CacheInternal,
                Conn:     setting.CacheConn,
        }))
-       m.Use(captcha.Captchaer())
+       m.Use(captcha.Captchaer(captcha.Options{
+               SubURL: setting.AppSubUrl,
+       }))
        m.Use(session.Sessioner(session.Options{
                Provider: setting.SessionProvider,
                Config:   *setting.SessionConfig,
@@ -365,7 +368,7 @@ func runWeb(*cli.Context) {
 
        var err error
        listenAddr := fmt.Sprintf("%s:%s", setting.HttpAddr, setting.HttpPort)
-       log.Info("Listen: %v://%s", setting.Protocol, listenAddr)
+       log.Info("Listen: %v://%s%s", setting.Protocol, listenAddr, setting.AppSubUrl)
        switch setting.Protocol {
        case setting.HTTP:
                err = http.ListenAndServe(listenAddr, m)
diff --git a/gogs.go b/gogs.go
index c5249b25126e5c767cb39a222172c670397cc270..8f9bc767d93e96760bed2a0e53c8f459d48e513d 100644 (file)
--- a/gogs.go
+++ b/gogs.go
@@ -17,7 +17,7 @@ import (
        "github.com/gogits/gogs/modules/setting"
 )
 
-const APP_VER = "0.5.2.0917 Beta"
+const APP_VER = "0.5.3.0919 Beta"
 
 func init() {
        runtime.GOMAXPROCS(runtime.NumCPU())
index 596f51aff214082b5c8d793e8ee11f28b726896c..b4457656baa63c310b929a09d8c1676060ef83ea 100644 (file)
@@ -137,7 +137,7 @@ func updateIssuesCommit(userId, repoId int64, repoUserName, repoName string, com
                                return err
                        }
 
-                       url := fmt.Sprintf("%s/%s/%s/commit/%s", setting.AppRootSubUrl, repoUserName, repoName, c.Sha1)
+                       url := fmt.Sprintf("%s/%s/%s/commit/%s", setting.AppSubUrl, repoUserName, repoName, c.Sha1)
                        message := fmt.Sprintf(`<a href="%s">%s</a>`, url, c.Message)
 
                        if _, err = CreateComment(userId, issue.RepoId, issue.Id, 0, 0, COMMIT, message, nil); err != nil {
index 1bed8109a2aca50ca517b03e64ef6a08a6ac69e2..46e1b1554bf9afbfaa2ebb01774fba93c6eb4aa2 100644 (file)
@@ -82,14 +82,14 @@ type User struct {
 // DashboardLink returns the user dashboard page link.
 func (u *User) DashboardLink() string {
        if u.IsOrganization() {
-               return setting.AppRootSubUrl + "/org/" + u.Name + "/dashboard/"
+               return setting.AppSubUrl + "/org/" + u.Name + "/dashboard/"
        }
-       return setting.AppRootSubUrl + "/"
+       return setting.AppSubUrl + "/"
 }
 
 // HomeLink returns the user home page link.
 func (u *User) HomeLink() string {
-       return setting.AppRootSubUrl + "/user/" + u.Name
+       return setting.AppSubUrl + "/user/" + u.Name
 }
 
 // AvatarLink returns user gravatar link.
index 2aa81005bf0296610a6b4a557321ec6184f340ff..a3db15df1a69f58cb00073fee0a6c14729565e00 100644 (file)
@@ -113,7 +113,7 @@ func RenderSpecialLink(rawBytes []byte, urlPrefix string) []byte {
                        ms := MentionPattern.FindAll(line, -1)
                        for _, m := range ms {
                                line = bytes.Replace(line, m,
-                                       []byte(fmt.Sprintf(`<a href="%s/user/%s">%s</a>`, setting.AppRootSubUrl, m[1:], m)), -1)
+                                       []byte(fmt.Sprintf(`<a href="%s/user/%s">%s</a>`, setting.AppSubUrl, m[1:], m)), -1)
                        }
                }
 
index dd883ea360b935f3eaaebc1126dabfcea8d25899..ec41914937fdddaee4131d0e6e7e2922627f9c5e 100644 (file)
@@ -82,8 +82,8 @@ var TemplateFuncs template.FuncMap = map[string]interface{}{
        "AppName": func() string {
                return setting.AppName
        },
-       "AppRootSubUrl": func() string {
-               return setting.AppRootSubUrl
+       "AppSubUrl": func() string {
+               return setting.AppSubUrl
        },
        "AppVer": func() string {
                return setting.AppVer
@@ -210,7 +210,7 @@ func ActionDesc(act Actioner) string {
        content := act.GetContent()
        switch act.GetOpType() {
        case 1: // Create repository.
-               return fmt.Sprintf(TPL_CREATE_REPO, setting.AppRootSubUrl, actUserName, actUserName, repoLink, repoName)
+               return fmt.Sprintf(TPL_CREATE_REPO, setting.AppSubUrl, actUserName, actUserName, repoLink, repoName)
        case 5: // Commit repository.
                var push *PushCommits
                if err := json.Unmarshal([]byte(content), &push); err != nil {
@@ -223,20 +223,20 @@ func ActionDesc(act Actioner) string {
                if push.Len > 3 {
                        buf.WriteString(fmt.Sprintf(`<div><a href="{{AppRootSubUrl}}/%s/%s/commits/%s" rel="nofollow">%d other commits >></a></div>`, actUserName, repoName, branch, push.Len))
                }
-               return fmt.Sprintf(TPL_COMMIT_REPO, setting.AppRootSubUrl, actUserName, actUserName, repoLink, branch, branch, repoLink, repoLink,
+               return fmt.Sprintf(TPL_COMMIT_REPO, setting.AppSubUrl, actUserName, actUserName, repoLink, branch, branch, repoLink, repoLink,
                        buf.String())
        case 6: // Create issue.
                infos := strings.SplitN(content, "|", 2)
-               return fmt.Sprintf(TPL_CREATE_ISSUE, setting.AppRootSubUrl, actUserName, actUserName, repoLink, infos[0], repoLink, infos[0],
+               return fmt.Sprintf(TPL_CREATE_ISSUE, setting.AppSubUrl, actUserName, actUserName, repoLink, infos[0], repoLink, infos[0],
                        AvatarLink(email), infos[1])
        case 8: // Transfer repository.
                newRepoLink := content + "/" + repoName
-               return fmt.Sprintf(TPL_TRANSFER_REPO, setting.AppRootSubUrl, actUserName, actUserName, repoLink, newRepoLink, newRepoLink)
+               return fmt.Sprintf(TPL_TRANSFER_REPO, setting.AppSubUrl, actUserName, actUserName, repoLink, newRepoLink, newRepoLink)
        case 9: // Push tag.
-               return fmt.Sprintf(TPL_PUSH_TAG, setting.AppRootSubUrl, actUserName, actUserName, repoLink, branch, branch, repoLink, repoLink)
+               return fmt.Sprintf(TPL_PUSH_TAG, setting.AppSubUrl, actUserName, actUserName, repoLink, branch, branch, repoLink, repoLink)
        case 10: // Comment issue.
                infos := strings.SplitN(content, "|", 2)
-               return fmt.Sprintf(TPL_COMMENT_ISSUE, setting.AppRootSubUrl, actUserName, actUserName, repoLink, infos[0], repoLink, infos[0],
+               return fmt.Sprintf(TPL_COMMENT_ISSUE, setting.AppSubUrl, actUserName, actUserName, repoLink, infos[0], repoLink, infos[0],
                        AvatarLink(email), infos[1])
        default:
                return "invalid type"
index ccd8d0315dfa57c285141a2a1ef31f63eda562fa..8fae5d1eced6b9bbcfed606587f4b0688d53ac4d 100644 (file)
@@ -25,13 +25,13 @@ func Toggle(options *ToggleOptions) macaron.Handler {
        return func(ctx *Context) {
                // Cannot view any page before installation.
                if !setting.InstallLock {
-                       ctx.Redirect(setting.AppRootSubUrl + "/install")
+                       ctx.Redirect(setting.AppSubUrl + "/install")
                        return
                }
 
                // Redirect to dashboard if user tries to visit any non-login page.
                if options.SignOutRequire && ctx.IsSigned && ctx.Req.RequestURI != "/" {
-                       ctx.Redirect(setting.AppRootSubUrl + "/")
+                       ctx.Redirect(setting.AppSubUrl + "/")
                        return
                }
 
@@ -48,8 +48,8 @@ func Toggle(options *ToggleOptions) macaron.Handler {
                                if strings.HasSuffix(ctx.Req.RequestURI, "watch") {
                                        return
                                }
-                               ctx.SetCookie("redirect_to", "/"+url.QueryEscape(setting.AppRootSubUrl + ctx.Req.RequestURI))
-                               ctx.Redirect(setting.AppRootSubUrl + "/user/login")
+                               ctx.SetCookie("redirect_to", "/"+url.QueryEscape(setting.AppSubUrl+ctx.Req.RequestURI))
+                               ctx.Redirect(setting.AppSubUrl + "/user/login")
                                return
                        } else if !ctx.User.IsActive && setting.Service.RegisterEmailConfirm {
                                ctx.Data["Title"] = ctx.Tr("auth.active_your_account")
index 5c26f91f5e182d61248f3a516708046fed863553..9145038fb087d61055ad8196680bb9951cb339a9 100644 (file)
@@ -187,7 +187,7 @@ func Contexter() macaron.Handler {
                        Session: sess,
                }
                // Compute current URL for real-time change language.
-               link := setting.AppRootSubUrl + ctx.Req.RequestURI
+               link := setting.AppSubUrl + ctx.Req.RequestURI
                i := strings.Index(link, "?")
                if i > -1 {
                        link = link[:i]
index 3a2cf7bc8fbdb5baaaaac2116cdca56206f93ed3..be102989911502d29328c27bea895c90a8ae58db 100644 (file)
@@ -38,7 +38,7 @@ func OrgAssignment(redirect bool, args ...bool) macaron.Handler {
                                ctx.Handle(404, "GetUserByName", err)
                        } else if redirect {
                                log.Error(4, "GetUserByName", err)
-                               ctx.Redirect(setting.AppRootSubUrl + "/")
+                               ctx.Redirect(setting.AppSubUrl + "/")
                        } else {
                                ctx.Handle(500, "GetUserByName", err)
                        }
@@ -68,7 +68,7 @@ func OrgAssignment(redirect bool, args ...bool) macaron.Handler {
                }
                ctx.Data["IsOrganizationOwner"] = ctx.Org.IsOwner
 
-               ctx.Org.OrgLink = setting.AppRootSubUrl + "/org/" + org.Name
+               ctx.Org.OrgLink = setting.AppSubUrl + "/org/" + org.Name
                ctx.Data["OrgLink"] = ctx.Org.OrgLink
 
                // Team.
@@ -80,7 +80,7 @@ func OrgAssignment(redirect bool, args ...bool) macaron.Handler {
                                        ctx.Handle(404, "GetTeam", err)
                                } else if redirect {
                                        log.Error(4, "GetTeam", err)
-                                       ctx.Redirect(setting.AppRootSubUrl + "/")
+                                       ctx.Redirect(setting.AppSubUrl + "/")
                                } else {
                                        ctx.Handle(500, "GetTeam", err)
                                }
index e7d7fb561d853ac32d53495953d56d2dd2da7115..79b01133bdf0d81e055a003e0efc45a401e86813 100644 (file)
@@ -60,7 +60,7 @@ func RepoAssignment(redirect bool, args ...bool) macaron.Handler {
                                        ctx.Handle(404, "GetUserByName", err)
                                } else if redirect {
                                        log.Error(4, "GetUserByName", err)
-                                       ctx.Redirect(setting.AppRootSubUrl + "/")
+                                       ctx.Redirect(setting.AppSubUrl + "/")
                                } else {
                                        ctx.Handle(500, "GetUserByName", err)
                                }
@@ -72,7 +72,7 @@ func RepoAssignment(redirect bool, args ...bool) macaron.Handler {
 
                if u == nil {
                        if redirect {
-                               ctx.Redirect(setting.AppRootSubUrl + "/")
+                               ctx.Redirect(setting.AppSubUrl + "/")
                                return
                        }
                        ctx.Handle(404, "RepoAssignment", errors.New("invliad user account for single repository"))
@@ -92,7 +92,7 @@ func RepoAssignment(redirect bool, args ...bool) macaron.Handler {
                                ctx.Handle(404, "GetRepositoryByName", err)
                                return
                        } else if redirect {
-                               ctx.Redirect(setting.AppRootSubUrl + "/")
+                               ctx.Redirect(setting.AppSubUrl + "/")
                                return
                        }
                        ctx.Handle(500, "GetRepositoryByName", err)
@@ -160,7 +160,7 @@ func RepoAssignment(redirect bool, args ...bool) macaron.Handler {
                        return
                }
                ctx.Repo.GitRepo = gitRepo
-               ctx.Repo.RepoLink = setting.AppRootSubUrl + "/" + u.Name + "/" + repo.Name
+               ctx.Repo.RepoLink = setting.AppSubUrl + "/" + u.Name + "/" + repo.Name
                ctx.Data["RepoLink"] = ctx.Repo.RepoLink
 
                tags, err := ctx.Repo.GitRepo.GetTags()
@@ -298,8 +298,8 @@ func RequireTrueOwner() macaron.Handler {
        return func(ctx *Context) {
                if !ctx.Repo.IsTrueOwner && !ctx.Repo.IsAdmin {
                        if !ctx.IsSigned {
-                               ctx.SetCookie("redirect_to", "/"+url.QueryEscape(setting.AppRootSubUrl + ctx.Req.RequestURI))
-                               ctx.Redirect(setting.AppRootSubUrl + "/user/login")
+                               ctx.SetCookie("redirect_to", "/"+url.QueryEscape(setting.AppSubUrl+ctx.Req.RequestURI))
+                               ctx.Redirect(setting.AppSubUrl + "/user/login")
                                return
                        }
                        ctx.Handle(404, ctx.Req.RequestURI, nil)
index 7442774488ffdeae9db334c8e2a63c5bffd67cfd..321282df25e4d68bf6a81b949ea93e8b117b873d 100644 (file)
@@ -32,10 +32,10 @@ const (
 
 var (
        // App settings.
-       AppVer        string
-       AppName       string
-       AppUrl        string
-       AppRootSubUrl string
+       AppVer    string
+       AppName   string
+       AppUrl    string
+       AppSubUrl string
 
        // Server settings.
        Protocol           Scheme
@@ -167,11 +167,12 @@ func NewConfigContext() {
                AppUrl += "/"
        }
 
+       // Check if has app suburl.
        url, err := url.Parse(AppUrl)
        if err != nil {
-               log.Fatal(4, "Invalid ROOT_URL %s: %s", AppUrl, err)
+               log.Fatal(4, "Invalid ROOT_URL(%s): %s", AppUrl, err)
        }
-       AppRootSubUrl = strings.TrimSuffix(url.Path, "/")
+       AppSubUrl = strings.TrimSuffix(url.Path, "/")
 
        Protocol = HTTP
        if Cfg.MustValue("server", "PROTOCOL") == "https" {
index 1fee7adbd50a8c7ae9c3610ae7ef7b162d23154a..6f2966bcb445cb2978e0c5a6a1a2196b5aed1aae 100644 (file)
@@ -143,7 +143,7 @@ func Dashboard(ctx *middleware.Context) {
                } else {
                        ctx.Flash.Success(success)
                }
-               ctx.Redirect(setting.AppRootSubUrl + "/admin")
+               ctx.Redirect(setting.AppSubUrl + "/admin")
                return
        }
 
index 9eaae489ae656173ac4f393de904a034920603ea..e537572b41bf94208a97cc78d3d6584d391d4285 100644 (file)
@@ -100,7 +100,7 @@ func NewAuthSourcePost(ctx *middleware.Context, form auth.AuthenticationForm) {
        }
 
        log.Trace("Authentication created by admin(%s): %s", ctx.User.Name, form.AuthName)
-       ctx.Redirect(setting.AppRootSubUrl + "/admin/auths")
+       ctx.Redirect(setting.AppSubUrl + "/admin/auths")
 }
 
 func EditAuthSource(ctx *middleware.Context) {
@@ -181,7 +181,7 @@ func EditAuthSourcePost(ctx *middleware.Context, form auth.AuthenticationForm) {
 
        log.Trace("Authentication changed by admin(%s): %s", ctx.User.Name, form.AuthName)
        ctx.Flash.Success(ctx.Tr("admin.auths.update_success"))
-       ctx.Redirect(setting.AppRootSubUrl + "/admin/auths/" + ctx.Params(":authid"))
+       ctx.Redirect(setting.AppSubUrl + "/admin/auths/" + ctx.Params(":authid"))
 }
 
 func DeleteAuthSource(ctx *middleware.Context) {
@@ -201,12 +201,12 @@ func DeleteAuthSource(ctx *middleware.Context) {
                switch err {
                case models.ErrAuthenticationUserUsed:
                        ctx.Flash.Error("form.still_own_user")
-                       ctx.Redirect(setting.AppRootSubUrl + "/admin/auths/" + ctx.Params(":authid"))
+                       ctx.Redirect(setting.AppSubUrl + "/admin/auths/" + ctx.Params(":authid"))
                default:
                        ctx.Handle(500, "DelLoginSource", err)
                }
                return
        }
        log.Trace("Authentication deleted by admin(%s): %s", ctx.User.Name, a.Name)
-       ctx.Redirect(setting.AppRootSubUrl + "/admin/auths")
+       ctx.Redirect(setting.AppSubUrl + "/admin/auths")
 }
index 5cdb0f5ce9a82d8671b8eb4c960b96bcc2c67b9c..fc3b0cbce07fd7b84d7e6c35c72f779eb0c544c6 100644 (file)
@@ -121,7 +121,7 @@ func NewUserPost(ctx *middleware.Context, form auth.RegisterForm) {
                return
        }
        log.Trace("Account created by admin(%s): %s", ctx.User.Name, u.Name)
-       ctx.Redirect(setting.AppRootSubUrl + "/admin/users")
+       ctx.Redirect(setting.AppSubUrl + "/admin/users")
 }
 
 func EditUser(ctx *middleware.Context) {
@@ -198,7 +198,7 @@ func EditUserPost(ctx *middleware.Context, form auth.AdminEditUserForm) {
 
        ctx.Data["User"] = u
        ctx.Flash.Success(ctx.Tr("admin.users.update_profile_success"))
-       ctx.Redirect(setting.AppRootSubUrl + "/admin/users/" + ctx.Params(":userid"))
+       ctx.Redirect(setting.AppSubUrl + "/admin/users/" + ctx.Params(":userid"))
 }
 
 func DeleteUser(ctx *middleware.Context) {
@@ -218,12 +218,12 @@ func DeleteUser(ctx *middleware.Context) {
                switch err {
                case models.ErrUserOwnRepos:
                        ctx.Flash.Error(ctx.Tr("admin.users.still_own_repo"))
-                       ctx.Redirect(setting.AppRootSubUrl + "/admin/users/" + ctx.Params(":userid"))
+                       ctx.Redirect(setting.AppSubUrl + "/admin/users/" + ctx.Params(":userid"))
                default:
                        ctx.Handle(500, "DeleteUser", err)
                }
                return
        }
        log.Trace("Account deleted by admin(%s): %s", ctx.User.Name, u.Name)
-       ctx.Redirect(setting.AppRootSubUrl + "/admin/users")
+       ctx.Redirect(setting.AppSubUrl + "/admin/users")
 }
index 8e973d161be5898dc9c77188e3173b4c957e3f7a..dd604ec7e340d6e6bf85ccbf427e77b5d40b5945 100644 (file)
@@ -33,7 +33,7 @@ func Home(ctx *middleware.Context) {
        // Check auto-login.
        uname := ctx.GetCookie(setting.CookieUserName)
        if len(uname) != 0 {
-               ctx.Redirect(setting.AppRootSubUrl + "/user/login")
+               ctx.Redirect(setting.AppSubUrl + "/user/login")
                return
        }
 
index 54da4d4f72656eb74862bf715b24ac8a4f98f177..07af613c7eb2d76685185048ad8857c7ccd062ff 100644 (file)
@@ -253,5 +253,5 @@ func InstallPost(ctx *middleware.Context, form auth.InstallForm) {
 
        log.Info("First-time run install finished!")
        ctx.Flash.Success(ctx.Tr("install.install_success"))
-       ctx.Redirect(setting.AppRootSubUrl + "/user/login")
+       ctx.Redirect(setting.AppSubUrl + "/user/login")
 }
index d3bd51eae839988822b3555bd5cb3c44645e221a..f571e334e1aa0999f9607d7419253a555a1575d4 100644 (file)
@@ -87,7 +87,7 @@ func MembersAction(ctx *middleware.Context) {
        if ctx.Params(":action") != "leave" {
                ctx.Redirect(ctx.Org.OrgLink + "/members")
        } else {
-               ctx.Redirect(setting.AppRootSubUrl + "/")
+               ctx.Redirect(setting.AppSubUrl + "/")
        }
 }
 
index cea70823afcaf241db76da9b08e39afea4024773..ab589832d15c0b7e9e5eb405199bbf8a518abe90 100644 (file)
@@ -83,5 +83,5 @@ func CreatePost(ctx *middleware.Context, form auth.CreateOrgForm) {
        }
        log.Trace("Organization created: %s", org.Name)
 
-       ctx.Redirect(setting.AppRootSubUrl + "/org/" + form.OrgName + "/dashboard")
+       ctx.Redirect(setting.AppSubUrl + "/org/" + form.OrgName + "/dashboard")
 }
index 3d397c0c6616d60eb5ba17402d484cf0693f54f5..0522f998033c2ab7a45cf77423ae2ecf37cbea28 100644 (file)
@@ -49,7 +49,7 @@ func SettingsPost(ctx *middleware.Context, form auth.UpdateOrgSettingForm) {
                } else if err = models.ChangeUserName(org, form.OrgUserName); err != nil {
                        if err == models.ErrUserNameIllegal {
                                ctx.Flash.Error(ctx.Tr("form.illegal_username"))
-                               ctx.Redirect(setting.AppRootSubUrl + "/org/" + org.LowerName + "/settings")
+                               ctx.Redirect(setting.AppSubUrl + "/org/" + org.LowerName + "/settings")
                                return
                        } else {
                                ctx.Handle(500, "ChangeUserName", err)
@@ -73,7 +73,7 @@ func SettingsPost(ctx *middleware.Context, form auth.UpdateOrgSettingForm) {
        }
        log.Trace("Organization setting updated: %s", org.Name)
        ctx.Flash.Success(ctx.Tr("org.settings.update_setting_success"))
-       ctx.Redirect(setting.AppRootSubUrl + "/org/" + org.Name + "/settings")
+       ctx.Redirect(setting.AppSubUrl + "/org/" + org.Name + "/settings")
 }
 
 func SettingsDelete(ctx *middleware.Context) {
@@ -87,13 +87,13 @@ func SettingsDelete(ctx *middleware.Context) {
                        switch err {
                        case models.ErrUserOwnRepos:
                                ctx.Flash.Error(ctx.Tr("form.org_still_own_repo"))
-                               ctx.Redirect(setting.AppRootSubUrl + "/org/" + org.LowerName + "/settings/delete")
+                               ctx.Redirect(setting.AppSubUrl + "/org/" + org.LowerName + "/settings/delete")
                        default:
                                ctx.Handle(500, "DeleteOrganization", err)
                        }
                } else {
                        log.Trace("Organization deleted: %s", ctx.User.Name)
-                       ctx.Redirect(setting.AppRootSubUrl + "/")
+                       ctx.Redirect(setting.AppSubUrl + "/")
                }
                return
        }
index e58b9e78f6ada974d78386c43a756e5e930f0209..218cae7bed8f12dac36236855858b316dd68c968 100644 (file)
@@ -159,8 +159,8 @@ func Diff(ctx *middleware.Context) {
        ctx.Data["Diff"] = diff
        ctx.Data["Parents"] = parents
        ctx.Data["DiffNotAvailable"] = diff.NumFiles() == 0
-       ctx.Data["SourcePath"] = setting.AppRootSubUrl + "/" + path.Join(userName, repoName, "src", commitId)
-       ctx.Data["RawPath"] = setting.AppRootSubUrl + "/" + path.Join(userName, repoName, "raw", commitId)
+       ctx.Data["SourcePath"] = setting.AppSubUrl + "/" + path.Join(userName, repoName, "src", commitId)
+       ctx.Data["RawPath"] = setting.AppSubUrl + "/" + path.Join(userName, repoName, "raw", commitId)
        ctx.HTML(200, DIFF)
 }
 
index 8aba82ffc54a9a62f5efa50a4b3e49569870a85c..3a028e58ff31ccc8d379965ec1c86251078dafe5 100644 (file)
@@ -54,8 +54,8 @@ func Issues(ctx *middleware.Context) {
        isShowClosed := ctx.Query("state") == "closed"
 
        if viewType != "all" && !ctx.IsSigned {
-               ctx.SetCookie("redirect_to", "/"+url.QueryEscape(setting.AppRootSubUrl + ctx.Req.RequestURI))
-               ctx.Redirect(setting.AppRootSubUrl + "/user/login")
+               ctx.SetCookie("redirect_to", "/"+url.QueryEscape(setting.AppSubUrl+ctx.Req.RequestURI))
+               ctx.Redirect(setting.AppSubUrl + "/user/login")
                return
        }
 
@@ -312,7 +312,7 @@ func CreateIssuePost(ctx *middleware.Context, form auth.CreateIssueForm) {
        }
        log.Trace("%d Issue created: %d", ctx.Repo.Repository.Id, issue.Id)
 
-       send(200, fmt.Sprintf("%s/%s/%s/issues/%d", setting.AppRootSubUrl, ctx.Params(":username"), ctx.Params(":reponame"), issue.Index), nil)
+       send(200, fmt.Sprintf("%s/%s/%s/issues/%d", setting.AppSubUrl, ctx.Params(":username"), ctx.Params(":reponame"), issue.Index), nil)
 }
 
 func checkLabels(labels, allLabels []*models.Label) {
index 3bd9aa7cd170b74ee1f7c2faf97b2a418f29fa91..ae599f9fa2173f96b5aa8d056dc294015c43fd72 100644 (file)
@@ -96,7 +96,7 @@ func CreatePost(ctx *middleware.Context, form auth.CreateRepoForm) {
                form.Gitignore, form.License, form.Private, false, form.InitReadme)
        if err == nil {
                log.Trace("Repository created: %s/%s", ctxUser.Name, form.RepoName)
-               ctx.Redirect(setting.AppRootSubUrl + "/" + ctxUser.Name + "/" + form.RepoName)
+               ctx.Redirect(setting.AppSubUrl + "/" + ctxUser.Name + "/" + form.RepoName)
                return
        } else if err == models.ErrRepoAlreadyExist {
                ctx.Data["Err_RepoName"] = true
@@ -180,7 +180,7 @@ func MigratePost(ctx *middleware.Context, form auth.MigrateRepoForm) {
                form.Mirror, url)
        if err == nil {
                log.Trace("Repository migrated: %s/%s", ctxUser.Name, form.RepoName)
-               ctx.Redirect(setting.AppRootSubUrl + "/" + ctxUser.Name + "/" + form.RepoName)
+               ctx.Redirect(setting.AppSubUrl + "/" + ctxUser.Name + "/" + form.RepoName)
                return
        } else if err == models.ErrRepoAlreadyExist {
                ctx.Data["Err_RepoName"] = true
index 926b5432020eddcf2364d2b454783c93f1849af5..137d104f9d79f53cdf0e65af00a6efc8d0f0ed3e 100644 (file)
@@ -97,7 +97,7 @@ func SettingsPost(ctx *middleware.Context, form auth.RepoSettingForm) {
                }
 
                ctx.Flash.Success(ctx.Tr("repo.settings.update_settings_success"))
-               ctx.Redirect(fmt.Sprintf("%s/%s/%s/settings", setting.AppRootSubUrl, ctx.Repo.Owner.Name, ctx.Repo.Repository.Name))
+               ctx.Redirect(fmt.Sprintf("%s/%s/%s/settings", setting.AppSubUrl, ctx.Repo.Owner.Name, ctx.Repo.Repository.Name))
        case "transfer":
                if ctx.Repo.Repository.Name != form.RepoName {
                        ctx.RenderWithErr(ctx.Tr("form.enterred_invalid_repo_name"), SETTINGS_OPTIONS, nil)
@@ -122,7 +122,7 @@ func SettingsPost(ctx *middleware.Context, form auth.RepoSettingForm) {
                }
                log.Trace("Repository transfered: %s/%s -> %s", ctx.Repo.Owner.Name, ctx.Repo.Repository.Name, newOwner)
                ctx.Flash.Success(ctx.Tr("repo.settings.transfer_succeed"))
-               ctx.Redirect(setting.AppRootSubUrl + "/")
+               ctx.Redirect(setting.AppSubUrl + "/")
        case "delete":
                if ctx.Repo.Repository.Name != form.RepoName {
                        ctx.RenderWithErr(ctx.Tr("form.enterred_invalid_repo_name"), SETTINGS_OPTIONS, nil)
@@ -151,9 +151,9 @@ func SettingsPost(ctx *middleware.Context, form auth.RepoSettingForm) {
                }
                log.Trace("Repository deleted: %s/%s", ctx.Repo.Owner.Name, ctx.Repo.Repository.Name)
                if ctx.Repo.Owner.IsOrganization() {
-                       ctx.Redirect(setting.AppRootSubUrl + "/org/" + ctx.Repo.Owner.Name + "/dashboard")
+                       ctx.Redirect(setting.AppSubUrl + "/org/" + ctx.Repo.Owner.Name + "/dashboard")
                } else {
-                       ctx.Redirect(setting.AppRootSubUrl + "/")
+                       ctx.Redirect(setting.AppSubUrl + "/")
                }
        }
 }
@@ -167,7 +167,7 @@ func SettingsCollaboration(ctx *middleware.Context) {
        if ctx.Req.Method == "POST" {
                name := strings.ToLower(ctx.Query("collaborator"))
                if len(name) == 0 || ctx.Repo.Owner.LowerName == name {
-                       ctx.Redirect(setting.AppRootSubUrl + ctx.Req.URL.Path)
+                       ctx.Redirect(setting.AppSubUrl + ctx.Req.URL.Path)
                        return
                }
                has, err := models.HasAccess(name, repoLink, models.WRITABLE)
@@ -175,7 +175,7 @@ func SettingsCollaboration(ctx *middleware.Context) {
                        ctx.Handle(500, "HasAccess", err)
                        return
                } else if has {
-                       ctx.Redirect(setting.AppRootSubUrl + ctx.Req.URL.Path)
+                       ctx.Redirect(setting.AppSubUrl + ctx.Req.URL.Path)
                        return
                }
 
@@ -183,7 +183,7 @@ func SettingsCollaboration(ctx *middleware.Context) {
                if err != nil {
                        if err == models.ErrUserNotExist {
                                ctx.Flash.Error(ctx.Tr("form.user_not_exist"))
-                               ctx.Redirect(setting.AppRootSubUrl + ctx.Req.URL.Path)
+                               ctx.Redirect(setting.AppSubUrl + ctx.Req.URL.Path)
                        } else {
                                ctx.Handle(500, "GetUserByName", err)
                        }
@@ -204,7 +204,7 @@ func SettingsCollaboration(ctx *middleware.Context) {
                }
 
                ctx.Flash.Success(ctx.Tr("repo.settings.add_collaborator_success"))
-               ctx.Redirect(setting.AppRootSubUrl + ctx.Req.URL.Path)
+               ctx.Redirect(setting.AppSubUrl + ctx.Req.URL.Path)
                return
        }
 
index 1dbc3300ddce83767e8336a26df8f3360075a928..71622e55439b64705d1d87148c7ac2f9c6c05467 100644 (file)
@@ -82,7 +82,7 @@ func SignIn(ctx *middleware.Context) {
                return
        }
 
-       ctx.Redirect(setting.AppRootSubUrl + "/")
+       ctx.Redirect(setting.AppSubUrl + "/")
 }
 
 func SignInPost(ctx *middleware.Context, form auth.SignInForm) {
@@ -140,7 +140,7 @@ func SignInPost(ctx *middleware.Context, form auth.SignInForm) {
                return
        }
 
-       ctx.Redirect(setting.AppRootSubUrl + "/")
+       ctx.Redirect(setting.AppSubUrl + "/")
 }
 
 func SignOut(ctx *middleware.Context) {
@@ -151,7 +151,7 @@ func SignOut(ctx *middleware.Context) {
        ctx.Session.Delete("socialEmail")
        ctx.SetCookie(setting.CookieUserName, "", -1)
        ctx.SetCookie(setting.CookieRememberName, "", -1)
-       ctx.Redirect(setting.AppRootSubUrl + "/")
+       ctx.Redirect(setting.AppSubUrl + "/")
 }
 
 func oauthSignUp(ctx *middleware.Context, sid int64) {
@@ -288,7 +288,7 @@ func SignUpPost(ctx *middleware.Context, cpt *captcha.Captcha, form auth.Registe
                return
        }
 
-       ctx.Redirect(setting.AppRootSubUrl + "/user/login")
+       ctx.Redirect(setting.AppSubUrl + "/user/login")
 }
 
 func Activate(ctx *middleware.Context) {
@@ -335,7 +335,7 @@ func Activate(ctx *middleware.Context) {
 
                ctx.Session.Set("uid", user.Id)
                ctx.Session.Set("uname", user.Name)
-               ctx.Redirect(setting.AppRootSubUrl + "/")
+               ctx.Redirect(setting.AppSubUrl + "/")
                return
        }
 
@@ -437,7 +437,7 @@ func ResetPasswdPost(ctx *middleware.Context) {
                }
 
                log.Trace("User password reset: %s", u.Name)
-               ctx.Redirect(setting.AppRootSubUrl + "/user/login")
+               ctx.Redirect(setting.AppSubUrl + "/user/login")
                return
        }
 
index b411b8fc1f5abb75e2436a928d9d77d7988d91ab..031872fca9cd9e3c13bd29e380caeace7d09935a 100644 (file)
@@ -127,7 +127,7 @@ func Profile(ctx *middleware.Context) {
        uname := ctx.Params(":username")
        // Special handle for FireFox requests favicon.ico.
        if uname == "favicon.ico" {
-               ctx.Redirect(setting.AppRootSubUrl + "/img/favicon.png")
+               ctx.Redirect(setting.AppSubUrl + "/img/favicon.png")
                return
        }
 
@@ -142,7 +142,7 @@ func Profile(ctx *middleware.Context) {
        }
 
        if u.IsOrganization() {
-               ctx.Redirect(setting.AppRootSubUrl + "/org/" + u.Name)
+               ctx.Redirect(setting.AppSubUrl + "/org/" + u.Name)
                return
        }
 
@@ -182,7 +182,7 @@ func Email2User(ctx *middleware.Context) {
                }
                return
        }
-       ctx.Redirect(setting.AppRootSubUrl + "/user/" + u.Name)
+       ctx.Redirect(setting.AppSubUrl + "/user/" + u.Name)
 }
 
 const (
index a540f054f83123b49ab602b5442c362f370668a0..8f778acd0d547976be8f116f2d427134e514e792 100644 (file)
@@ -56,7 +56,7 @@ func SettingsPost(ctx *middleware.Context, form auth.UpdateProfileForm) {
                } else if err = models.ChangeUserName(ctx.User, form.UserName); err != nil {
                        if err == models.ErrUserNameIllegal {
                                ctx.Flash.Error(ctx.Tr("form.illegal_username"))
-                               ctx.Redirect(setting.AppRootSubUrl + "/user/settings")
+                               ctx.Redirect(setting.AppSubUrl + "/user/settings")
                                return
                        } else {
                                ctx.Handle(500, "ChangeUserName", err)
@@ -79,7 +79,7 @@ func SettingsPost(ctx *middleware.Context, form auth.UpdateProfileForm) {
        }
        log.Trace("User setting updated: %s", ctx.User.Name)
        ctx.Flash.Success(ctx.Tr("settings.update_profile_success"))
-       ctx.Redirect(setting.AppRootSubUrl + "/user/settings")
+       ctx.Redirect(setting.AppSubUrl + "/user/settings")
 }
 
 func SettingsPassword(ctx *middleware.Context) {
@@ -120,7 +120,7 @@ func SettingsPasswordPost(ctx *middleware.Context, form auth.ChangePasswordForm)
                ctx.Flash.Success(ctx.Tr("settings.change_password_success"))
        }
 
-       ctx.Redirect(setting.AppRootSubUrl + "/user/settings/password")
+       ctx.Redirect(setting.AppSubUrl + "/user/settings/password")
 }
 
 func SettingsSSHKeys(ctx *middleware.Context) {
@@ -161,7 +161,7 @@ func SettingsSSHKeysPost(ctx *middleware.Context, form auth.AddSSHKeyForm) {
                        ctx.Handle(500, "DeletePublicKey", err)
                } else {
                        log.Trace("SSH key deleted: %s", ctx.User.Name)
-                       ctx.Redirect(setting.AppRootSubUrl + "/user/settings/ssh")
+                       ctx.Redirect(setting.AppSubUrl + "/user/settings/ssh")
                }
                return
        }
@@ -178,7 +178,7 @@ func SettingsSSHKeysPost(ctx *middleware.Context, form auth.AddSSHKeyForm) {
 
                if ok, err := models.CheckPublicKeyString(cleanContent); !ok {
                        ctx.Flash.Error(ctx.Tr("form.invalid_ssh_key", err.Error()))
-                       ctx.Redirect(setting.AppRootSubUrl + "/user/settings/ssh")
+                       ctx.Redirect(setting.AppSubUrl + "/user/settings/ssh")
                        return
                }
 
@@ -197,7 +197,7 @@ func SettingsSSHKeysPost(ctx *middleware.Context, form auth.AddSSHKeyForm) {
                } else {
                        log.Trace("SSH key added: %s", ctx.User.Name)
                        ctx.Flash.Success(ctx.Tr("settings.add_key_success"))
-                       ctx.Redirect(setting.AppRootSubUrl + "/user/settings/ssh")
+                       ctx.Redirect(setting.AppSubUrl + "/user/settings/ssh")
                        return
                }
        }
@@ -218,7 +218,7 @@ func SettingsSocial(ctx *middleware.Context) {
                        return
                }
                ctx.Flash.Success(ctx.Tr("settings.unbind_success"))
-               ctx.Redirect(setting.AppRootSubUrl + "/user/settings/social")
+               ctx.Redirect(setting.AppSubUrl + "/user/settings/social")
                return
        }
 
@@ -249,13 +249,13 @@ func SettingsDelete(ctx *middleware.Context) {
                        switch err {
                        case models.ErrUserOwnRepos:
                                ctx.Flash.Error(ctx.Tr("form.still_own_repo"))
-                               ctx.Redirect(setting.AppRootSubUrl + "/user/settings/delete")
+                               ctx.Redirect(setting.AppSubUrl + "/user/settings/delete")
                        default:
                                ctx.Handle(500, "DeleteUser", err)
                        }
                } else {
                        log.Trace("Account deleted: %s", ctx.User.Name)
-                       ctx.Redirect(setting.AppRootSubUrl + "/")
+                       ctx.Redirect(setting.AppSubUrl + "/")
                }
                return
        }
index fc2ea5fb4958a9b972b9ef48c5c03f5e7714231f..0bc1fa592fa58f731836959ca497385763e62387 100644 (file)
@@ -22,7 +22,7 @@ import (
 func extractPath(next string) string {
        n, err := url.Parse(next)
        if err != nil {
-               return setting.AppRootSubUrl + "/"
+               return setting.AppSubUrl + "/"
        }
        return n.Path
 }
@@ -88,7 +88,7 @@ func SocialSignIn(ctx *middleware.Context) {
                        return
                }
        case models.ErrOauth2NotAssociated:
-               next = setting.AppRootSubUrl + "/user/sign_up"
+               next = setting.AppSubUrl + "/user/sign_up"
        default:
                ctx.Handle(500, "social.SocialSignIn(GetOauth2)", err)
                return
index 29de2fdfe1f4dafc1c6fb279a7127a94fc048bd5..9df945b78309b6d27d47a53498a15a5237445c5e 100644 (file)
@@ -1 +1 @@
-0.5.2.0917 Beta
\ No newline at end of file
+0.5.3.0919 Beta
\ No newline at end of file
index 4dead7f0799d7588105e4e8bc8f852e19c3c3393..9697b77369d5e1b2847cbc172d08bd36942d1f0c 100644 (file)
@@ -12,7 +12,7 @@
                             <div class="panel-header">
                                 <strong>{{.i18n.Tr "admin.auths.edit"}}</strong>
                             </div>
-                            <form class="form form-align panel-body" id="auth-setting-form" action="{{AppRootSubUrl}}/admin/auths/{{.Source.Id}}" data-delete-url="/admin/auths/{{.Source.Id}}/delete" method="post">
+                            <form class="form form-align panel-body" id="auth-setting-form" action="{{AppSubUrl}}/admin/auths/{{.Source.Id}}" data-delete-url="/admin/auths/{{.Source.Id}}/delete" method="post">
                                 {{.CsrfTokenHtml}}
                                 <input type="hidden" value="{{.Source.Id}}" name="id"/>
                                 {{$type := .Source.Type}}
index ba10e1d2bf921a3addbe5beb249e850367107f3f..01b586fb72c99e73928520823f06b21d54448ba2 100644 (file)
@@ -13,7 +13,7 @@
                                 <strong>{{.i18n.Tr "admin.auths.auth_manage_panel"}}</strong>
                             </div>
                             <div class="panel-body admin-panel">
-                                                               <a class="btn-blue btn-medium btn-link btn-radius" href="{{AppRootSubUrl}}/admin/auths/new">{{.i18n.Tr "admin.auths.new"}}</a>
+                                                               <a class="btn-blue btn-medium btn-link btn-radius" href="{{AppSubUrl}}/admin/auths/new">{{.i18n.Tr "admin.auths.new"}}</a>
                                 <div class="admin-table">
                                                        <table class="table table-striped">
                                                            <thead>
                                                                {{range .Sources}}
                                                                <tr>
                                                                    <td>{{.Id}}</td>
-                                                                   <td><a href="{{AppRootSubUrl}}/admin/auths/{{.Id}}">{{.Name}}</a></td>
+                                                                   <td><a href="{{AppSubUrl}}/admin/auths/{{.Id}}">{{.Name}}</a></td>
                                                                    <td>{{.TypeString}}</td>
                                                                    <td><i class="fa fa{{if .IsActived}}-check{{end}}-square-o"></i></td>
                                                                    <td>{{DateFormat .Updated "M d, Y"}}</td>
                                                                    <td>{{DateFormat .Created "M d, Y"}}</td>
-                                                                   <td><a href="{{AppRootSubUrl}}/admin/auths/{{.Id}}"><i class="fa fa-pencil-square-o"></i></a></td>
+                                                                   <td><a href="{{AppSubUrl}}/admin/auths/{{.Id}}"><i class="fa fa-pencil-square-o"></i></a></td>
                                                                </tr>
                                                                {{end}}
                                                            </tbody>
                                                        </table>
                                                        {{if or .LastPageNum .NextPageNum}}
                                                        <ul class="pagination">
-                                                           {{if .LastPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppRootSubUrl}}/admin/auths?p={{.LastPageNum}}">&laquo; Prev.</a></li>{{end}}
-                                                           {{if .NextPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppRootSubUrl}}/admin/auths?p={{.NextPageNum}}">&raquo; Next</a></li>{{end}}
+                                                           {{if .LastPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppSubUrl}}/admin/auths?p={{.LastPageNum}}">&laquo; Prev.</a></li>{{end}}
+                                                           {{if .NextPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppSubUrl}}/admin/auths?p={{.NextPageNum}}">&raquo; Next</a></li>{{end}}
                                                        </ul>
                                                        {{end}}
                                                </div>
index 869eff32dab7de0458c399ed5b7b328b6f587e82..daae60e065e258a707113c9781d72b50e2285048 100644 (file)
@@ -12,7 +12,7 @@
                             <div class="panel-header">
                                 <strong>{{.i18n.Tr "admin.auths.new"}}</strong>
                             </div>
-                            <form class="form form-align panel-body" id="repo-setting-form" action="{{AppRootSubUrl}}/admin/auths/new" method="post">
+                            <form class="form form-align panel-body" id="repo-setting-form" action="{{AppSubUrl}}/admin/auths/new" method="post">
                                 {{.CsrfTokenHtml}}
                                 <div class="field">
                                     <label class="req">{{.i18n.Tr "admin.auths.auth_type"}}</label>
index 006966113d54c447410b92c0d3017e23c6c9c717..80c02828e7ccfda8b4e9985448517149d415ac53 100644 (file)
                                         <tbody>
                                             <tr>
                                                 <td>{{.i18n.Tr "admin.dashboard.clean_unbind_oauth"}}</td>
-                                                <td><i class="fa fa-caret-square-o-right"></i> <a href="{{AppRootSubUrl}}/admin?op=1">{{.i18n.Tr "admin.dashboard.operation_run"}}</a></td>
+                                                <td><i class="fa fa-caret-square-o-right"></i> <a href="{{AppSubUrl}}/admin?op=1">{{.i18n.Tr "admin.dashboard.operation_run"}}</a></td>
                                             </tr>
                                             <tr>
                                                 <td>{{.i18n.Tr "admin.dashboard.delete_inactivate_accounts"}}</td>
-                                                <td><i class="fa fa-caret-square-o-right"></i> <a href="{{AppRootSubUrl}}/admin?op=2">{{.i18n.Tr "admin.dashboard.operation_run"}}</a></td>
+                                                <td><i class="fa fa-caret-square-o-right"></i> <a href="{{AppSubUrl}}/admin?op=2">{{.i18n.Tr "admin.dashboard.operation_run"}}</a></td>
                                             </tr>
                                         </tbody>
                                     </table>
index ae44f4a81878f753092a0e5e422f7dbea4a80b8c..e294cd921c15ccba9649854863009ead2d3cbec1 100644 (file)
@@ -2,13 +2,13 @@
     <p class="panel-header"><strong>{{.i18n.Tr "admin_panel"}}</strong></p>
     <div class="panel-body">
         <ul class="menu menu-vertical switching-list grid-1-5 left">
-            <li {{if .PageIsAdminDashboard}}class="current"{{end}}><a href="{{AppRootSubUrl}}/admin">{{.i18n.Tr "admin.dashboard"}}</a></li>
-            <li {{if .PageIsAdminUsers}}class="current"{{end}}><a href="{{AppRootSubUrl}}/admin/users">{{.i18n.Tr "admin.users"}}</a></li>
-            <li {{if .PageIsAdminOrganizations}}class="current"{{end}}><a href="{{AppRootSubUrl}}/admin/orgs">{{.i18n.Tr "admin.organizations"}}</a></li>
-            <li {{if .PageIsAdminRepositories}}class="current"{{end}}><a href="{{AppRootSubUrl}}/admin/repos">{{.i18n.Tr "admin.repositories"}}</a></li>
-            <li {{if .PageIsAdminAuthentications}}class="current"{{end}}><a href="{{AppRootSubUrl}}/admin/auths">{{.i18n.Tr "admin.authentication"}}</a></li>
-            <li {{if .PageIsAdminConfig}}class="current"{{end}}><a href="{{AppRootSubUrl}}/admin/config">{{.i18n.Tr "admin.config"}}</a></li>
-            <li {{if .PageIsAdminMonitor}}class="current"{{end}}><a href="{{AppRootSubUrl}}/admin/monitor">{{.i18n.Tr "admin.monitor"}}</a></li>
+            <li {{if .PageIsAdminDashboard}}class="current"{{end}}><a href="{{AppSubUrl}}/admin">{{.i18n.Tr "admin.dashboard"}}</a></li>
+            <li {{if .PageIsAdminUsers}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/users">{{.i18n.Tr "admin.users"}}</a></li>
+            <li {{if .PageIsAdminOrganizations}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/orgs">{{.i18n.Tr "admin.organizations"}}</a></li>
+            <li {{if .PageIsAdminRepositories}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/repos">{{.i18n.Tr "admin.repositories"}}</a></li>
+            <li {{if .PageIsAdminAuthentications}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/auths">{{.i18n.Tr "admin.authentication"}}</a></li>
+            <li {{if .PageIsAdminConfig}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/config">{{.i18n.Tr "admin.config"}}</a></li>
+            <li {{if .PageIsAdminMonitor}}class="current"{{end}}><a href="{{AppSubUrl}}/admin/monitor">{{.i18n.Tr "admin.monitor"}}</a></li>
         </ul>
     </div>
 </div>
\ No newline at end of file
index f42c2c531536b63f4c09f781bc988c1128f02c29..f901c696920188b471b52d37657b6d8fa29b13e9 100644 (file)
@@ -30,7 +30,7 @@
                                                                {{range .Orgs}}
                                                                <tr>
                                                                    <td>{{.Id}}</td>
-                                                                   <td><a href="{{AppRootSubUrl}}/org/{{.Name}}">{{.Name}}</a></td>
+                                                                   <td><a href="{{AppSubUrl}}/org/{{.Name}}">{{.Name}}</a></td>
                                                                    <td>{{.Email}}</td>
                                                                    <td>{{.NumTeams}}</td>
                                                                    <td>{{.NumMembers}}</td>
@@ -42,8 +42,8 @@
                                                        </table>
                                                        {{if or .LastPageNum .NextPageNum}}
                                                        <ul class="pagination">
-                                                           {{if .LastPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppRootSubUrl}}/admin/orgs?p={{.LastPageNum}}">&laquo; {{.i18n.Tr "admin.prev"}}</a></li>{{end}}
-                                                           {{if .NextPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppRootSubUrl}}/admin/orgs?p={{.NextPageNum}}">&raquo; {{.i18n.Tr "admin.next"}}</a></li>{{end}}
+                                                           {{if .LastPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppSubUrl}}/admin/orgs?p={{.LastPageNum}}">&laquo; {{.i18n.Tr "admin.prev"}}</a></li>{{end}}
+                                                           {{if .NextPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppSubUrl}}/admin/orgs?p={{.NextPageNum}}">&raquo; {{.i18n.Tr "admin.next"}}</a></li>{{end}}
                                                        </ul>
                                                        {{end}}
                                                </div>
index 3e7442a6fa8bb4e76f463b79ad31e82fc122ad9b..cb333aebf7a673ada8a7443ee294f30b39f592b9 100644 (file)
@@ -31,8 +31,8 @@
                                                                {{range .Repos}}
                                                                <tr>
                                                                    <td>{{.Id}}</td>
-                                                                   <td><a href="{{AppRootSubUrl}}/user/{{.Owner.Name}}">{{.Owner.Name}}</a></td>
-                                                               <td><a href="{{AppRootSubUrl}}/{{.Owner.Name}}/{{.Name}}">{{.Name}}</a></td>
+                                                                   <td><a href="{{AppSubUrl}}/user/{{.Owner.Name}}">{{.Owner.Name}}</a></td>
+                                                               <td><a href="{{AppSubUrl}}/{{.Owner.Name}}/{{.Name}}">{{.Name}}</a></td>
                                                                    <td><i class="fa fa{{if .IsPrivate}}-check{{end}}-square-o"></i></td>
                                                                    <td>{{.NumWatches}}</td>
                                                                    <td>{{.NumIssues}}</td>
@@ -44,8 +44,8 @@
                                                        </table>
                                                        {{if or .LastPageNum .NextPageNum}}
                                                        <ul class="pagination">
-                                                           {{if .LastPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppRootSubUrl}}/admin/repos?p={{.LastPageNum}}">&laquo; Prev.</a></li>{{end}}
-                                                           {{if .NextPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppRootSubUrl}}/admin/repos?p={{.NextPageNum}}">&raquo; Next</a></li>{{end}}
+                                                           {{if .LastPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppSubUrl}}/admin/repos?p={{.LastPageNum}}">&laquo; Prev.</a></li>{{end}}
+                                                           {{if .NextPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppSubUrl}}/admin/repos?p={{.NextPageNum}}">&raquo; Next</a></li>{{end}}
                                                        </ul>
                                                        {{end}}
                                                </div>
index e9ed7836bdbd163d8fb102dfa7e8ae3ecdbd28f4..3924afec4b88a19d9f0acfe48bf2e38b1e07dcb7 100644 (file)
@@ -12,7 +12,7 @@
                             <div class="panel-header">
                                 <strong>{{.i18n.Tr "admin.users.edit_account"}}</strong>
                             </div>
-                            <form class="form form-align panel-body" id="user-profile-form" action="{{AppRootSubUrl}}/admin/users/{{.User.Id}}" method="post" data-delete-url="/admin/users/{{.User.Id}}/delete">
+                            <form class="form form-align panel-body" id="user-profile-form" action="{{AppSubUrl}}/admin/users/{{.User.Id}}" method="post" data-delete-url="/admin/users/{{.User.Id}}/delete">
                                                    {{.CsrfTokenHtml}}
                                 <div class="field">
                                     <label class="req">{{.i18n.Tr "admin.users.auth_source"}}</label>
index f85bb6c0daf85d760dc658b48ae7dd2ca3ef975b..1092539ecf86971766f0ceebf87e973bb26622d0 100644 (file)
@@ -13,7 +13,7 @@
                                 <strong>{{.i18n.Tr "admin.users.user_manage_panel"}}</strong>
                             </div>
                             <div class="panel-body admin-panel">
-                                                               <a class="btn-blue btn-medium btn-link btn-radius" href="{{AppRootSubUrl}}/admin/users/new">{{.i18n.Tr "admin.users.new_account"}}</a>
+                                                               <a class="btn-blue btn-medium btn-link btn-radius" href="{{AppSubUrl}}/admin/users/new">{{.i18n.Tr "admin.users.new_account"}}</a>
                                 <div class="admin-table">
                                                        <table class="table table-striped">
                                                            <thead>
                                                                {{range .Users}}
                                                                <tr>
                                                                    <td>{{.Id}}</td>
-                                                                   <td><a href="{{AppRootSubUrl}}/user/{{.Name}}">{{.Name}}</a></td>
+                                                                   <td><a href="{{AppSubUrl}}/user/{{.Name}}">{{.Name}}</a></td>
                                                                    <td>{{.Email}}</td>
                                                                    <td><i class="fa fa{{if .IsActive}}-check{{end}}-square-o"></i></td>
                                                                    <td><i class="fa fa{{if .IsAdmin}}-check{{end}}-square-o"></i></td>
                                                                    <td>{{.NumRepos}}</td>
                                                                    <td>{{DateFormat .Created "M d, Y"}}</td>
-                                                                   <td><a href="{{AppRootSubUrl}}/admin/users/{{.Id}}"><i class="fa fa-pencil-square-o"></i></a></td>
+                                                                   <td><a href="{{AppSubUrl}}/admin/users/{{.Id}}"><i class="fa fa-pencil-square-o"></i></a></td>
                                                                </tr>
                                                                {{end}}
                                                            </tbody>
                                                        </table>
                                                        {{if or .LastPageNum .NextPageNum}}
                                                        <ul class="pagination">
-                                                           {{if .LastPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppRootSubUrl}}/admin/users?p={{.LastPageNum}}">&laquo; Prev.</a></li>{{end}}
-                                                           {{if .NextPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppRootSubUrl}}/admin/users?p={{.NextPageNum}}">&raquo; Next</a></li>{{end}}
+                                                           {{if .LastPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppSubUrl}}/admin/users?p={{.LastPageNum}}">&laquo; Prev.</a></li>{{end}}
+                                                           {{if .NextPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppSubUrl}}/admin/users?p={{.NextPageNum}}">&raquo; Next</a></li>{{end}}
                                                        </ul>
                                                        {{end}}
                                                </div>
index db842c687786665acadb4281b8fb9e211142d43c..38acbf8ff9d6a037f866aea6e63554d894f54e60 100644 (file)
@@ -12,7 +12,7 @@
                             <div class="panel-header">
                                 <strong>{{.i18n.Tr "admin.users.new_account"}}</strong>
                             </div>
-                            <form class="form form-align panel-body" id="repo-setting-form" action="{{AppRootSubUrl}}/admin/users/new" method="post">
+                            <form class="form form-align panel-body" id="repo-setting-form" action="{{AppSubUrl}}/admin/users/new" method="post">
                                                    {{.CsrfTokenHtml}}
                                 <div class="field">
                                     <label class="req">{{.i18n.Tr "admin.users.auth_source"}}</label>
index 55dd4690934579ddaadeaab94671a42515eb7948..7775933ca930d9c0c99ebf99ea96a03576b6d8df 100644 (file)
@@ -1,8 +1,8 @@
 <!DOCTYPE html>
 <html>
-       <head{{if AppRootSubUrl}} data-suburl="{{AppRootSubUrl}}"{{end}}>
+       <head{{if AppSubUrl}} data-suburl="{{AppSubUrl}}"{{end}}>
                <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-               <link rel="shortcut icon" href="{{AppRootSubUrl}}/img/favicon.png" />
+               <link rel="shortcut icon" href="{{AppSubUrl}}/img/favicon.png" />
         <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
         <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
         <meta name="author" content="Gogs - Go Git Service" />
                <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
                <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
                {{else}}
-               <link href="{{AppRootSubUrl}}/css/bootstrap.min.css" rel="stylesheet" />
-               <link href="{{AppRootSubUrl}}/css/font-awesome.min.css" rel="stylesheet" />
+               <link href="{{AppSubUrl}}/css/bootstrap.min.css" rel="stylesheet" />
+               <link href="{{AppSubUrl}}/css/font-awesome.min.css" rel="stylesheet" />
 
-               <script src="{{AppRootSubUrl}}/js/jquery-1.10.1.min.js"></script>
-               <script src="{{AppRootSubUrl}}/js/bootstrap.min.js"></script>
+               <script src="{{AppSubUrl}}/js/jquery-1.10.1.min.js"></script>
+               <script src="{{AppSubUrl}}/js/bootstrap.min.js"></script>
                {{end}}
 
-               <link href="{{AppRootSubUrl}}/css/todc-bootstrap.min.css" rel="stylesheet" />
-        <link href="{{AppRootSubUrl}}/css/datepicker3.css" rel="stylesheet" />
-        <link href="{{AppRootSubUrl}}/css/bootstrap-colorpicker.min.css" rel="stylesheet" />
-               <link href="{{AppRootSubUrl}}/css/markdown.css" rel="stylesheet" />
-               <link href="{{AppRootSubUrl}}/css/gogs.css" rel="stylesheet" />
+               <link href="{{AppSubUrl}}/css/todc-bootstrap.min.css" rel="stylesheet" />
+        <link href="{{AppSubUrl}}/css/datepicker3.css" rel="stylesheet" />
+        <link href="{{AppSubUrl}}/css/bootstrap-colorpicker.min.css" rel="stylesheet" />
+               <link href="{{AppSubUrl}}/css/markdown.css" rel="stylesheet" />
+               <link href="{{AppSubUrl}}/css/gogs.css" rel="stylesheet" />
 
-        <script src="{{AppRootSubUrl}}/js/lib.js"></script>
-        <script src="{{AppRootSubUrl}}/js/app.js"></script>
+        <script src="{{AppSubUrl}}/js/lib.js"></script>
+        <script src="{{AppSubUrl}}/js/app.js"></script>
                <title>{{if .Title}}{{.Title}} - {{end}}{{AppName}}</title>
        </head>
        <body>
index 991e773d8b691fb750cb6ae757288f6fb303f82f..b69e9dc4a0afba2bdc8236c230666437ce45f8fd 100644 (file)
@@ -1,8 +1,8 @@
 <div class="masthead navbar" id="masthead">
     <div class="container">
         <nav class="nav">
-            <a id="nav-logo" class="nav-item pull-left{{if .PageIsHome}} active{{end}}" href="{{AppRootSubUrl}}/"><img src="{{AppRootSubUrl}}/img/favicon.png" alt="Gogs Logo" id="logo"></a>
-            <a class="nav-item pull-left{{if .PageIsUserDashboard}} active{{end}}" href="{{AppRootSubUrl}}/">Dashboard</a>
+            <a id="nav-logo" class="nav-item pull-left{{if .PageIsHome}} active{{end}}" href="{{AppSubUrl}}/"><img src="{{AppSubUrl}}/img/favicon.png" alt="Gogs Logo" id="logo"></a>
+            <a class="nav-item pull-left{{if .PageIsUserDashboard}} active{{end}}" href="{{AppSubUrl}}/">Dashboard</a>
             <a class="nav-item pull-left{{if .PageIsHelp}} active{{end}}" target="_blank" href="http://gogs.io/docs">Help</a>
             {{if .IsSigned}}
             {{if .HasAccess}}
                 </div>
             </form> -->
             {{end}}
-            <a id="nav-out" class="nav-item navbar-right navbar-btn btn btn-danger" href="{{AppRootSubUrl}}/user/logout/"><i class="fa fa-power-off fa-lg"></i></a>
+            <a id="nav-out" class="nav-item navbar-right navbar-btn btn btn-danger" href="{{AppSubUrl}}/user/logout/"><i class="fa fa-power-off fa-lg"></i></a>
             <a id="nav-avatar" class="nav-item navbar-right{{if .PageIsUserProfile}} active{{end}}" href="{{.SignedUser.HomeLink}}" data-toggle="tooltip" data-placement="bottom" title="{{.SignedUserName}}">
                 <img src="{{.SignedUser.AvatarLink}}?s=28" alt="user-avatar" title="username"/>
             </a>
-            <a class="navbar-right nav-item{{if .PageIsUserSetting}} active{{end}}" href="{{AppRootSubUrl}}/user/settings"  data-toggle="tooltip" data-placement="bottom" title="Settings"><i class="fa fa-cogs fa-lg"></i></a>
+            <a class="navbar-right nav-item{{if .PageIsUserSetting}} active{{end}}" href="{{AppSubUrl}}/user/settings"  data-toggle="tooltip" data-placement="bottom" title="Settings"><i class="fa fa-cogs fa-lg"></i></a>
             {{if .IsAdmin}}
-            <a class="navbar-right nav-item{{if .PageIsAdmin}} active{{end}}" href="{{AppRootSubUrl}}/admin"  data-toggle="tooltip" data-placement="bottom" title="Admin"><i class="fa fa-gear fa-lg"></i></a>
+            <a class="navbar-right nav-item{{if .PageIsAdmin}} active{{end}}" href="{{AppSubUrl}}/admin"  data-toggle="tooltip" data-placement="bottom" title="Admin"><i class="fa fa-gear fa-lg"></i></a>
             {{end}}
             <div class="navbar-right nav-item pull-right{{if .PageIsNewRepo}} active{{end}}" id="nav-repo-new" data-toggle="tooltip" data-placement="bottom" title="New Repo">
                 <button type="button" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-plus-square fa-lg"></i></button>
                 <div class="dropdown-menu">
                     <ul class="list-unstyled">
-                        <li><a href="{{AppRootSubUrl}}/repo/create"><i class="fa fa-book"></i>Repository</a></li>
-                        <li><a href="{{AppRootSubUrl}}/repo/migrate"><i class="fa fa-clipboard"></i>Migration</a></li>
+                        <li><a href="{{AppSubUrl}}/repo/create"><i class="fa fa-book"></i>Repository</a></li>
+                        <li><a href="{{AppSubUrl}}/repo/migrate"><i class="fa fa-clipboard"></i>Migration</a></li>
                         <!-- <li><a href="#"><i class="fa fa-users"></i>Organization</a></li> -->
                     </ul>
                 </div>
             </div>
             {{else}}
-            <a id="nav-signin" class="nav-item navbar-right navbar-btn btn btn-danger" href="{{AppRootSubUrl}}/user/login/" rel="nofollow">Sign In</a>
-            <a id="nav-signup" class="nav-item navbar-right" href="{{AppRootSubUrl}}/user/sign_up/" rel="nofollow">Sign Up</a>
+            <a id="nav-signin" class="nav-item navbar-right navbar-btn btn btn-danger" href="{{AppSubUrl}}/user/login/" rel="nofollow">Sign In</a>
+            <a id="nav-signup" class="nav-item navbar-right" href="{{AppSubUrl}}/user/sign_up/" rel="nofollow">Sign Up</a>
             {{end}}
         </nav>
     </div>
index a6c0acada46e86f9e2cb9c02436086656d9cfb58..556627b0cb7258953a4ce3961afdb2b5bb667663 100644 (file)
@@ -2,7 +2,7 @@
     <p class="panel-header"><strong>{{.i18n.Tr "explore"}}</strong></p>
     <div class="panel-body">
         <ul class="menu menu-vertical switching-list grid-1-5 left">
-            <li {{if .PageIsExploreRepositories}}class="current"{{end}}><a href="{{AppRootSubUrl}}/explore">{{.i18n.Tr "explore.repos"}}</a></li>
+            <li {{if .PageIsExploreRepositories}}class="current"{{end}}><a href="{{AppSubUrl}}/explore">{{.i18n.Tr "explore.repos"}}</a></li>
         </ul>
     </div>
 </div>
\ No newline at end of file
index b8ae17915a34be8960655d8f4c41ebe0ae8102f6..954d0b06ec23e625e2e3e6e49c7d3385af37ce65 100644 (file)
@@ -12,7 +12,7 @@
                                        <li><i class="octicon octicon-star"></i> {{.NumStars}}</li>
                                        <li><i class="octicon octicon-git-branch"></i> {{.NumForks}}</li>
                                    </ul>
-                                               <h2><a href="{{AppRootSubUrl}}/{{.Owner.Name}}/{{.Name}}">{{.Name}}</a></h2>
+                                               <h2><a href="{{AppSubUrl}}/{{.Owner.Name}}/{{.Name}}">{{.Name}}</a></h2>
                                                <p class="org-repo-description">{{.Description}}</p>
                                                <p class="org-repo-updated">{{$.i18n.Tr "org.repo_updated"}} {{TimeSince .Updated $.i18n.Lang}}</p>
                                        </div>
index 0fa7086940fe68e1306050a64975deeb54e96d76..da73025dc883e3f77aa42de2a2a5d849161c8294 100644 (file)
@@ -3,12 +3,12 @@
 <div id="promo-wrapper">
     <div class="container clear">
         <div id="promo-logo" class="left">
-            <img src="{{AppRootSubUrl}}/img/gogs-lg.png" alt="logo" />
+            <img src="{{AppSubUrl}}/img/gogs-lg.png" alt="logo" />
         </div>
         <div id="promo-content">
             <h1>Gogs</h1>
             <h2>{{.i18n.Tr "app_desc"}}</h2>
-            <form id="promo-form" action="{{AppRootSubUrl}}/user/login" method="post">
+            <form id="promo-form" action="{{AppSubUrl}}/user/login" method="post">
                 {{.CsrfTokenHtml}}
                 <input class="ipt ipt-large" id="username" name="uname" type="text" placeholder="{{.i18n.Tr "home.uname_holder"}}"/>
                 <input class="ipt ipt-large" name="password" type="password" placeholder="{{.i18n.Tr "home.password_holder"}}"/>
index eb2940826a6b90d277aa1019fd6f9880245bceef..f1c28031d9fd461e57728932c2e1429f9c38043f 100644 (file)
@@ -8,7 +8,7 @@
                     <div class="panel-header">
                         <strong>{{.i18n.Tr "install.title"}}</strong>
                     </div>
-                    <form class="form form-align panel-body" id="install-form" action="{{AppRootSubUrl}}/install" method="post">
+                    <form class="form form-align panel-body" id="install-form" action="{{AppSubUrl}}/install" method="post">
                         {{.CsrfTokenHtml}}
                         <div class="text-center panel-desc">{{.i18n.Tr "install.requite_db_desc"}}</div>
                         <div class="field">
index 222edb690fb62f045456d9bee622179b6f2df19b..efdc965358388783627f040b408bdc152e92ebd1 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <html>
-       <head{{if AppRootSubUrl}} data-suburl="{{AppRootSubUrl}}"{{end}}>
+       <head{{if AppSubUrl}} data-suburl="{{AppSubUrl}}"{{end}}>
                <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
         <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
         <meta name="author" content="Gogs - Go Git Service" />
@@ -9,27 +9,27 @@
                <meta name="_csrf" content="{{.CsrfToken}}" />
                {{if .Repository.IsGoget}}<meta name="go-import" content="{{.GoGetImport}} git {{.CloneLink.HTTPS}}">{{end}}
 
-               <link rel="shortcut icon" href="{{AppRootSubUrl}}/img/favicon.png" />
+               <link rel="shortcut icon" href="{{AppSubUrl}}/img/favicon.png" />
 
                {{if CdnMode}}
                <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css">
 
                <script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
                {{else}}
-               <link rel="stylesheet" href="{{AppRootSubUrl}}/css/font-awesome.min.css">
+               <link rel="stylesheet" href="{{AppSubUrl}}/css/font-awesome.min.css">
                
-               <script src="{{AppRootSubUrl}}/ng/js/lib/jquery-1.11.1.min.js"></script>
+               <script src="{{AppSubUrl}}/ng/js/lib/jquery-1.11.1.min.js"></script>
                {{end}}
                <!-- Stylesheet -->
-               <link rel="stylesheet" href="{{AppRootSubUrl}}/ng/css/ui.css">
-               <link rel="stylesheet" href="{{AppRootSubUrl}}/ng/css/gogs.css">
-               <link rel="stylesheet" href="{{AppRootSubUrl}}/ng/fonts/octicons.css">
-               <link rel="stylesheet" href="{{AppRootSubUrl}}/css/github.min.css">
+               <link rel="stylesheet" href="{{AppSubUrl}}/ng/css/ui.css">
+               <link rel="stylesheet" href="{{AppSubUrl}}/ng/css/gogs.css">
+               <link rel="stylesheet" href="{{AppSubUrl}}/ng/fonts/octicons.css">
+               <link rel="stylesheet" href="{{AppSubUrl}}/css/github.min.css">
 
                <!-- JavaScript -->
-               <script src="{{AppRootSubUrl}}/ng/js/lib/tabs.js"></script>
-       <script src="{{AppRootSubUrl}}/ng/js/lib/lib.js"></script>
-               <script src="{{AppRootSubUrl}}/ng/js/gogs.js"></script>
+               <script src="{{AppSubUrl}}/ng/js/lib/tabs.js"></script>
+       <script src="{{AppSubUrl}}/ng/js/lib/lib.js"></script>
+               <script src="{{AppSubUrl}}/ng/js/gogs.js"></script>
 
                <title>{{if .Title}}{{.Title}} - {{end}}{{AppName}}</title>
        </head>
index af3bc02f9331572f40891946dfba0640835a9bfb..aec4e2ef6693e77d65d98d2146945e6e6b11cd5b 100644 (file)
@@ -2,37 +2,37 @@
     <ul class="menu menu-line container" id="header-nav">
         {{if not .PageIsHome}}
         <li class="head" id="header-nav-logo">
-            <img src="{{AppRootSubUrl}}/img/favicon.png" alt="avatar" class="avatar-30"/>
+            <img src="{{AppSubUrl}}/img/favicon.png" alt="avatar" class="avatar-30"/>
         </li>
         <li {{if .PageIsDashboard}}class="current"{{end}}>
-            <a href="{{AppRootSubUrl}}/">{{if .IsSigned}}{{.i18n.Tr "dashboard"}}{{else}}{{.i18n.Tr "home"}}{{end}}</a>
+            <a href="{{AppSubUrl}}/">{{if .IsSigned}}{{.i18n.Tr "dashboard"}}{{else}}{{.i18n.Tr "home"}}{{end}}</a>
         </li>
-        <li><a href="{{AppRootSubUrl}}/explore">{{.i18n.Tr "explore"}}</a></li>
+        <li><a href="{{AppSubUrl}}/explore">{{.i18n.Tr "explore"}}</a></li>
         <li><a target="_blank" href="http://gogs.io/docs">{{.i18n.Tr "help"}}</a></li>
         {{end}}
 
         {{if .IsSigned}}
         <li class="right" id="header-nav-sign-out">
-            <a href="{{AppRootSubUrl}}/user/logout" title="{{.i18n.Tr "sign_out"}}"><i class="octicon octicon-sign-out"></i></a>
+            <a href="{{AppSubUrl}}/user/logout" title="{{.i18n.Tr "sign_out"}}"><i class="octicon octicon-sign-out"></i></a>
         </li>
         <li class="right {{if .PageIsUserSettings}}current{{end}}">
-            <a href="{{AppRootSubUrl}}/user/settings" title="{{.i18n.Tr "account_settings"}}"><i class="octicon octicon-settings"></i></a>
+            <a href="{{AppSubUrl}}/user/settings" title="{{.i18n.Tr "account_settings"}}"><i class="octicon octicon-settings"></i></a>
         </li>
             {{if .IsAdmin}}
             <li class="right {{if .PageIsAdmin}}current{{end}}">
-                <a href="{{AppRootSubUrl}}/admin" title="{{.i18n.Tr "admin_panel"}}"><i class="octicon octicon-circuit-board"></i></a>
+                <a href="{{AppSubUrl}}/admin" title="{{.i18n.Tr "admin_panel"}}"><i class="octicon octicon-circuit-board"></i></a>
             </li>
             {{end}}
         <li class="right down">
             <a href="#"><i class="octicon octicon-plus"></i></a>
             <ul class="menu menu-down" id="header-new-repo-menu">
-                <li><a href="{{AppRootSubUrl}}/repo/create"><i class="octicon octicon-repo-create"></i>{{.i18n.Tr "new_repo"}}</a></li>
-                <li><a href="{{AppRootSubUrl}}/repo/migrate"><i class="octicon octicon-repo-clone"></i>{{.i18n.Tr "new_migrate"}}</a></li>
-                <li><a href="{{AppRootSubUrl}}/org/create"><i class="octicon octicon-organization"></i>{{.i18n.Tr "new_org"}}</a></li>
+                <li><a href="{{AppSubUrl}}/repo/create"><i class="octicon octicon-repo-create"></i>{{.i18n.Tr "new_repo"}}</a></li>
+                <li><a href="{{AppSubUrl}}/repo/migrate"><i class="octicon octicon-repo-clone"></i>{{.i18n.Tr "new_migrate"}}</a></li>
+                <li><a href="{{AppSubUrl}}/org/create"><i class="octicon octicon-organization"></i>{{.i18n.Tr "new_org"}}</a></li>
             </ul>
         </li>
         <li class="right" id="header-nav-user">
-            <a href="{{AppRootSubUrl}}/{{.SignedUser.Name}}" class="text-bold">
+            <a href="{{AppSubUrl}}/{{.SignedUser.Name}}" class="text-bold">
                 <img src="{{.SignedUser.AvatarLink}}" alt="user-avatar" class="avatar-30"/>
                 {{.SignedUser.Name}}
             </a>
                 <a target="_blank" href="http://gogs.io/docs"><i class="octicon octicon-info"></i>&nbsp;&nbsp;{{.i18n.Tr "help"}}</a>
             </li>
             <li class="right" id="header-nav-explore">
-                <a href="{{AppRootSubUrl}}/explore"><i class="octicon octicon-globe"></i>&nbsp;&nbsp;{{.i18n.Tr "explore"}}</a>
+                <a href="{{AppSubUrl}}/explore"><i class="octicon octicon-globe"></i>&nbsp;&nbsp;{{.i18n.Tr "explore"}}</a>
             </li>
             {{else}}
             <li class="right" id="header-nav-sign-in">
-                <a href="{{AppRootSubUrl}}/user/login" title="Sign In"><i class="octicon octicon-sign-in"></i> {{.i18n.Tr "sign_in"}}</a>
+                <a href="{{AppSubUrl}}/user/login" title="Sign In"><i class="octicon octicon-sign-in"></i> {{.i18n.Tr "sign_in"}}</a>
             </li>
             <li class="right">
-                <a href="{{AppRootSubUrl}}/user/sign_up" title="Account Settings"><i class="octicon octicon-person-add"></i> {{.i18n.Tr "register"}}</a>
+                <a href="{{AppSubUrl}}/user/sign_up" title="Account Settings"><i class="octicon octicon-person-add"></i> {{.i18n.Tr "register"}}</a>
             </li>
             {{end}}
         {{end}}
index 78040fbd301b3febfcc69a77c53e14f41c74d815..2d4acd28eb794c2bc5335a9a575383d67e2827ec 100644 (file)
@@ -1,4 +1,4 @@
-{{if .OauthService.GitHub}}<a class="btn github" href="{{AppRootSubUrl}}/user/login/github?next=/user/sign_up"><i class="fa fa-github"></i>GitHub</a>{{end}}
-{{if .OauthService.Google}}<a class="btn google" href="{{AppRootSubUrl}}/user/login/google?next=/user/sign_up"><i class="fa fa-google"></i>Google +</a>{{end}}
-{{if .OauthService.Weibo}}<a class="btn weibo" href="{{AppRootSubUrl}}/user/login/weibo?next=/user/sign_up"><i class="fa fa-weibo"></i>新浪微博</a>{{end}}
-{{if .OauthService.Tencent}}<a class="btn qq" href="{{AppRootSubUrl}}/user/login/qq?next=/user/sign_up"><i class="fa fa-qq"></i>腾讯 QQ&nbsp;</a>{{end}}
\ No newline at end of file
+{{if .OauthService.GitHub}}<a class="btn github" href="{{AppSubUrl}}/user/login/github?next=/user/sign_up"><i class="fa fa-github"></i>GitHub</a>{{end}}
+{{if .OauthService.Google}}<a class="btn google" href="{{AppSubUrl}}/user/login/google?next=/user/sign_up"><i class="fa fa-google"></i>Google +</a>{{end}}
+{{if .OauthService.Weibo}}<a class="btn weibo" href="{{AppSubUrl}}/user/login/weibo?next=/user/sign_up"><i class="fa fa-weibo"></i>新浪微博</a>{{end}}
+{{if .OauthService.Tencent}}<a class="btn qq" href="{{AppSubUrl}}/user/login/qq?next=/user/sign_up"><i class="fa fa-qq"></i>腾讯 QQ&nbsp;</a>{{end}}
\ No newline at end of file
index ef5f4d044e6d77ab57733bdac3744245d15ab90b..1bbb092bf59d83a066e34fea7330b404017365a5 100644 (file)
@@ -1,6 +1,6 @@
 <div class="org-header" id="org-header">
        <div class="container">
-               <a class="text-black left" href="{{AppRootSubUrl}}/org/{{.Org.LowerName}}">
+               <a class="text-black left" href="{{AppSubUrl}}/org/{{.Org.LowerName}}">
                        <img class="avatar-48 left" src="{{.Org.AvatarLink}}?s=100">
                        <span class="org-name">{{.Org.FullName}}</span>
                </a>
index ce0cdb31917fa7fead6cc622a3e02b31bbab8ae5..240fb21e37a8e7bd4104475dae457d75cd590f27 100644 (file)
@@ -1,7 +1,7 @@
 {{template "ng/base/head" .}}
 {{template "ng/base/header" .}}
 <div id="sign-wrapper">
-    <form class="form-align form panel sign-panel sign-form container panel-radius" id="sign-up-form" action="{{AppRootSubUrl}}/org/create" method="post">
+    <form class="form-align form panel sign-panel sign-form container panel-radius" id="sign-up-form" action="{{AppSubUrl}}/org/create" method="post">
         {{.CsrfTokenHtml}}
         <div class="panel-header">
             <h2>{{.i18n.Tr "new_org"}}</h2>
@@ -23,7 +23,7 @@
             <div class="field">
                 <span class="form-label"></span>
                 <button class="btn btn-large btn-blue btn-radius">{{.i18n.Tr "org.create_org"}}</button>
-                <a class="btn btn-small btn-gray btn-radius" id="repo-create-cancel" href="{{AppRootSubUrl}}/"><strong>{{.i18n.Tr "cancel"}}</strong></a>
+                <a class="btn btn-small btn-gray btn-radius" id="repo-create-cancel" href="{{AppSubUrl}}/"><strong>{{.i18n.Tr "cancel"}}</strong></a>
             </div>
         </div>
     </form>
index f8e6eb6b639322f3190040e630ef29723bdb1883..a2517a225fbf28bdcce87dd52f9f8ced809cb585 100644 (file)
@@ -22,7 +22,7 @@
     <div id="org-home-repo-list" class="left grid-2-3">
         <div class="clear">
                {{if .IsOrganizationOwner}}
-            <a class="btn btn-green btn-large btn-link btn-radius right" href="{{AppRootSubUrl}}/repo/create?org={{.Org.Id}}"><i class="octicon octicon-repo-create"></i> {{.i18n.Tr "new_repo"}}</a>
+            <a class="btn btn-green btn-large btn-link btn-radius right" href="{{AppSubUrl}}/repo/create?org={{.Org.Id}}"><i class="octicon octicon-repo-create"></i> {{.i18n.Tr "new_repo"}}</a>
                {{end}}
         </div>
         <div id="org-repo-list">
@@ -33,7 +33,7 @@
                         <li><i class="octicon octicon-star"></i> {{.NumStars}}</li>
                         <li><i class="octicon octicon-git-branch"></i> {{.NumForks}}</li>
                     </ul>
-                                       <h2><a href="{{AppRootSubUrl}}/{{$.Org.Name}}/{{.Name}}">{{.Name}}</a></h2>
+                                       <h2><a href="{{AppSubUrl}}/{{$.Org.Name}}/{{.Name}}">{{.Name}}</a></h2>
                                        <p class="org-repo-description">{{.Description}}</p>
                                        <p class="org-repo-updated">{{$.i18n.Tr "org.repo_updated"}} {{TimeSince .Updated $.i18n.Lang}}</p>
                                </div>
                <div class="panel panel-radius">
                        <div class="panel-header">
                                {{if $isMember}}
-                               <a class="text-grey right" href="{{AppRootSubUrl}}/org/{{.Org.LowerName}}/members"><strong>{{.Org.NumMembers}}</strong><span class="octicon octicon-chevron-right"></span></a>
+                               <a class="text-grey right" href="{{AppSubUrl}}/org/{{.Org.LowerName}}/members"><strong>{{.Org.NumMembers}}</strong><span class="octicon octicon-chevron-right"></span></a>
                                {{end}}
                                <strong>{{.i18n.Tr "org.people"}}</strong>
                        </div>
                        <div class="panel-body member-avatar-group">
                                {{range .Members}}
                                                {{if or $isMember (.IsPublicMember $.Org.Id)}}
-                                       <a href="{{AppRootSubUrl}}/{{.Name}}" title="{{.Name}}"><img src="{{.AvatarLink}}"></a>
+                                       <a href="{{AppSubUrl}}/{{.Name}}" title="{{.Name}}"><img src="{{.AvatarLink}}"></a>
                                        {{end}}
                                {{end}}
                        </div>
                        {{if .IsOrganizationOwner}}
                        <div class="panel-footer">
-                               <a class="btn btn-medium btn-blue btn-link btn-radius" href="{{AppRootSubUrl}}/org/{{.Org.LowerName}}/invitations/new">{{.i18n.Tr "org.invite_someone"}}</a>
+                               <a class="btn btn-medium btn-blue btn-link btn-radius" href="{{AppSubUrl}}/org/{{.Org.LowerName}}/invitations/new">{{.i18n.Tr "org.invite_someone"}}</a>
                        </div>
                        {{end}}
                </div>
                <br>
                <div class="panel panel-radius">
                        <div class="panel-header">
-                               <a class="text-grey right" href="{{AppRootSubUrl}}/org/{{.Org.LowerName}}/teams"><strong>{{.Org.NumTeams}}</strong><span class="octicon octicon-chevron-right"></span></a>
+                               <a class="text-grey right" href="{{AppSubUrl}}/org/{{.Org.LowerName}}/teams"><strong>{{.Org.NumTeams}}</strong><span class="octicon octicon-chevron-right"></span></a>
                                <strong>{{.i18n.Tr "org.teams"}}</strong>
                        </div>
                        <div class="panel-body" id="org-home-team-list">
                                <ul>
                                        {{range .Teams}}
                                        <li>
-                                               <a class="text-black" href="{{AppRootSubUrl}}/org/{{$.Org.LowerName}}/teams/{{.LowerName}}"><strong class="team-name">{{.Name}}</strong></a>
+                                               <a class="text-black" href="{{AppSubUrl}}/org/{{$.Org.LowerName}}/teams/{{.LowerName}}"><strong class="team-name">{{.Name}}</strong></a>
                                                <p class="team-meta">{{.NumMembers}} {{$.i18n.Tr "org.lower_members"}} · {{.NumRepos}} {{$.i18n.Tr "org.lower_repositories"}}</p>
                                        </li>
                                        {{end}}
@@ -82,7 +82,7 @@
                        </div>
                        {{if .IsOrganizationOwner}}
                        <div class="panel-footer">
-                               <a class="btn btn-medium btn-blue btn-link btn-radius" href="{{AppRootSubUrl}}/org/{{$.Org.LowerName}}/teams/new">{{.i18n.Tr "org.create_new_team"}}</a>
+                               <a class="btn btn-medium btn-blue btn-link btn-radius" href="{{AppSubUrl}}/org/{{$.Org.LowerName}}/teams/new">{{.i18n.Tr "org.create_new_team"}}</a>
                        </div>
                        {{end}}
                </div>
index eb4b9b7fc778df8d6e688ab33507cb5ef507461c..0e7453ac5b8728bdd7d22fd9128628c9515765ae 100644 (file)
@@ -14,7 +14,7 @@
                {{range .Members}}
                <div class="org-member-item">
                        <img class="avatar-48 left" src="{{.AvatarLink}}?s=100">
-                       <a class="text-black" href="{{AppRootSubUrl}}/{{.Name}}"><span class="member-name"><strong>{{.FullName}}</strong>({{.Name}})</span></a>
+                       <a class="text-black" href="{{AppSubUrl}}/{{.Name}}"><span class="member-name"><strong>{{.FullName}}</strong>({{.Name}})</span></a>
                        <ul class="grid-6-12 right">
                                <li class="grid-1-3">
                                {{ $isPublic := .IsPublicMember $.Org.Id}}
index eb5fd9a30d3f03beb46d34c6a93ffdedc2459fca..4e42775a4964020b5b3bb9778bfa3b1daf304b88 100644 (file)
@@ -1,7 +1,7 @@
 {{template "base/head" .}}
 {{template "base/navbar" .}}
 <div class="container" id="body">
-    <form action="{{AppRootSubUrl}}/org/create" method="post" class="form-horizontal card" id="org-create">
+    <form action="{{AppSubUrl}}/org/create" method="post" class="form-horizontal card" id="org-create">
         {{.CsrfTokenHtml}}
         <h3>Create New Organization</h3>
         {{template "base/alert" .}}
@@ -24,7 +24,7 @@
         <div class="form-group">
             <div class="col-md-offset-2 col-md-8">
                 <button type="submit" class="btn btn-lg btn-primary">Create An Organization</button>
-                <a href="{{AppRootSubUrl}}/" class="text-danger">Cancel</a>
+                <a href="{{AppSubUrl}}/" class="text-danger">Cancel</a>
             </div>
         </div>
     </form>
index 938fdd647beae7b66936e58ae4de9006580f6077..8b698e0d372f006ef1825002d3740fdaf16e2b5c 100644 (file)
@@ -12,7 +12,7 @@
                         <p class="panel-header"><strong>{{.i18n.Tr "org.settings.delete_account"}}</strong></p>
                         <div class="panel-body panel-content">
                             <span class="alert alert-red alert-radius block"><i class="octicon octicon-alert"></i>{{.i18n.Tr "org.settings.delete_prompt" | Str2html}}</span>
-                            <form  action="{{AppRootSubUrl}}/org/{{.Org.LowerName}}/settings/delete" method="post">
+                            <form  action="{{AppSubUrl}}/org/{{.Org.LowerName}}/settings/delete" method="post">
                                 {{.CsrfTokenHtml}}
                                 <p class="field">
                                     <span class="form-label"></span>
index 63cb6f08b1980e9f96bb8671494e2c46301db69e..11d32d7f6776e4d0685c544cca5b04f69ca1d3ed 100644 (file)
@@ -4,9 +4,9 @@
     </div>
     <div class="panel-body">
         <ul class="menu menu-vertical switching-list grid-1-5 left">
-            <li {{if .PageIsSettingsOptions}}class="current"{{end}}><a href="{{AppRootSubUrl}}/org/{{.Org.LowerName}}/settings">{{.i18n.Tr "org.settings.options"}}</a></li>
-            <li {{if .PageIsSettingsHooks}}class="current"{{end}}><a href="{{AppRootSubUrl}}/org/{{.Org.LowerName}}/settings/hooks">{{.i18n.Tr "repo.settings.hooks"}}</a></li>
-            <li {{if .PageIsSettingsDelete}}class="current"{{end}}><a href="{{AppRootSubUrl}}/org/{{.Org.LowerName}}/settings/delete">{{.i18n.Tr "org.settings.delete"}}</a></li>
+            <li {{if .PageIsSettingsOptions}}class="current"{{end}}><a href="{{AppSubUrl}}/org/{{.Org.LowerName}}/settings">{{.i18n.Tr "org.settings.options"}}</a></li>
+            <li {{if .PageIsSettingsHooks}}class="current"{{end}}><a href="{{AppSubUrl}}/org/{{.Org.LowerName}}/settings/hooks">{{.i18n.Tr "repo.settings.hooks"}}</a></li>
+            <li {{if .PageIsSettingsDelete}}class="current"{{end}}><a href="{{AppSubUrl}}/org/{{.Org.LowerName}}/settings/delete">{{.i18n.Tr "org.settings.delete"}}</a></li>
         </ul>
     </div>
 </div>
index 0949219389f04d025b6e19566fab0cf023226ab0..793b9c294c291c4585f8fff2f3ad85ffbd04a159 100644 (file)
@@ -12,7 +12,7 @@
                         <div class="panel-header">
                                <strong>{{.i18n.Tr "org.settings.options"}}</strong>
                         </div>
-                        <form class="form form-align panel-body" id="org-setting-form" action="{{AppRootSubUrl}}/org/{{.Org.LowerName}}/settings" method="post">
+                        <form class="form form-align panel-body" id="org-setting-form" action="{{AppSubUrl}}/org/{{.Org.LowerName}}/settings" method="post">
                             {{.CsrfTokenHtml}}
                                        <input type="hidden" name="action" value="update">
                             <div class="field">
index ad9b30ed3a6bda0d592beb997ad418f9fadf1e33..66f496ebdfa76ff6ec888bad384c995d2e8ec1aa 100644 (file)
@@ -30,7 +30,7 @@
                                        {{if $.IsOrganizationOwner}}
                                                        <a class="btn btn-small btn-red btn-radius right" href="{{$.OrgLink}}/teams/{{$.Team.LowerName}}/action/remove?uid={{.Id}}">{{$.i18n.Tr "org.members.remove"}}</a>
                                                        {{end}}
-                                                       <a class="member" href="{{AppRootSubUrl}}/{{.Name}}">
+                                                       <a class="member" href="{{AppSubUrl}}/{{.Name}}">
                                                            <img alt="{{.Name}}" class="pull-left avatar" src="{{.AvatarLink}}">
                                                            <strong>{{.FullName}}</strong> ({{.Name}})
                                                        </a>
index f7ff97d8c659e2aa415091d6a99f036e257e43bd..31b6477ca18230e63c3aa69c6366f2598de1142d 100644 (file)
@@ -30,7 +30,7 @@
                                        {{if $canAddRemove}}
                                                        <a class="btn btn-small btn-red btn-radius right" href="{{$.OrgLink}}/teams/{{$.Team.LowerName}}/action/repo/remove?repoid={{.Id}}">{{$.i18n.Tr "org.teams.remove_repo"}}</a>
                                                        {{end}}
-                                                       <a class="member" href="{{AppRootSubUrl}}/{{$.Org.Name}}/{{.Name}}">
+                                                       <a class="member" href="{{AppSubUrl}}/{{$.Org.Name}}/{{.Name}}">
                                 <i class="octicon octicon-{{if .IsPrivate}}lock{{else if .IsFork}}repo-forked{{else if .IsMirror}}repo-clone{{else}}repo{{end}}"></i>
                                                            <strong>{{$.Org.Name}}/{{.Name}}</strong>
                                                        </a>
index 6440807f438693808c664e3c6bbab5ff42aee2db..30df3e4041327af32d0ab9e66355d4e416a10055 100644 (file)
@@ -25,7 +25,7 @@
                                {{if .NumMembers}}
                                <div class="panel-body member-avatar-group">
                                        {{range .Members}}
-                                       <a href="{{AppRootSubUrl}}/{{.Name}}" title="{{.Name}}">
+                                       <a href="{{AppSubUrl}}/{{.Name}}" title="{{.Name}}">
                                                <img src="{{.AvatarLink}}">
                                        </a>
                                        {{end}}
index 712e7013a9c785057113d80ede248003619ee148..2a1409a6e8a5251fc126024bca2389621d554408 100644 (file)
@@ -5,7 +5,7 @@
         <div class="container clear">
             <h1 id="repo-header-name" class="left public">
                 <i class="mega-octicon octicon-{{if .Repository.IsPrivate}}lock{{else}}repo{{end}}"></i>
-                <a class="author" href="{{AppRootSubUrl}}/{{.Repository.Owner.Name}}">{{.Repository.Owner.Name}}</a>
+                <a class="author" href="{{AppSubUrl}}/{{.Repository.Owner.Name}}">{{.Repository.Owner.Name}}</a>
                 <span class="divider">/</span>
                 <a class="repo text-bold" href="{{.RepoLink}}">{{.Repository.Name}}</a>
             </h1>
index aa97925c09dff7fe403fb1d528b5ab2e34d1c5de..cb2ed5d0cb74517229f4b352b6064b3b1a240694 100644 (file)
@@ -26,8 +26,8 @@
             {{$r := List .Commits}}
             {{range $r}}
             <tr>
-                <td class="author"><img class="avatar" src="{{AvatarLink .Author.Email}}" alt=""/><a href="{{AppRootSubUrl}}/user/email2user?email={{.Author.Email}}">{{.Author.Name}}</a></td>
-                <td class="sha"><a rel="nofollow" class="label label-success" href="{{AppRootSubUrl}}/{{$username}}/{{$reponame}}/commit/{{.Id}} ">{{SubStr .Id.String 0 10}} </a></td>
+                <td class="author"><img class="avatar" src="{{AvatarLink .Author.Email}}" alt=""/><a href="{{AppSubUrl}}/user/email2user?email={{.Author.Email}}">{{.Author.Name}}</a></td>
+                <td class="sha"><a rel="nofollow" class="label label-success" href="{{AppSubUrl}}/{{$username}}/{{$reponame}}/commit/{{.Id}} ">{{SubStr .Id.String 0 10}} </a></td>
                 <td class="message">{{.Summary}} </td>
                 <td class="date">{{TimeSince .Author.When $.Lang}}</td>
             </tr>
index 7b3c85ae64c55e477fe96a340d1d24b3cdd91bc0..5d0c9b0f1d5dfae42e8e17596bf42fb60aa3dcea 100644 (file)
@@ -1,7 +1,7 @@
 {{template "ng/base/head" .}}
 {{template "ng/base/header" .}}
 <div id="repo-wrapper">
-    <form id="repo-create-form" class="form form-align panel panel-radius" action="{{AppRootSubUrl}}/repo/create" method="post">
+    <form id="repo-create-form" class="form form-align panel panel-radius" action="{{AppSubUrl}}/repo/create" method="post">
         {{.CsrfTokenHtml}}
         <div class="panel-header">
             <h2>{{.i18n.Tr "new_repo"}}</h2>
@@ -75,7 +75,7 @@
             <div class="field">
                 <label></label>
                 <button class="btn btn-large btn-blue btn-radius">{{.i18n.Tr "repo.create_repo"}}</button>
-                <a class="btn btn-small btn-gray btn-radius" id="repo-create-cancel" href="{{AppRootSubUrl}}/"><strong>{{.i18n.Tr "cancel"}}</strong></a>
+                <a class="btn btn-small btn-gray btn-radius" id="repo-create-cancel" href="{{AppSubUrl}}/"><strong>{{.i18n.Tr "cancel"}}</strong></a>
             </div>
         </div>
     </form>
index 548c7a3500f466cac8561243b0e8f3a46425a72c..8e5efd146f1ded34f0a76228227b041fe0d57a39 100644 (file)
@@ -30,7 +30,7 @@
                 </span>
                 <p class="author">
                     <img class="avatar" src="{{AvatarLink .Commit.Author.Email}}" alt=""/>
-                    <a class="name" href="{{AppRootSubUrl}}/user/email2user?email={{.Commit.Author.Email}}"><strong>{{.Commit.Author.Name}}</strong></a>
+                    <a class="name" href="{{AppSubUrl}}/user/email2user?email={{.Commit.Author.Email}}"><strong>{{.Commit.Author.Name}}</strong></a>
                     <span class="time">{{TimeSince .Commit.Author.When $.Lang}}</span>
                 </p>
           </div>
index dc271a751b2f360d03b9012c16c030131fc49393..524bfd11e25de2234ee25f0413d741443df4ebb8 100644 (file)
@@ -2,7 +2,7 @@
     <div class="container clear">
         <h1 id="repo-header-name" class="left public">
             <i class="mega-octicon octicon-{{if .Repository.IsPrivate}}lock{{else if .Repository.IsMirror}}repo-clone{{else}}repo{{end}}"></i>
-            <a class="author" href="{{AppRootSubUrl}}/{{.Owner.Name}}">{{.Owner.Name}}</a>
+            <a class="author" href="{{AppSubUrl}}/{{.Owner.Name}}">{{.Owner.Name}}</a>
             <span class="divider">/</span>
             <a class="repo text-bold" href="{{.RepoLink}}">{{.Repository.Name}}</a>
             {{if .Repository.IsMirror}}<span class="label label-gray">{{.i18n.Tr "mirror"}}</span>{{end}}
index 1849602bc604624bc0a51899b442bfea268b5367..0f9daae9feea222af420b59398a2b51a42f020c9 100644 (file)
@@ -85,7 +85,7 @@
                     </h5>
                     <p class="info">
                         <span class="author"><img class="avatar" src="{{.Poster.AvatarLink}}" alt="" width="20"/>
-                        <a href="{{AppRootSubUrl}}/user/{{.Poster.Name}}">{{.Poster.Name}}</a></span>
+                        <a href="{{AppSubUrl}}/user/{{.Poster.Name}}">{{.Poster.Name}}</a></span>
                         <span class="time">{{TimeSince .Created $.Lang}}</span>
                         <span class="comment"><i class="fa fa-comments"></i> {{.NumComments}}</span>
                     </p>
index dbbd1d92fad06fd8edc59e6078e6f30908368123..49aa982aefd86f7cf5bee2ae04e5eecb5ed26dca 100644 (file)
@@ -8,7 +8,7 @@
             <div class="issue-wrap col-md-10">
                 <div class="issue-head clearfix">
                     <div class="number pull-right">#{{.Issue.Index}}</div>
-                    <a class="author pull-left" href="{{AppRootSubUrl}}/user/{{.Issue.Poster.Name}}"><img class="avatar" src="{{.Issue.Poster.AvatarLink}}" alt="" width="30"/></a>
+                    <a class="author pull-left" href="{{AppSubUrl}}/user/{{.Issue.Poster.Name}}"><img class="avatar" src="{{.Issue.Poster.AvatarLink}}" alt="" width="30"/></a>
                     <h1 class="title pull-left">{{.Issue.Name}}</h1>
                     <input id="issue-edit-title" class="form-control input-lg pull-left hidden" type="text" value="{{.Issue.Name}}" data-ajax-rel="issue-edit-save" data-ajax-val="val" data-ajax-field="title"/>
                     <input type="hidden" value="{{.Issue.Id}}" data-ajax-rel="issue-edit-save" data-ajax-val="val" data-ajax-field="issue_id"/>
@@ -17,7 +17,7 @@
                         <a class="btn btn-danger pull-right issue-edit-cancel hidden" href="#">Cancel</a>
                         <a class="btn btn-primary pull-right issue-edit-save hidden" href="#" data-ajax="{{.RepoLink}}/issues/{{.Issue.Index}}" data-ajax-name="issue-edit-save" data-ajax-method="post">Save</a>{{end}}
                         <span class="status label label-{{if .Issue.IsClosed}}danger{{else}}success{{end}}">{{if .Issue.IsClosed}}Closed{{else}}Open{{end}}</span>
-                        <a href="{{AppRootSubUrl}}/user/{{.Issue.Poster.Name}}" class="author"><strong>{{.Issue.Poster.Name}}</strong></a> opened this issue
+                        <a href="{{AppSubUrl}}/user/{{.Issue.Poster.Name}}" class="author"><strong>{{.Issue.Poster.Name}}</strong></a> opened this issue
                         <span class="time">{{TimeSince .Issue.Created $.Lang}}</span> · {{.Issue.NumComments}} comments
                     </p>
                 </div>
                     {{/* 0 = COMMENT, 1 = REOPEN, 2 = CLOSE, 3 = ISSUE, 4 = COMMIT, 5 = PULL */}}
                     {{if eq .Type 0}}
                     <div class="issue-child" id="issue-comment-{{.Id}}">
-                        <a class="user pull-left" href="{{AppRootSubUrl}}/user/{{.Poster.Name}}"><img class="avatar" src="{{.Poster.AvatarLink}}" alt=""/></a>
+                        <a class="user pull-left" href="{{AppSubUrl}}/user/{{.Poster.Name}}"><img class="avatar" src="{{.Poster.AvatarLink}}" alt=""/></a>
                         <div class="issue-content panel panel-default">
                             <div class="panel-heading">
-                                <a href="{{AppRootSubUrl}}/user/{{.Poster.Name}}" class="user">{{.Poster.Name}}</a> commented <span class="time">{{TimeSince .Created $.Lang}}</span>
+                                <a href="{{AppSubUrl}}/user/{{.Poster.Name}}" class="user">{{.Poster.Name}}</a> commented <span class="time">{{TimeSince .Created $.Lang}}</span>
                                 <!-- <a class="issue-comment-del pull-right issue-action" href="#" title="Edit Comment"><i class="fa fa-times-circle"></i></a>
                                 <a class="issue-comment-edit pull-right issue-action" href="#" title="Remove Comment" data-url="{remove-link}"><i class="fa fa-edit"></i></a> -->
                                 <span class="role label label-default pull-right">Owner</span>
                     </div>
                     {{else if eq .Type 1}}
                     <div class="issue-child issue-opened">
-                        <a class="user pull-left" href="{{AppRootSubUrl}}/user/{{.Poster.Name}}"><img class="avatar" src="{{.Poster.AvatarLink}}" alt="" /></a>
+                        <a class="user pull-left" href="{{AppSubUrl}}/user/{{.Poster.Name}}"><img class="avatar" src="{{.Poster.AvatarLink}}" alt="" /></a>
                         <div class="issue-content">
-                            <a class="user pull-left" href="{{AppRootSubUrl}}/user/{{.Poster.Name}}">{{.Poster.Name}}</a> <span class="label label-success">Reopened</span> this issue <span class="time">{{TimeSince .Created $.Lang}}</span>
+                            <a class="user pull-left" href="{{AppSubUrl}}/user/{{.Poster.Name}}">{{.Poster.Name}}</a> <span class="label label-success">Reopened</span> this issue <span class="time">{{TimeSince .Created $.Lang}}</span>
                         </div>
                     </div>
                     {{else if eq .Type 2}}
                     <div class="issue-child issue-closed">
-                        <a class="user pull-left" href="{{AppRootSubUrl}}/user/{{.Poster.Name}}"><img class="avatar" src="{{.Poster.AvatarLink}}" alt=""/></a>
+                        <a class="user pull-left" href="{{AppSubUrl}}/user/{{.Poster.Name}}"><img class="avatar" src="{{.Poster.AvatarLink}}" alt=""/></a>
                         <div class="issue-content">
-                            <a class="user pull-left" href="{{AppRootSubUrl}}/user/{{.Poster.Name}}">{{.Poster.Name}}</a> <span class="label label-danger">Closed</span> this issue <span class="time">{{TimeSince .Created $.Lang}}</span>
+                            <a class="user pull-left" href="{{AppSubUrl}}/user/{{.Poster.Name}}">{{.Poster.Name}}</a> <span class="label label-danger">Closed</span> this issue <span class="time">{{TimeSince .Created $.Lang}}</span>
                         </div>
                     </div>
                     {{else if eq .Type 4}}
                     <div class="issue-child issue-reference issue-reference-commit">
-                        <a class="user pull-left" href="{{AppRootSubUrl}}/user/{{.Poster.Name}}"><img class="avatar" src="{{.Poster.AvatarLink}}" alt=""/></a>
+                        <a class="user pull-left" href="{{AppSubUrl}}/user/{{.Poster.Name}}"><img class="avatar" src="{{.Poster.AvatarLink}}" alt=""/></a>
                         <div class="issue-content">
-                            <a class="user pull-left" href="{{AppRootSubUrl}}/user/{{.Poster.Name}}">{{.Poster.Name}}</a> <span class="label label-primary">Referenced</span> this issue <span class="time">{{TimeSince .Created $.Lang}}</span>
+                            <a class="user pull-left" href="{{AppSubUrl}}/user/{{.Poster.Name}}">{{.Poster.Name}}</a> <span class="label label-primary">Referenced</span> this issue <span class="time">{{TimeSince .Created $.Lang}}</span>
                             <p>
-                                <a class="user pull-left" href="{{AppRootSubUrl}}/user/{{.Poster.Name}}"><img class="avatar" src="{{.Poster.AvatarLink}}" alt=""/></a>
+                                <a class="user pull-left" href="{{AppSubUrl}}/user/{{.Poster.Name}}"><img class="avatar" src="{{.Poster.AvatarLink}}" alt=""/></a>
                                 {{.ContentHtml}}
                             </p>
                         </div>
                     {{end}}
                     <hr class="issue-line"/>
                     {{if .SignedUser}}<div class="issue-child issue-reply">
-                    <a class="user pull-left" href="{{AppRootSubUrl}}/user/{{.SignedUser.Name}}"><img class="avatar" src="{{.SignedUser.AvatarLink}}" alt=""/></a>
+                    <a class="user pull-left" href="{{AppSubUrl}}/user/{{.SignedUser.Name}}"><img class="avatar" src="{{.SignedUser.AvatarLink}}" alt=""/></a>
                     <form class="panel panel-default issue-content" action="{{.RepoLink}}/comment/new" method="post" enctype="multipart/form-data">
                         {{.CsrfTokenHtml}}
                         <div class="panel-body">
                             </div>
                         </div>
                     </form>
-                </div>{{else}}<div class="alert alert-warning"><a class="btn btn-success btn-lg" href="{{AppRootSubUrl}}/user/sign_up">Sign up for free</a> to join this conversation. Already have an account? <a href="{{AppRootSubUrl}}/user/login">Sign in to comment</a></div>{{end}}
+                </div>{{else}}<div class="alert alert-warning"><a class="btn btn-success btn-lg" href="{{AppSubUrl}}/user/sign_up">Sign up for free</a> to join this conversation. Already have an account? <a href="{{AppSubUrl}}/user/login">Sign in to comment</a></div>{{end}}
                 </div>
             </div>
 
index f40124bf9dc111f0ba0f1d1d3f7358ea1ec2d708..b28d06475c1c24d6a7a4cd5204b669381e6b2e77 100644 (file)
@@ -1,7 +1,7 @@
 {{template "ng/base/head" .}}
 {{template "ng/base/header" .}}
 <div id="repo-wrapper">
-    <form id="repo-migrate-form" class="form form-align panel panel-radius" action="{{AppRootSubUrl}}/repo/migrate" method="post">
+    <form id="repo-migrate-form" class="form form-align panel panel-radius" action="{{AppSubUrl}}/repo/migrate" method="post">
         {{.CsrfTokenHtml}}
         <div class="panel-header"><h2>{{.i18n.Tr "new_migrate"}}</h2></div>
         <div class="panel-content">
@@ -74,7 +74,7 @@
             <div class="field">
                 <label for="repo-create-submit"></label>
                 <button class="btn btn-large btn-blue btn-radius" id="repo-create-submit">{{.i18n.Tr "repo.migrate_repo"}}</button>
-                <a class="btn btn-small btn-gray btn-radius" id="repo-create-cancel" href="{{AppRootSubUrl}}/"><strong>{{.i18n.Tr "cancel"}}</strong></a>
+                <a class="btn btn-small btn-gray btn-radius" id="repo-create-cancel" href="{{AppSubUrl}}/"><strong>{{.i18n.Tr "cancel"}}</strong></a>
             </div>
         </div>
     </form>
index 566e11a017882b789c110d545795d2a4e49398c5..dfcfd7454207f8498ec0d55422e1624f4fb93a72 100644 (file)
@@ -2,7 +2,7 @@
     <div class="container">
         <div class="row">
             <div class="col-md-7">
-                <h3 class="name"><i class="fa fa-book fa-lg"></i><a href="{{.Owner.HomeLink}}">{{.Owner.Name}}</a> / <a href="{{AppRootSubUrl}}/{{.Owner.Name}}/{{.Repository.Name}}">{{.Repository.Name}}</a> {{if .Repository.IsPrivate}}<span class="label label-default">Private</span>{{else if .Repository.IsMirror}}<span class="label label-default">Mirror</span>{{end}}</h3>
+                <h3 class="name"><i class="fa fa-book fa-lg"></i><a href="{{.Owner.HomeLink}}">{{.Owner.Name}}</a> / <a href="{{AppSubUrl}}/{{.Owner.Name}}/{{.Repository.Name}}">{{.Repository.Name}}</a> {{if .Repository.IsPrivate}}<span class="label label-default">Private</span>{{else if .Repository.IsMirror}}<span class="label label-default">Mirror</span>{{end}}</h3>
                 <p class="desc">{{.Repository.DescriptionHtml}}{{if .Repository.Website}} <a href="{{.Repository.Website}}">{{.Repository.Website}}</a>{{end}}</p>
             </div>
             <div class="col-md-5 actions text-right clone-group-btn">
@@ -32,7 +32,7 @@
                     </div>
                 </div>
                 {{if .IsSigned}}
-                <div class="btn-group {{if .IsRepositoryWatching}}watching{{else}}no-watching{{end}}" id="repo-watching" data-watch="{{AppRootSubUrl}}/{{.Owner.Name}}/{{.Repository.Name}}/action/watch" data-unwatch="{{AppRootSubUrl}}/{{.Owner.Name}}/{{.Repository.Name}}/action/unwatch">
+                <div class="btn-group {{if .IsRepositoryWatching}}watching{{else}}no-watching{{end}}" id="repo-watching" data-watch="{{AppSubUrl}}/{{.Owner.Name}}/{{.Repository.Name}}/action/watch" data-unwatch="{{AppSubUrl}}/{{.Owner.Name}}/{{.Repository.Name}}/action/unwatch">
                     {{if .IsRepositoryWatching}}
                     <button type="button" class="btn btn-default"><i class="fa fa-eye fa-lg fa-m"></i></button>
                     {{else}}
@@ -59,7 +59,7 @@
                 </div> -->
                 {{end}}
                 <!-- <div class="btn-group">
-                    <a type="button" {{if not .IsRepositoryOwner}}href="{{AppRootSubUrl}}/{{.Username}}/{{.Reponame}}/fork"{{end}} class="btn btn-default" data-toggle="tooltip" data-placement="top" title="Fork"><i class="fa fa-code-fork fa-lg"></i>&nbsp;{{.Repository.NumForks}}</a>
+                    <a type="button" {{if not .IsRepositoryOwner}}href="{{AppSubUrl}}/{{.Username}}/{{.Reponame}}/fork"{{end}} class="btn btn-default" data-toggle="tooltip" data-placement="top" title="Fork"><i class="fa fa-code-fork fa-lg"></i>&nbsp;{{.Repository.NumForks}}</a>
                 </div> -->
             </div>
         </div>
index 2bb5faa46735a38fcc38911e2717fbf1d4c4d658..58a050ab56564558342f969a6f7a69a7d66377d4 100644 (file)
@@ -6,7 +6,7 @@
     <div id="release">
         <h4 id="release-head">
             <span class="release"><strong>Releases</strong></span><!--  /
-            <a class="tag" href="{{AppRootSubUrl}}/{tag_link}">Tags</a> -->
+            <a class="tag" href="{{AppSubUrl}}/{tag_link}">Tags</a> -->
             <!-- comment : if in tag page, show a.release and span.tag please -->
         </h4>
         <ul id="release-list" class="list-unstyled">
@@ -28,7 +28,7 @@
                     <h4 class="title"><a href="{{$.RepoLink}}/src/{{.TagName}}">{{.Title}}</a> <small>(<a href="{{$.RepoLink}}/releases/edit/{{.TagName}}" rel="nofollow">edit</a>)</small></h4>
                     <p class="info">
                         <span class="author"><img class="avatar" src="{{.Publisher.AvatarLink}}" alt="" width="20">&nbsp;&nbsp;
-                        <a href="{{AppRootSubUrl}}/user/{{.Publisher.Name}}">{{.Publisher.Name}}</a></span>
+                        <a href="{{AppSubUrl}}/user/{{.Publisher.Name}}">{{.Publisher.Name}}</a></span>
                         {{if .Created}}<span class="time">{{TimeSince .Created $.Lang}}</span>{{end}}
                         <span class="ahead"><strong>{{.NumCommitsBehind}}</strong> commits to {{.Target}} since this release</span>
                     </p>
index 8cd1f2a2fba49875299dc197cee0b6647ce77658..5aa77f0b853ac2c1053b9ccd3ba9d2c198100069 100644 (file)
@@ -1,7 +1,7 @@
 <div id="user-setting-nav" class="col-md-2 repo-setting-nav">
     <ul class="list-group">
-        <li class="list-group-item{{if .IsRepoToolbarSetting}} active{{end}}"><a href="{{AppRootSubUrl}}/{{.Owner.Name}}/{{.Repository.Name}}/settings">Options</a></li>
-        <li class="list-group-item{{if .IsRepoToolbarCollaboration}} active{{end}}"><a href="{{AppRootSubUrl}}/{{.Owner.Name}}/{{.Repository.Name}}/settings/collaboration">Collaborators</a></li>
-        <li class="list-group-item{{if .IsRepoToolbarWebHooks}} active{{end}}"><a href="{{AppRootSubUrl}}/{{.Owner.Name}}/{{.Repository.Name}}/settings/hooks">Webhooks</a></li>
+        <li class="list-group-item{{if .IsRepoToolbarSetting}} active{{end}}"><a href="{{AppSubUrl}}/{{.Owner.Name}}/{{.Repository.Name}}/settings">Options</a></li>
+        <li class="list-group-item{{if .IsRepoToolbarCollaboration}} active{{end}}"><a href="{{AppSubUrl}}/{{.Owner.Name}}/{{.Repository.Name}}/settings/collaboration">Collaborators</a></li>
+        <li class="list-group-item{{if .IsRepoToolbarWebHooks}} active{{end}}"><a href="{{AppSubUrl}}/{{.Owner.Name}}/{{.Repository.Name}}/settings/hooks">Webhooks</a></li>
     </ul>
 </div>
\ No newline at end of file
index 99561e27fcf9285057f1bb85c60e779b4c35b805..98091c35c8761953131e70c0c146a8359b90d338 100644 (file)
@@ -18,7 +18,7 @@
                                                {{range .Collaborators}}
                                                <li class="collab">
                                                        {{if not (eq .Id $.Owner.Id)}}<a href="{{$.RepoLink}}/settings/collaboration?remove={{.Name}}" class="remove-collab right"><i class="fa fa-times"></i></a>{{end}}
-                                                                               <a class="member" href="{{AppRootSubUrl}}/{{.Name}}">
+                                                                               <a class="member" href="{{AppSubUrl}}/{{.Name}}">
                                                                                    <img alt="{{.Name}}" class="pull-left avatar" src="{{.AvatarLink}}">
                                                                                    <strong>{{.FullName}}</strong> ({{.Name}})
                                                                                </a>
index 9fbf2f556a94a778a525ffc07dddc210cff2a673..d640fb00b83f11ed1730dbad2252a5289a5384e5 100644 (file)
@@ -12,7 +12,7 @@
                     <b class="caret"></b></a>
                 <ul class="dropdown-menu">
                     {{range .Branches}}
-                    <li><a {{if eq . $.BranchName}}class="current" {{end}}href="{{AppRootSubUrl}}/{{$.Username}}/{{$.Reponame}}/src/{{.}}">{{.}}</a></li>
+                    <li><a {{if eq . $.BranchName}}class="current" {{end}}href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/src/{{.}}">{{.}}</a></li>
                     {{end}}
                 </ul>
             </div>
index 6728dd70c9d0018766f1a75bb7cfa60550409bfc..03511a80ab3c5d7f978e97969dea4a8e3f31ba2d 100644 (file)
@@ -1,9 +1,9 @@
 <div class="panel panel-default info-box">
     <div class="panel-heading info-head">
-        <a href="{{AppRootSubUrl}}/{{.Username}}/{{.Reponame}}/commit/{{.LastCommit.Id}}" rel="nofollow">{{.LastCommit.Summary}}</a>
+        <a href="{{AppSubUrl}}/{{.Username}}/{{.Reponame}}/commit/{{.LastCommit.Id}}" rel="nofollow">{{.LastCommit.Summary}}</a>
     </div>
     <div class="panel-body info-content">
-        <a href="{{AppRootSubUrl}}/user/{{.LastCommit.Author.Name}}">{{.LastCommit.Author.Name}}</a> <span class="text-muted">{{TimeSince .LastCommit.Author.When}}</span>
+        <a href="{{AppSubUrl}}/user/{{.LastCommit.Author.Name}}">{{.LastCommit.Author.Name}}</a> <span class="text-muted">{{TimeSince .LastCommit.Author.When}}</span>
     </div>
     <table class="panel-footer table file-list">
         <thead class="hidden">
@@ -36,7 +36,7 @@
                         </span>
                     </td>
                     <td class="text">
-                        <span class="wrap"><a rel="nofollow" href="{{AppRootSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{$commit.Id}}">{{$commit.Summary}}</a></span>
+                        <span class="wrap"><a rel="nofollow" href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{$commit.Id}}">{{$commit.Summary}}</a></span>
                     </td>
                     <td class="date">
                         <span class="wrap">{{TimeSince $commit.Committer.When}}</span>
index a8c45fc986266868b9f39a8de21e29c762b118da..ce46cfb275ba969e39bb0615d9c79b3f9bcbe5af 100644 (file)
@@ -4,7 +4,7 @@
         <th colspan="4" class="clear">
             <span class="author left">
                 <img class="avatar-24 radius" src="{{AvatarLink .LastCommit.Author.Email}}" />
-                <a href="{{AppRootSubUrl}}/user/email2user?email={{Md5 .LastCommit.Author.Email}}"><strong>{{.LastCommit.Author.Name}}</strong>:</a>
+                <a href="{{AppSubUrl}}/user/email2user?email={{Md5 .LastCommit.Author.Email}}"><strong>{{.LastCommit.Author.Name}}</strong>:</a>
             </span>
             <span class="last-commit"><a href="{{.RepoLink}}/commit/{{.LastCommit.Id}}" rel="nofollow">
                 <strong>{{ShortSha .LastCommit.Id.String}}</strong></a>
@@ -34,7 +34,7 @@
                     <a href="{{$.BranchLink}}/{{$.TreePath}}{{$entry.Name}}" class="text-truncate">{{$entry.Name}}</a>
                 </td>
                 <td class="msg">
-                    <a class="text-truncate" href="{{AppRootSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{$commit.Id}}" rel="nofollow">{{$commit.Summary}}</a>
+                    <a class="text-truncate" href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{$commit.Id}}" rel="nofollow">{{$commit.Summary}}</a>
                 </td>
                 <td class="age">{{TimeSince $commit.Committer.When $.i18n.Lang}}</td>
             </tr>
index 5a57e95439ffc5b77f2883116916f3178827df00..fe6739b9480b784c57cf8ea38c8b545ba78a1265 100644 (file)
@@ -1,7 +1,7 @@
 {{template "ng/base/head" .}}
 {{template "ng/base/header" .}}
 <div class="container text-center">
-    <p style="margin-top: 100px"><img src="{{AppRootSubUrl}}/img/404.png" alt="404"/></p>
+    <p style="margin-top: 100px"><img src="{{AppSubUrl}}/img/404.png" alt="404"/></p>
     <hr/>
     <br>
     <p>Application Version: {{AppVer}}</p>
index 5bfdccc60f411c478f674ff59bf4f18bdaac2986..21116fa31009d7fbd55bf735b699510cdef5af5e 100644 (file)
@@ -1,7 +1,7 @@
 {{template "ng/base/head" .}}
 {{template "ng/base/header" .}}
 <div id="body" class="container text-center">
-    <p style="margin-top: 100px"><img src="{{AppRootSubUrl}}/img/500.png" alt="500"/></p>
+    <p style="margin-top: 100px"><img src="{{AppSubUrl}}/img/500.png" alt="500"/></p>
     <hr/>
     <br>
     {{if .ErrorMsg}}<p>An error has occurred : {{.ErrorMsg}}</p>{{end}}
index 554e2b78cc390720c1806e9daa8c5bb4ced34a0d..b4dbb2e206d5db46ced0e2bdf107a75a7fec87bd 100644 (file)
@@ -1,7 +1,7 @@
 {{template "ng/base/head" .}}
 {{template "ng/base/header" .}}
 <div id="sign-wrapper">
-    <form class="form-align form panel sign-panel sign-form container panel-radius" id="sign-up-form" action="{{AppRootSubUrl}}/user/activate" method="post">
+    <form class="form-align form panel sign-panel sign-form container panel-radius" id="sign-up-form" action="{{AppSubUrl}}/user/activate" method="post">
         {{.CsrfTokenHtml}}
         <div class="panel-header">
             <h2>{{.i18n.Tr "auth.active_your_account"}}</h2>
index a1a1009367370936d906770907bd22f68179e80a..6122dfceba8baf9bfd0649a393a4cd5809d84cf5 100644 (file)
@@ -1,7 +1,7 @@
 {{template "ng/base/head" .}}
 {{template "ng/base/header" .}}
 <div id="sign-wrapper">
-    <form class="form-align form panel sign-panel sign-form container panel-radius" id="sign-up-form" action="{{AppRootSubUrl}}/user/forget_password" method="post">
+    <form class="form-align form panel sign-panel sign-form container panel-radius" id="sign-up-form" action="{{AppSubUrl}}/user/forget_password" method="post">
         {{.CsrfTokenHtml}}
         <div class="panel-header">
             <h2>{{.i18n.Tr "auth.forgot_password"}}</h2>
index de2976d697bfb8ab08305de1e7d40dca28d7e4e7..d63d7a0f3c53452ae1dbe7f61c05147783fc71db 100644 (file)
@@ -1,7 +1,7 @@
 {{template "ng/base/head" .}}
 {{template "ng/base/header" .}}
 <div id="sign-wrapper">
-    <form class="form-align form panel sign-panel sign-form container panel-radius" id="sign-up-form" action="{{AppRootSubUrl}}/user/reset_password?code={{.Code}}" method="post">
+    <form class="form-align form panel sign-panel sign-form container panel-radius" id="sign-up-form" action="{{AppSubUrl}}/user/reset_password?code={{.Code}}" method="post">
         {{.CsrfTokenHtml}}
         <div class="panel-header">
             <h2>{{.i18n.Tr "auth.reset_password"}}</h2>
index e9ec87cc4630303a90b0689514c739ccc6db9335..547480771490d7c7cd58fbad5033c7414b72b6c8 100644 (file)
@@ -1,7 +1,7 @@
 {{template "ng/base/head" .}}
 {{template "ng/base/header" .}}
 <div id="sign-wrapper">
-    <form class="form-align form panel sign-panel sign-form container panel-radius" id="sign-up-form" action="{{AppRootSubUrl}}/user/login" method="post">
+    <form class="form-align form panel sign-panel sign-form container panel-radius" id="sign-up-form" action="{{AppSubUrl}}/user/login" method="post">
         <div class="panel-header">
             <h2>{{if .IsSocialLogin}}{{.i18n.Tr "social_sign_in" | Str2html}}{{else}}{{.i18n.Tr "sign_in"}}{{end}}</h2>
         </div>
             <div class="field">
                 <span class="form-label"></span>
                 <button class="btn btn-green btn-large btn-radius">{{.i18n.Tr "sign_in"}}</button>&nbsp;&nbsp;&nbsp;&nbsp;
-                {{if not .IsSocialLogin}}<a href="{{AppRootSubUrl}}/user/forget_password">{{.i18n.Tr "auth.forget_password"}}</a>{{end}}
+                {{if not .IsSocialLogin}}<a href="{{AppSubUrl}}/user/forget_password">{{.i18n.Tr "auth.forget_password"}}</a>{{end}}
             </div>
             {{if not .IsSocialLogin}}
             <div class="field">
                 <label></label>
-                <a href="{{AppRootSubUrl}}/user/sign_up">{{.i18n.Tr "auth.sign_up_now" | Str2html}}</a>
+                <a href="{{AppSubUrl}}/user/sign_up">{{.i18n.Tr "auth.sign_up_now" | Str2html}}</a>
             </div>
             {{if .OauthEnabled}}
             <hr/>
index af4c250f09d766465a3095ad4979e63f2a1e16f2..b68c79632aabcd952b4ce47b8a8aeb64c765423e 100644 (file)
@@ -1,7 +1,7 @@
 {{template "ng/base/head" .}}
 {{template "ng/base/header" .}}
 <div id="sign-wrapper">
-    <form class="form-align form panel panel-radius sign-panel sign-form container" id="sign-up-form" action="{{AppRootSubUrl}}/user/sign_up" method="post">
+    <form class="form-align form panel panel-radius sign-panel sign-form container" id="sign-up-form" action="{{AppSubUrl}}/user/sign_up" method="post">
         <div class="panel-header">
             <h2>{{if .IsSocialLogin}}{{.i18n.Tr "social_sign_in" | Str2html}}{{else}}{{.i18n.Tr "sign_up"}}{{end}}</h2>
         </div>
@@ -40,7 +40,7 @@
             </div>
             <div class="field">
                 <span class="form-label"></span>
-                <a href="{{AppRootSubUrl}}/user/login">{{if .IsSocialLogin}}{{.i18n.Tr "auth.social_register_hepler_msg"}}{{else}}{{.i18n.Tr "auth.register_hepler_msg"}}{{end}}</a>
+                <a href="{{AppSubUrl}}/user/login">{{if .IsSocialLogin}}{{.i18n.Tr "auth.social_register_hepler_msg"}}{{else}}{{.i18n.Tr "auth.register_hepler_msg"}}{{end}}</a>
             </div>
                {{end}}
         </div>
index db838452da76e21573668d8bd34f2bcc7f440bff..0d728ef451c78419a69bab852a6defb2820506fd 100644 (file)
                 </div>
                 <div class="content left {{if eq .GetOpType 5}}push-news{{end}} grid-4-5">
                     <p class="text-bold">
-                        <a href="{{AppRootSubUrl}}/{{.GetActUserName}}">{{.GetActUserName}}</a>
+                        <a href="{{AppSubUrl}}/{{.GetActUserName}}">{{.GetActUserName}}</a>
                         {{if eq .GetOpType 1}}
-                        {{$.i18n.Tr "action.create_repo" AppRootSubUrl .GetRepoLink .GetRepoLink | Str2html}}
+                        {{$.i18n.Tr "action.create_repo" AppSubUrl .GetRepoLink .GetRepoLink | Str2html}}
                         {{else if eq .GetOpType 5}}
-                        {{$.i18n.Tr "action.commit_repo" AppRootSubUrl .GetRepoLink .GetBranch .GetBranch AppRootSubUrl .GetRepoLink .GetRepoLink | Str2html}}
+                        {{$.i18n.Tr "action.commit_repo" AppSubUrl .GetRepoLink .GetBranch .GetBranch AppSubUrl .GetRepoLink .GetRepoLink | Str2html}}
                         {{else if eq .GetOpType 6}}
                         {{ $index := index .GetIssueInfos 0}}
-                        {{$.i18n.Tr "action.create_issue" AppRootSubUrl .GetRepoLink $index .GetRepoLink $index | Str2html}}
+                        {{$.i18n.Tr "action.create_issue" AppSubUrl .GetRepoLink $index .GetRepoLink $index | Str2html}}
                         {{else if eq .GetOpType 10}}
                         {{ $index := index .GetIssueInfos 0}}
-                        {{$.i18n.Tr "action.comment_issue" AppRootSubUrl .GetRepoLink $index .GetRepoLink $index | Str2html}}
+                        {{$.i18n.Tr "action.comment_issue" AppSubUrl .GetRepoLink $index .GetRepoLink $index | Str2html}}
                         {{end}}
                     </p>
                     {{if eq .GetOpType 5}}
@@ -31,7 +31,7 @@
                             {{ $push := ActionContent2Commits .}}
                             {{ $repoLink := .GetRepoLink}}
                             {{range $push.Commits}}
-                            <li><img class="avatar-16" src="{{AvatarLink .AuthorEmail}}?s=16"> <a href="{{AppRootSubUrl}}/{{$repoLink}}/commit/{{.Sha1}}">{{ShortSha .Sha1}}</a> <span class="text-truncate grid-4-5">{{.Message}}</span></li>
+                            <li><img class="avatar-16" src="{{AvatarLink .AuthorEmail}}?s=16"> <a href="{{AppSubUrl}}/{{$repoLink}}/commit/{{.Sha1}}">{{ShortSha .Sha1}}</a> <span class="text-truncate grid-4-5">{{.Message}}</span></li>
                             {{end}}
                         </ul>
                     </div>
@@ -58,9 +58,9 @@
                         <i class="octicon octicon-plus"></i>
                     </button>
                     <ul class="menu menu-vertical drop-down" id="dashboard-new-repo-menu">
-                        <li><a href="{{AppRootSubUrl}}/repo/create"><i class="octicon octicon-repo-create"></i>{{.i18n.Tr "new_repo"}}</a></li>
-                        <li><a href="{{AppRootSubUrl}}/repo/migrate"><i class="octicon octicon-repo-clone"></i>{{.i18n.Tr "new_migrate"}}</a></li>
-                        <li><a href="{{AppRootSubUrl}}/org/create"><i class="octicon octicon-organization"></i>{{.i18n.Tr "new_org"}}</a></li>
+                        <li><a href="{{AppSubUrl}}/repo/create"><i class="octicon octicon-repo-create"></i>{{.i18n.Tr "new_repo"}}</a></li>
+                        <li><a href="{{AppSubUrl}}/repo/migrate"><i class="octicon octicon-repo-clone"></i>{{.i18n.Tr "new_migrate"}}</a></li>
+                        <li><a href="{{AppSubUrl}}/org/create"><i class="octicon octicon-organization"></i>{{.i18n.Tr "new_org"}}</a></li>
                     </ul>
                 </li>
             </ul>
@@ -75,7 +75,7 @@
                     <ul class="list-no-style">
                         {{range .Repos}}
                         <li {{if .IsPrivate}}class="private"{{end}}>
-                            <a href="{{AppRootSubUrl}}/{{$.ContextUser.Name}}/{{.Name}}">
+                            <a href="{{AppSubUrl}}/{{$.ContextUser.Name}}/{{.Name}}">
                                 <i class="octicon octicon-{{if .IsPrivate}}lock{{else if .IsFork}}repo-forked{{else if .IsMirror}}repo-clone{{else}}repo{{end}}"></i>
                                 <span class="repo-name">
                                     <strong class="repo">{{.Name}}</strong>
                     <ul class="list-no-style">
                         {{range .ContextUser.Orgs}}
                         <li>
-                            <a href="{{AppRootSubUrl}}/{{.Name}}">
+                            <a href="{{AppSubUrl}}/{{.Name}}">
                                 <i class="octicon octicon-organization"></i>
                                 <span class="repo-name">
                                     <strong class="repo">{{.Name}}</strong>
                     <ul class="list-no-style">
                         {{range .Mirrors}}
                         <li {{if .IsPrivate}}class="private"{{end}}>
-                            <a href="{{AppRootSubUrl}}/{{$.ContextUser.Name}}/{{.Name}}">
+                            <a href="{{AppSubUrl}}/{{$.ContextUser.Name}}/{{.Name}}">
                                 <i class="octicon octicon-repo-clone"></i>
                                 <span class="repo-name">
                                     <strong class="repo">{{.Name}}</strong>
index 1fbdc71c8b8f3c7bfeb38e96e433c72879a4a2ec..d0820c8ec1a375eb8b353ac5c5d59ba12b4a187d 100644 (file)
@@ -9,7 +9,7 @@
                 <p class="panel-header"><strong>{{.i18n.Tr "home.switch_dashboard_context"}}</strong></p>
                 <ul class="menu menu-vertical switching-list" id="dashboard-switch-menu">
                     <li class="org {{if eq .ContextUser.Id .SignedUser.Id}}checked{{end}}">
-                        <a href="{{AppRootSubUrl}}/">
+                        <a href="{{AppSubUrl}}/">
                             <i class="octicon octicon-check"></i>
                             <img class="avatar-24" src="{{.SignedUser.AvatarLink}}" alt="user-avatar" />
                             {{.SignedUser.Name}}
                     </li>
                     {{end}}
                     <!-- <li>
-                        <a href="{{AppRootSubUrl}}/user/settings/orgs"><i class="octicon octicon-organization"></i>{{.i18n.Tr "manage_org"}}</a>
+                        <a href="{{AppSubUrl}}/user/settings/orgs"><i class="octicon octicon-organization"></i>{{.i18n.Tr "manage_org"}}</a>
                     </li> -->
                     <li>
-                        <a href="{{AppRootSubUrl}}/org/create"><i class="octicon octicon-plus"></i>{{.i18n.Tr "new_org"}}</a>
+                        <a href="{{AppSubUrl}}/org/create"><i class="octicon octicon-plus"></i>{{.i18n.Tr "new_org"}}</a>
                     </li>
                 </ul>
             </div>
index 19b0526c1712f22e304dbfdd30094b71875c73b4..4549203930ad653700de5d972ea09827bd2ac4dd 100644 (file)
@@ -3,10 +3,10 @@
 <div id="body-nav">
     <div class="container">
         <ul class="nav nav-pills pull-right">
-            <li><a href="{{AppRootSubUrl}}/">News Feed</a></li>
-            <li class="active"><a href="{{AppRootSubUrl}}/issues">Issues</a></li>
-            <!-- <li><a href="{{AppRootSubUrl}}/pulls">Pull Requests</a></li>
-            <li><a href="{{AppRootSubUrl}}/stars">Stars</a></li> -->
+            <li><a href="{{AppSubUrl}}/">News Feed</a></li>
+            <li class="active"><a href="{{AppSubUrl}}/issues">Issues</a></li>
+            <!-- <li><a href="{{AppSubUrl}}/pulls">Pull Requests</a></li>
+            <li><a href="{{AppSubUrl}}/stars">Stars</a></li> -->
         </ul>
         <h3>Your Issues</h3>
     </div>
     <div id="issue">
         <div class="col-md-3 filter-list">
             <ul class="list-unstyled">
-                <li><a href="{{AppRootSubUrl}}/issues?state={{.State}}&repoid={{.RepoId}}"{{if eq .ViewType "all"}} class="active"{{end}}>In your repositories <strong class="pull-right">{{.IssueStats.AllCount}}</strong></a></li>
-                <li><a href="{{AppRootSubUrl}}/issues?type=assigned&repoid={{.RepoId}}&state={{.State}}"{{if eq .ViewType "assigned"}} class="active"{{end}}>Assigned to you <strong class="pull-right">{{.IssueStats.AssignCount}}</strong></a></li>
-                <li><a href="{{AppRootSubUrl}}/issues?type=created_by&repoid={{.RepoId}}&state={{.State}}"{{if eq .ViewType "created_by"}} class="active"{{end}}>Created by you <strong class="pull-right">{{.IssueStats.CreateCount}}</strong></a></li>
+                <li><a href="{{AppSubUrl}}/issues?state={{.State}}&repoid={{.RepoId}}"{{if eq .ViewType "all"}} class="active"{{end}}>In your repositories <strong class="pull-right">{{.IssueStats.AllCount}}</strong></a></li>
+                <li><a href="{{AppSubUrl}}/issues?type=assigned&repoid={{.RepoId}}&state={{.State}}"{{if eq .ViewType "assigned"}} class="active"{{end}}>Assigned to you <strong class="pull-right">{{.IssueStats.AssignCount}}</strong></a></li>
+                <li><a href="{{AppSubUrl}}/issues?type=created_by&repoid={{.RepoId}}&state={{.State}}"{{if eq .ViewType "created_by"}} class="active"{{end}}>Created by you <strong class="pull-right">{{.IssueStats.CreateCount}}</strong></a></li>
                 <li><hr/></li>
                 {{range .Repos}}
-                <li><a href="{{AppRootSubUrl}}/issues?type={{$.ViewType}}{{if eq $.RepoId .Id}}{{else}}&repoid={{.Id}}{{end}}&state={{$.State}}" class="sm{{if eq $.RepoId .Id}} active{{end}}">{{$.SignedUser.Name}}/{{.Name}} <strong class="pull-right">{{if $.IsShowClosed}}{{.NumClosedIssues}}{{else}}{{.NumOpenIssues}}{{end}}</strong></a></li>
+                <li><a href="{{AppSubUrl}}/issues?type={{$.ViewType}}{{if eq $.RepoId .Id}}{{else}}&repoid={{.Id}}{{end}}&state={{$.State}}" class="sm{{if eq $.RepoId .Id}} active{{end}}">{{$.SignedUser.Name}}/{{.Name}} <strong class="pull-right">{{if $.IsShowClosed}}{{.NumClosedIssues}}{{else}}{{.NumOpenIssues}}{{end}}</strong></a></li>
                 {{end}}
             </ul>
         </div>
         <div class="col-md-9">
             <div class="filter-option">
                 <div class="btn-group">
-                    <a class="btn btn-default issue-open{{if not .IsShowClosed}} active{{end}}" href="{{AppRootSubUrl}}/issues?type={{.ViewType}}&repoid={{.RepoId}}">Open</a>
-                    <a class="btn btn-default issue-close{{if .IsShowClosed}} active{{end}}" href="{{AppRootSubUrl}}/issues?type={{.ViewType}}&repoid={{.RepoId}}&state=closed">Closed</a>
+                    <a class="btn btn-default issue-open{{if not .IsShowClosed}} active{{end}}" href="{{AppSubUrl}}/issues?type={{.ViewType}}&repoid={{.RepoId}}">Open</a>
+                    <a class="btn btn-default issue-close{{if .IsShowClosed}} active{{end}}" href="{{AppSubUrl}}/issues?type={{.ViewType}}&repoid={{.RepoId}}&state=closed">Closed</a>
                 </div>
             </div>
             <div class="issues list-group">
                 {{range .Issues}}{{if .}}
                 <div class="list-group-item issue-item" id="issue-{{.Id}}">
                     <span class="number pull-right">#{{.Index}}</span>
-                    <h5 class="title"><a href="{{AppRootSubUrl}}/{{.Repo.Owner.Name}}/{{.Repo.Name}}/issues/{{.Index}}">{{.Name}}</a></h5>
+                    <h5 class="title"><a href="{{AppSubUrl}}/{{.Repo.Owner.Name}}/{{.Repo.Name}}/issues/{{.Index}}">{{.Name}}</a></h5>
                     <p class="info">
                         <span class="author"><img class="avatar" src="{{.Poster.AvatarLink}}" alt="" width="20"/>
-                        <a href="{{AppRootSubUrl}}/user/{{.Poster.Name}}">{{.Poster.Name}}</a></span>
+                        <a href="{{AppSubUrl}}/user/{{.Poster.Name}}">{{.Poster.Name}}</a></span>
                         <span class="time">{{TimeSince .Created $.Lang}}</span>
                         <span class="comment"><i class="fa fa-comments"></i> {{.NumComments}}</span>
                     </p>
index 1b51a871f9e5929ffe02c52c5c143a8ba1673a4a..4e3b32b5f3f736e1a7f08c922315901f864e873d 100644 (file)
@@ -66,7 +66,7 @@
                     <li>
                         <div class="meta pull-right"><!-- <i class="fa fa-star"></i> {{.NumStars}} --> <i class="fa fa-code-fork"></i> {{.NumForks}}</div>
                         <h4>
-                            <a href="{{AppRootSubUrl}}/{{$.Owner.Name}}/{{.Name}}">{{.Name}}{{if .IsPrivate}} <span class="label label-default">Private</span>{{end}}</a>
+                            <a href="{{AppSubUrl}}/{{$.Owner.Name}}/{{.Name}}">{{.Name}}{{if .IsPrivate}} <span class="label label-default">Private</span>{{end}}</a>
                         </h4>
                         <p class="desc">{{.Description}}</p>
                         <div class="info">Last updated {{TimeSince .Updated $.Lang}}</div>
index 78574ba15dea1c1f1f3e27bb2d468477f402fd9b..cc6bf273d7468b00fb1ef04e16c349c9d6d0da0f 100644 (file)
@@ -11,7 +11,7 @@
                         <p class="panel-header"><strong>{{.i18n.Tr "settings.delete_account"}}</strong></p>
                         <div class="panel-body panel-content">
                             <span class="alert alert-red alert-radius block"><i class="octicon octicon-alert"></i>{{.i18n.Tr "settings.delete_prompt" | Str2html}}</span>
-                            <form  action="{{AppRootSubUrl}}/user/settings/delete" method="post">
+                            <form  action="{{AppSubUrl}}/user/settings/delete" method="post">
                                 {{.CsrfTokenHtml}}
                                 <p class="field">
                                     <span class="form-label"></span>
index 52fc83e16503932f4d70e0c36f9ff3192fd30e56..fd60cb538b38f6e61705ef6c90684e88576ac2e4 100644 (file)
@@ -2,11 +2,11 @@
     <p class="panel-header"><strong>{{.i18n.Tr "settings"}}</strong></p>
     <div class="panel-body">
         <ul class="menu menu-vertical switching-list grid-1-5 left">
-            <li {{if .PageIsSettingsProfile}}class="current"{{end}}><a href="{{AppRootSubUrl}}/user/settings">{{.i18n.Tr "settings.profile"}}</a></li>
-            <li {{if .PageIsSettingsPassword}}class="current"{{end}}><a href="{{AppRootSubUrl}}/user/settings/password">{{.i18n.Tr "settings.password"}}</a></li>
-            <li {{if .PageIsSettingsSSHKeys}}class="current"{{end}}><a href="{{AppRootSubUrl}}/user/settings/ssh">{{.i18n.Tr "settings.ssh_keys"}}</a></li>
-            <li {{if .PageIsSettingsSocial}}class="current"{{end}}><a href="{{AppRootSubUrl}}/user/settings/social">{{.i18n.Tr "settings.social"}}</a></li>
-            <li {{if .PageIsSettingsDelete}}class="current"{{end}}><a href="{{AppRootSubUrl}}/user/settings/delete">{{.i18n.Tr "settings.delete"}}</a></li>
+            <li {{if .PageIsSettingsProfile}}class="current"{{end}}><a href="{{AppSubUrl}}/user/settings">{{.i18n.Tr "settings.profile"}}</a></li>
+            <li {{if .PageIsSettingsPassword}}class="current"{{end}}><a href="{{AppSubUrl}}/user/settings/password">{{.i18n.Tr "settings.password"}}</a></li>
+            <li {{if .PageIsSettingsSSHKeys}}class="current"{{end}}><a href="{{AppSubUrl}}/user/settings/ssh">{{.i18n.Tr "settings.ssh_keys"}}</a></li>
+            <li {{if .PageIsSettingsSocial}}class="current"{{end}}><a href="{{AppSubUrl}}/user/settings/social">{{.i18n.Tr "settings.social"}}</a></li>
+            <li {{if .PageIsSettingsDelete}}class="current"{{end}}><a href="{{AppSubUrl}}/user/settings/delete">{{.i18n.Tr "settings.delete"}}</a></li>
         </ul>
     </div>
 </div>
\ No newline at end of file
index ccafd3edaa1f6bd7ca57e4e23436a045a76558d9..4f2f63e4b9ccfa7fe3f07a331e26034438c441d3 100644 (file)
@@ -9,7 +9,7 @@
                 <div id="setting-content">
                     <div id="user-profile-setting-content" class="panel panel-radius">
                         <p class="panel-header"><strong>{{.i18n.Tr "settings.change_password"}}</strong></p>
-                        <form class="form form-align panel-body" id="user-profile-form" action="{{AppRootSubUrl}}/user/settings/password" method="post">
+                        <form class="form form-align panel-body" id="user-profile-form" action="{{AppSubUrl}}/user/settings/password" method="post">
                             {{.CsrfTokenHtml}}
                             <p class="field">
                                 <label class="req" for="old-password">{{.i18n.Tr "settings.old_password"}}</label>
index e344fb9a8fb6b935eebf0c83300ef5666d7d037f..577b6ee239474b546659735eaee494edff9fae93 100644 (file)
@@ -11,7 +11,7 @@
                         <div class="panel-header">
                             <strong>{{.i18n.Tr "settings.public_profile"}}</strong>
                         </div>
-                        <form class="form form-align panel-body" id="user-profile-form" action="{{AppRootSubUrl}}/user/settings" method="post">
+                        <form class="form form-align panel-body" id="user-profile-form" action="{{AppSubUrl}}/user/settings" method="post">
                             {{.CsrfTokenHtml}}
                                <div class="text-center panel-desc">{{.i18n.Tr "settings.profile_desc"}}</div>
                             <div class="field">
index a2585922c404c30b9c826cf2846a28ecc174aeb7..7514b23230efbf72078dadefe711c707dc1f31c6 100644 (file)
@@ -20,7 +20,7 @@
                                     <p class="print">{{.Identity}}</p>
                                     <p class="activity"><i>{{$.i18n.Tr "settings.add_on"}} {{DateFormat .Created "M d, Y"}} —  <i class="octicon octicon-info"></i>{{$.i18n.Tr "settings.last_used"}} {{DateFormat .Updated "M d, Y"}}</i></p>
                                 </div>
-                                <a class="right btn btn-small btn-red btn-header btn-radius" href="{{AppRootSubUrl}}/user/settings/social?remove={{.Id}}">{{$.i18n.Tr "settings.unbind"}}</a>
+                                <a class="right btn btn-small btn-red btn-header btn-radius" href="{{AppSubUrl}}/user/settings/social?remove={{.Id}}">{{$.i18n.Tr "settings.unbind"}}</a>
                             </li>
                             {{end}}
                         </ul>
index 2d1861210baeea4f66a0669d47559b5a6797becd..188f078a2781303d13ba39f90eb5cb30f1dd1066 100644 (file)
@@ -23,7 +23,7 @@
                                     <p class="print">{{.Fingerprint}}</p>
                                     <p class="activity"><i>{{$.i18n.Tr "settings.add_on"}} {{DateFormat .Created "M d, Y"}} —  <i class="octicon octicon-info"></i>{{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} {{DateFormat .Updated "M d, Y"}}{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i></p>
                                 </div>
-                                <form action="{{AppRootSubUrl}}/user/settings/ssh" method="post">
+                                <form action="{{AppSubUrl}}/user/settings/ssh" method="post">
                                     {{$.CsrfTokenHtml}}
                                     <input name="_method" type="hidden" value="DELETE">
                                     <input name="id" type="hidden" value="{{.Id}}">
@@ -35,7 +35,7 @@
                     </div>
                     <p>{{.i18n.Tr "settings.ssh_helper" | Str2html}}</p>
                     <br>
-                    <form class="panel panel-radius form form-align hide" id="user-ssh-add-form" action="{{AppRootSubUrl}}/user/settings/ssh" method="post">
+                    <form class="panel panel-radius form form-align hide" id="user-ssh-add-form" action="{{AppSubUrl}}/user/settings/ssh" method="post">
                         {{.CsrfTokenHtml}}
                         <p class="panel-header"><strong>{{.i18n.Tr "settings.add_new_key"}}</strong></p>
                         <div class="panel-body">