aboutsummaryrefslogtreecommitdiffstats
path: root/routers/web/org
diff options
context:
space:
mode:
author6543 <m.huber@kithara.com>2023-11-09 15:05:52 +0100
committerGitHub <noreply@github.com>2023-11-09 14:05:52 +0000
commit603573366a203efae06f818a0b220be964cdac21 (patch)
tree9b73cda22605aba5a0f08d256b2689cef0427ea0 /routers/web/org
parent16ba16dbe951763cfc026b7351e26009d1a25fdc (diff)
downloadgitea-603573366a203efae06f818a0b220be964cdac21.tar.gz
gitea-603573366a203efae06f818a0b220be964cdac21.zip
Add Profile Readme for Organisations (#27955)
https://blog.gitea.com/release-of-1.20.0/#-user-profile-readme-23260 (#23260) did introduce Profile Readme for Users. This makes it usable for Organisations: ![image](https://github.com/go-gitea/gitea/assets/24977596/464ab58b-a952-414b-8a34-6deaeb4f7d35) --- *Sponsored by Kithara Software GmbH* --------- Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
Diffstat (limited to 'routers/web/org')
-rw-r--r--routers/web/org/home.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/routers/web/org/home.go b/routers/web/org/home.go
index ec866eb6b3..4a8ebb670a 100644
--- a/routers/web/org/home.go
+++ b/routers/web/org/home.go
@@ -13,6 +13,8 @@ import (
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/base"
"code.gitea.io/gitea/modules/context"
+ "code.gitea.io/gitea/modules/git"
+ "code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/markup"
"code.gitea.io/gitea/modules/markup/markdown"
"code.gitea.io/gitea/modules/setting"
@@ -155,5 +157,29 @@ func Home(ctx *context.Context) {
ctx.Data["ShowMemberAndTeamTab"] = ctx.Org.IsMember || len(members) > 0
+ profileGitRepo, profileReadmeBlob, profileClose := shared_user.FindUserProfileReadme(ctx)
+ defer profileClose()
+ prepareOrgProfileReadme(ctx, profileGitRepo, profileReadmeBlob)
+
ctx.HTML(http.StatusOK, tplOrgHome)
}
+
+func prepareOrgProfileReadme(ctx *context.Context, profileGitRepo *git.Repository, profileReadme *git.Blob) {
+ if profileGitRepo == nil || profileReadme == nil {
+ return
+ }
+
+ if bytes, err := profileReadme.GetBlobContent(setting.UI.MaxDisplayFileSize); err != nil {
+ log.Error("failed to GetBlobContent: %v", err)
+ } else {
+ if profileContent, err := markdown.RenderString(&markup.RenderContext{
+ Ctx: ctx,
+ GitRepo: profileGitRepo,
+ Metas: map[string]string{"mode": "document"},
+ }, bytes); err != nil {
+ log.Error("failed to RenderString: %v", err)
+ } else {
+ ctx.Data["ProfileReadme"] = profileContent
+ }
+ }
+}