Add go-source directive to repo pages

This makes Gogs repos work with godoc.org: https://github.com/golang/gddo/wiki/Source-Code-Links
pull/197/head
Nathan Zadoks 9 years ago
parent 102b675f96
commit 4323a89c03
  1. 2
      modules/middleware/repo.go
  2. 1
      templates/base/head.tmpl
  3. 5
      templates/ng/base/head.tmpl

@ -347,6 +347,8 @@ func RepoAssignment(redirect bool, args ...bool) macaron.Handler {
if ctx.Query("go-get") == "1" {
ctx.Data["GoGetImport"] = fmt.Sprintf("%s/%s/%s", setting.Domain, u.Name, repo.Name)
ctx.Data["GoDocDirectory"] = fmt.Sprintf("%s%s/%s/src/master{/dir}", setting.AppUrl, repo.Owner.LowerName, repo.LowerName)
ctx.Data["GoDocFile"] = fmt.Sprintf("%s%s/%s/src/master{/dir}/{file}#L{line}", setting.AppUrl, repo.Owner.LowerName, repo.LowerName)
}
if ctx.IsSigned {

@ -11,6 +11,7 @@
<meta name="_suburl" content="{{AppSubUrl}}" />
{{if .GoGetImport}}
<meta name="go-import" content="{{.GoGetImport}} git {{.CloneLink.HTTPS}}">
<meta name="go-source" content="{{.GoGetImport}} _ {{.GoDocDirectory}} {{.GoDocFile}}">
{{end}}
<link rel="shortcut icon" href="{{AppSubUrl}}/img/favicon.png" />

@ -8,7 +8,10 @@
<meta name="keywords" content="go, git, self-hosted, gogs">
<meta name="referrer" content="no-referrer" />
<meta name="_csrf" content="{{.CsrfToken}}" />
{{if .GoGetImport}}<meta name="go-import" content="{{.GoGetImport}} git {{.CloneLink.HTTPS}}">{{end}}
{{if .GoGetImport}}
<meta name="go-import" content="{{.GoGetImport}} git {{.CloneLink.HTTPS}}">
<meta name="go-source" content="{{.GoGetImport}} _ {{.GoDocDirectory}} {{.GoDocFile}}">
{{end}}
<link rel="shortcut icon" href="{{AppSubUrl}}/img/favicon.png" />

Loading…
Cancel
Save