feat(ui): Repository description improvements (#12)
commit15b62e9aacAuthor: Minecon724 <minecon724@noreply.git.m724.eu> Date: Sat Sep 13 10:00:57 2025 +0000 Show repo description if empty commitc23300fadbAuthor: Minecon724 <minecon724@noreply.git.m724.eu> Date: Sat Sep 13 09:57:22 2025 +0000 Add an icon to repository link commit7aef45e8ddAuthor: Minecon724 <minecon724@noreply.git.m724.eu> Date: Sat Sep 13 09:56:49 2025 +0000 Darken No description placeholder
This commit is contained in:
		
					parent
					
						
							
								396a61cf37
							
						
					
				
			
			
				commit
				
					
						4d10f6261d
					
				
			
		
					 5 changed files with 48 additions and 33 deletions
				
			
		| 
						 | 
				
			
			@ -984,6 +984,9 @@ func renderHomeCode(ctx *context.Context) {
 | 
			
		|||
	ctx.Data["RepositoryUploadEnabled"] = setting.Repository.Upload.Enabled
 | 
			
		||||
	prepareOpenWithEditorApps(ctx)
 | 
			
		||||
 | 
			
		||||
	// Get Topics of this repo
 | 
			
		||||
	renderRepoTopics(ctx)
 | 
			
		||||
 | 
			
		||||
	if ctx.Repo.Commit == nil || ctx.Repo.Repository.IsEmpty || ctx.Repo.Repository.IsBroken() {
 | 
			
		||||
		showEmpty := true
 | 
			
		||||
		var err error
 | 
			
		||||
| 
						 | 
				
			
			@ -1032,8 +1035,6 @@ func renderHomeCode(ctx *context.Context) {
 | 
			
		|||
	}
 | 
			
		||||
	ctx.Data["Title"] = title
 | 
			
		||||
 | 
			
		||||
	// Get Topics of this repo
 | 
			
		||||
	renderRepoTopics(ctx)
 | 
			
		||||
	if ctx.Written() {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										37
									
								
								templates/repo/description.tmpl
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								templates/repo/description.tmpl
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,37 @@
 | 
			
		|||
<div class="tw-mb-4"> {{/* Magic number warning */}}
 | 
			
		||||
    <div class="repo-description">
 | 
			
		||||
    	<div id="repo-desc" class="tw-break-anywhere tw-text-16">
 | 
			
		||||
		    {{$description := .Repository.DescriptionHTML $.Context}}
 | 
			
		||||
		    {{if $description}}<span class="description">{{$description | RenderCodeBlock}}</span>{{else}}<span class="no-description text-italic">{{ctx.Locale.Tr "repo.no_desc"}}</span>{{end}}
 | 
			
		||||
		    {{if .Repository.Website}}
 | 
			
		||||
    			<a class="link tw-mt-1 tw-flex tw-items-center tw-gap-1" href="{{.Repository.Website}}">{{svg "octicon-globe"}} {{.Repository.Website}}</a>
 | 
			
		||||
		    {{end}}
 | 
			
		||||
	    </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <div class="repo-topics tw-my-2" id="repo-topics">
 | 
			
		||||
		{{range .Topics}}
 | 
			
		||||
			<a class="repo-topic ui large label" href="{{AppSubUrl}}/explore/repos?q={{.Name}}&topic=1">{{.Name}}</a>
 | 
			
		||||
		{{end}}
 | 
			
		||||
		{{if and .Permission.IsAdmin (not .Repository.IsArchived)}}
 | 
			
		||||
			<button id="manage_topic" class="btn interact-fg tw-text-12">{{ctx.Locale.Tr "repo.topic.manage_topics"}}</button>
 | 
			
		||||
		{{end}}
 | 
			
		||||
	</div>
 | 
			
		||||
 | 
			
		||||
    {{if and .Permission.IsAdmin (not .Repository.IsArchived)}}
 | 
			
		||||
        <div class="ui form tw-hidden tw-flex tw-gap-2 tw-my-3" id="topic_edit">
 | 
			
		||||
		    <div class="ui fluid multiple search selection dropdown tw-flex-wrap tw-flex-1">
 | 
			
		||||
    			<input type="hidden" name="topics" value="{{range $i, $v := .Topics}}{{.Name}}{{if Eval $i "+" 1 "<" (len $.Topics)}},{{end}}{{end}}">
 | 
			
		||||
			    {{range .Topics}}
 | 
			
		||||
    				{{/* keep the same layout as Fomantic UI generated labels */}}
 | 
			
		||||
				    <a class="ui label transition visible tw-cursor-default tw-inline-block" data-value="{{.Name}}">{{.Name}}{{svg "octicon-x" 16 "delete icon"}}</a>
 | 
			
		||||
			    {{end}}
 | 
			
		||||
			    <div class="text"></div>
 | 
			
		||||
		    </div>
 | 
			
		||||
		    <div>
 | 
			
		||||
    			<button class="ui basic button" id="cancel_topic_edit">{{ctx.Locale.Tr "cancel"}}</button>
 | 
			
		||||
			    <button class="ui primary button" id="save_topic" data-link="{{.RepoLink}}/topics">{{ctx.Locale.Tr "save"}}</button>
 | 
			
		||||
		    </div>
 | 
			
		||||
	    </div>
 | 
			
		||||
    {{end}}
 | 
			
		||||
</div>
 | 
			
		||||
| 
						 | 
				
			
			@ -14,6 +14,9 @@
 | 
			
		|||
						{{end}}
 | 
			
		||||
					</div>
 | 
			
		||||
				{{end}}
 | 
			
		||||
				{{if not .HideRepoInfo}}
 | 
			
		||||
					{{template "repo/description" .}}
 | 
			
		||||
				{{end}}
 | 
			
		||||
				{{if .Repository.IsBroken}}
 | 
			
		||||
						<div class="ui segment center">
 | 
			
		||||
							{{ctx.Locale.Tr "repo.broken_message"}}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,37 +4,7 @@
 | 
			
		|||
	<div class="ui container {{if .IsBlame}}fluid padded{{end}}">
 | 
			
		||||
		{{template "base/alert" .}}
 | 
			
		||||
		{{if and (not .HideRepoInfo) (not .IsBlame)}}
 | 
			
		||||
		<div class="repo-description">
 | 
			
		||||
			<div id="repo-desc" class="tw-break-anywhere tw-text-16">
 | 
			
		||||
				{{$description := .Repository.DescriptionHTML $.Context}}
 | 
			
		||||
				{{if $description}}<span class="description">{{$description | RenderCodeBlock}}</span>{{else}}<span class="no-description text-italic">{{ctx.Locale.Tr "repo.no_desc"}}</span>{{end}}
 | 
			
		||||
				{{if .Repository.Website}}<a class="link" href="{{.Repository.Website}}">{{.Repository.Website}}</a>{{end}}
 | 
			
		||||
			</div>
 | 
			
		||||
		</div>
 | 
			
		||||
		<div class="repo-topics tw-my-2" id="repo-topics">
 | 
			
		||||
			{{range .Topics}}
 | 
			
		||||
				<a class="repo-topic ui large label" href="{{AppSubUrl}}/explore/repos?q={{.Name}}&topic=1">{{.Name}}</a>
 | 
			
		||||
			{{end}}
 | 
			
		||||
			{{if and .Permission.IsAdmin (not .Repository.IsArchived)}}
 | 
			
		||||
				<button id="manage_topic" class="btn interact-fg tw-text-12">{{ctx.Locale.Tr "repo.topic.manage_topics"}}</button>
 | 
			
		||||
			{{end}}
 | 
			
		||||
		</div>
 | 
			
		||||
		{{end}}
 | 
			
		||||
		{{if and .Permission.IsAdmin (not .Repository.IsArchived)}}
 | 
			
		||||
		<div class="ui form tw-hidden tw-flex tw-gap-2 tw-my-2" id="topic_edit">
 | 
			
		||||
			<div class="ui fluid multiple search selection dropdown tw-flex-wrap tw-flex-1">
 | 
			
		||||
				<input type="hidden" name="topics" value="{{range $i, $v := .Topics}}{{.Name}}{{if Eval $i "+" 1 "<" (len $.Topics)}},{{end}}{{end}}">
 | 
			
		||||
				{{range .Topics}}
 | 
			
		||||
					{{/* keep the same layout as Fomantic UI generated labels */}}
 | 
			
		||||
					<a class="ui label transition visible tw-cursor-default tw-inline-block" data-value="{{.Name}}">{{.Name}}{{svg "octicon-x" 16 "delete icon"}}</a>
 | 
			
		||||
				{{end}}
 | 
			
		||||
				<div class="text"></div>
 | 
			
		||||
			</div>
 | 
			
		||||
			<div>
 | 
			
		||||
				<button class="ui basic button" id="cancel_topic_edit">{{ctx.Locale.Tr "cancel"}}</button>
 | 
			
		||||
				<button class="ui primary button" id="save_topic" data-link="{{.RepoLink}}/topics">{{ctx.Locale.Tr "save"}}</button>
 | 
			
		||||
			</div>
 | 
			
		||||
		</div>
 | 
			
		||||
			{{template "repo/description" .}}
 | 
			
		||||
		{{end}}
 | 
			
		||||
 | 
			
		||||
		{{if RepoFlagsEnabled}}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2815,3 +2815,7 @@ tbody.commit-list {
 | 
			
		|||
#repo-activity-top-authors-chart {
 | 
			
		||||
  height: 150px; /* Pre-allocate the height that will be taken up by the chart, to avoid the container 'jumping'. */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.no-description {
 | 
			
		||||
  color: var(--color-text-light-3);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue