From 3f676760599896f168e454d132b368658751974a Mon Sep 17 00:00:00 2001 From: Andrew <write@imaginarycode.com> Date: Sat, 11 Feb 2017 07:57:33 -0500 Subject: [PATCH] Implement basic Open Graph support. (#901) --- models/user.go | 5 +++++ templates/base/head.tmpl | 24 ++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/models/user.go b/models/user.go index c7ceacaa6..0e1710de7 100644 --- a/models/user.go +++ b/models/user.go @@ -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( diff --git a/templates/base/head.tmpl b/templates/base/head.tmpl index 18805953b..f4b883335 100644 --- a/templates/base/head.tmpl +++ b/templates/base/head.tmpl @@ -46,6 +46,30 @@ <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">