add badges to article view

This commit is contained in:
2025-01-06 18:45:44 +01:00
parent d63ee8dcf2
commit f3125561eb
2 changed files with 20 additions and 2 deletions

View File

@@ -5,7 +5,10 @@
<div class="card p-2 m-4" style=""> <div class="card p-2 m-4" style="">
<div class="card-body"> <div class="card-body">
<h5 class="card-title">{{ .Title }}</h5> <h5 class="card-title">{{ .Title }}</h5>
<h6 class="card-subtitle mb-2 text-body-secondary">{{ .Author }} - {{ .PublishDate }}</h6> <h6 class="card-subtitle mb-2 text-body-secondary">
<span class="badge text-bg-secondary">{{ .ShortSource }}</span>
<span class="badge text-bg-secondary">{{ .PublishDate }}</span>
</h6>
<p class="card-text">{{ .Summary }}</p> <p class="card-text">{{ .Summary }}</p>
<a href="{{ .SourceUrl }}" class="card-link">Link</a> <a href="{{ .SourceUrl }}" class="card-link">Link</a>
</div> </div>

View File

@@ -2,6 +2,8 @@ package model
import ( import (
"time" "time"
//"strings"
"net/url"
) )
@@ -22,6 +24,7 @@ type ArticleViewModel struct {
Author string Author string
PublishDate string PublishDate string
SourceUrl string SourceUrl string
ShortSource string
Summary string Summary string
} }
@@ -33,11 +36,23 @@ func (a *Article) ViewModel() *ArticleViewModel {
summary = summary[:300] summary = summary[:300]
} }
short_url := ""
parsedURL, err := url.Parse(a.SourceUrl)
if err == nil {
short_url = parsedURL.Hostname()
//hostParts := strings.Split(short_url, ".")
//if len(hostParts) >= 2 {
// short_url = strings.Join(hostParts[len(hostParts)-2:], ".")
//}
}
return &ArticleViewModel{ return &ArticleViewModel{
Title: a.Title, Title: a.Title,
Author: a.Author, Author: a.Author,
PublishDate: a.PublishDate.Local().Format("02.01.2006 15:04"), PublishDate: a.PublishDate.Local().Format("02.01.2006"),
SourceUrl: a.SourceUrl, SourceUrl: a.SourceUrl,
ShortSource: short_url,
Summary: summary, Summary: summary,
} }
} }