]> source.dussan.org Git - gitea.git/commitdiff
Implement basic Open Graph support. (#901)
authorAndrew <write@imaginarycode.com>
Sat, 11 Feb 2017 12:57:33 +0000 (07:57 -0500)
committerLunny Xiao <xiaolunwen@gmail.com>
Sat, 11 Feb 2017 12:57:33 +0000 (20:57 +0800)
models/user.go
templates/base/head.tmpl

index c7ceacaa6b7bdb646be8e13d540d15edbaf64452..0e1710de7e1eb744b76e7e1a67cd2cf247507c8f 100644 (file)
@@ -252,6 +252,11 @@ func (u *User) HomeLink() string {
        return setting.AppSubURL + "/" + u.Name
 }
 
+// HTMLURL returns the user or organization's full link.
+func (u *User) HTMLURL() string {
+       return setting.AppURL + u.Name
+}
+
 // GenerateEmailActivateCode generates an activate code based on user information and given e-mail.
 func (u *User) GenerateEmailActivateCode(email string) string {
        code := base.CreateTimeLimitCode(
index 18805953b44de266fc853c59ac141f037f8ae4ee..f4b883335ec20da5f97ad1f86482bccf6fb5216c 100644 (file)
        <link rel="stylesheet" href="{{AppSubUrl}}/plugins/dropzone-4.2.0/dropzone.css">
 {{end}}
        <style class="list-search-style"></style>
+
+       <!-- Open Graph -->
+{{if .PageIsUserProfile}}
+       <meta property="og:title" content="{{.Owner.Name}}" />
+       <meta property="og:type" content="profile" />
+       <meta property="og:image" content="{{.Owner.AvatarLink}}" />
+       <meta property="og:url" content="{{.Owner.HTMLURL}}" />
+       <meta property="og:site_name" content="{{AppName}}" />
+{{else if .Repository}}
+       <meta property="og:title" content="{{.Repository.Name}}" />
+       <meta property="og:type" content="object" />
+       <meta property="og:image" content="{{.Repository.Owner.AvatarLink}}" />
+       <meta property="og:url" content="{{.Repository.HTMLURL}}" />
+       {{if .Repository.Description}}
+       <meta property="og:description" content="{{.Repository.Description}}" />
+       {{end}}
+       <meta property="og:site_name" content="{{AppName}}" />
+{{else}}
+       <meta property="og:title" content="{{AppName}}">
+       <meta property="og:type" content="website" />
+       <meta property="og:image" content="{{AppSubUrl}}/img/gitea-lg.png" />
+       <meta property="og:url" content="{{AppUrl}}" />
+       <meta property="og:description" content="Gitea (Git with a cup of tea) is a painless self-hosted Git service written in Go">
+{{end}}
 </head>
 <body>
        <div class="full height">