Skip to content

Commit 48d9656

Browse files
authored
Merge pull request #11 from LeetaoGoooo/style-refactor
fix list style && refactor ui && support favicon and better slug
2 parents d709b71 + 9e188db commit 48d9656

File tree

7 files changed

+33
-13
lines changed

7 files changed

+33
-13
lines changed

core/api_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package core
33
import "testing"
44

55
func TestApi(t *testing.T) {
6-
api := NewApi("username", "repor", "token")
6+
api := NewApi("username", "repo", "token")
77
t.Run("TestApiCategories", func(t *testing.T) {
88
categories, err := api.FetchCategories("", "")
99
if err != nil {

go.mod

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ require (
1212
github.com/go-redis/redis/v8 v8.11.4 // indirect
1313
github.com/goccy/go-json v0.9.7 // indirect
1414
github.com/golang/protobuf v1.5.2 // indirect
15+
github.com/gosimple/slug v1.13.1 // indirect
16+
github.com/gosimple/unidecode v1.0.1 // indirect
1517
github.com/jellydator/ttlcache/v2 v2.11.1 // indirect
1618
github.com/json-iterator/go v1.1.12 // indirect
1719
github.com/leodido/go-urn v1.2.1 // indirect

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
5353
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
5454
github.com/gorilla/feeds v1.1.1 h1:HwKXxqzcRNg9to+BbvJog4+f3s/xzvtZXICcQGutYfY=
5555
github.com/gorilla/feeds v1.1.1/go.mod h1:Nk0jZrvPFZX1OBe5NPiddPw7CfwF6Q9eqzaBbaightA=
56+
github.com/gosimple/slug v1.13.1 h1:bQ+kpX9Qa6tHRaK+fZR0A0M2Kd7Pa5eHPPsb1JpHD+Q=
57+
github.com/gosimple/slug v1.13.1/go.mod h1:UiRaFH+GEilHstLUmcBgWcI42viBN7mAb818JrYOeFQ=
58+
github.com/gosimple/unidecode v1.0.1 h1:hZzFTMMqSswvf0LBJZCZgThIZrpDHFXux9KeGmn6T/o=
59+
github.com/gosimple/unidecode v1.0.1/go.mod h1:CP0Cr1Y1kogOtx0bJblKzsVWrqYaqfNOnHzpgWw4Awc=
5660
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
5761
github.com/jellydator/ttlcache/v2 v2.11.1 h1:AZGME43Eh2Vv3giG6GeqeLeFXxwxn1/qHItqWZl6U64=
5862
github.com/jellydator/ttlcache/v2 v2.11.1/go.mod h1:RtE5Snf0/57e+2cLWFYWCCsLas2Hy3c5Z4n14XmSvTI=

main.go

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"github.com/chenyahui/gin-cache/persist"
1313
"github.com/gin-gonic/gin"
1414
"github.com/gorilla/feeds"
15+
"github.com/gosimple/slug"
1516
"github.com/shurcooL/githubv4"
1617
"gopkg.in/yaml.v2"
1718
)
@@ -96,6 +97,9 @@ var funcMap = template.FuncMap{
9697
}
9798
return false
9899
},
100+
"slug": func(title githubv4.String) string {
101+
return slug.Make(string(title))
102+
},
99103
}
100104

101105
func FetchPosts(c *gin.Context) {
@@ -199,13 +203,13 @@ func GenerateFeed(c *gin.Context) {
199203
return
200204
}
201205

202-
for _, disdiscussion := range discussions.Nodes {
206+
for _, discussion := range discussions.Nodes {
203207
feed.Items = append(feed.Items, &feeds.Item{
204-
Title: string(disdiscussion.Title),
205-
Description: string([]rune(disdiscussion.Body)[:200]),
208+
Title: string(discussion.Title),
209+
Description: string([]rune(discussion.Body)[:200]),
206210
Author: &feeds.Author{Name: config.Website.Name, Email: config.Website.Email},
207-
Created: disdiscussion.CreatedAt.Time,
208-
Link: &feeds.Link{Href: fmt.Sprintf("%s/post/%d/%s", config.Website.Host, disdiscussion.Number, disdiscussion.Title)},
211+
Created: discussion.CreatedAt.Time,
212+
Link: &feeds.Link{Href: fmt.Sprintf("%s/post/%d/%s", config.Website.Host, discussion.Number, discussion.Title)},
209213
})
210214
}
211215

@@ -218,6 +222,7 @@ func main() {
218222
r.SetFuncMap(funcMap)
219223
r.LoadHTMLGlob("templates/**/*")
220224
r.Static("/css", "templates/css")
225+
r.StaticFile("/favicon.ico", "templates/favicon.ico")
221226
r.GET("/", cache.CacheByRequestURI(memoryCache, 30*time.Second), FetchPosts)
222227
r.GET("/category/:category_id/:category_name", cache.CacheByRequestURI(memoryCache, 30*time.Second), FetchPosts)
223228
r.GET("/post/:id/:title", cache.CacheByRequestURI(memoryCache, 1*time.Hour), FetchPost)

templates/base/navbar.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<div class="md:flex md:items-center md:w-auto w-full order-3 md:order-1" id="menu">
44
<nav>
55
<ul
6-
class="flex rounded-full bg-white/90 px-3 text-sm font-medium text-zinc-800 shadow-lg shadow-zinc-800/5 ring-1 ring-zinc-900/5 backdrop-blur dark:bg-zinc-800/90 dark:text-zinc-200 dark:ring-white/10">
6+
class="flex rounded-full bg-white/90 px-3 text-sm font-medium text-zinc-800 shadow-lg shadow-zinc-800/5 ring-1 ring-zinc-900/5 backdrop-blur dark:bg-zinc-800/90 dark:text-zinc-200 dark:ring-white/10 list-none">
77
<li><a class="relative block px-3 py-2 transition hover:text-teal-500 dark:hover:text-teal-400 item-menu"
88
href="/">Home</a></li>
99
{{ range $index, $Navbar := .Navbars }}

templates/pages/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ <h1 class="text-4xl font-bold tracking-tight text-zinc-800 dark:text-zinc-100 sm
8080
<h2 class="text-base font-semibold tracking-tight text-zinc-800 dark:text-zinc-100">
8181
<div
8282
class="absolute -inset-y-6 -inset-x-4 z-0 scale-95 bg-zinc-50 opacity-0 transition dark:bg-zinc-800/50 sm:-inset-x-6 sm:rounded-2xl">
83-
</div><a href="/post/{{.Number}}/{{.Title}}"><span
83+
</div><a href="/post/{{.Number}}/{{.Title | slug }}"><span
8484
class="absolute -inset-y-6 -inset-x-4 z-20 sm:-inset-x-6 sm:rounded-2xl"></span><span
8585
class="relative z-10">{{ .Title}}</span></a>
8686
</h2>
@@ -112,7 +112,7 @@ <h2 class="text-base font-semibold tracking-tight text-zinc-800 dark:text-zinc-1
112112
{{ if .Posts.PageInfo.HasPreviousPage }}
113113
<a class="px-2 py-1 text-3xl leading-6 text-slate-400 transition cursor-pointer "
114114
href="/?pre={{.Posts.PageInfo.StartCursor}}">
115-
< </a>
115+
</a>
116116
{{ end }}
117117
{{ if .Posts.PageInfo.HasNextPage}}
118118
<a class="px-2 py-1 text-3xl leading-6 text-slate-400 transition cursor-pointer"

templates/pages/post.html

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,19 @@
55
<meta charSet="utf-8" />
66
<meta name="viewport" content="width=device-width" />
77
<title>{{ .Post.Title }}</title>
8-
<meta property="og:description" content="{{ .Post.BodyText | previewContent}}" />
9-
<meta property="og:title" content="{{ .Post.Title }}" />
8+
<meta property="description" content="{{ .Post.BodyText | previewContent}}" />
9+
<meta property="title" content="{{ .Post.Title }}" />
1010

1111
<script src="https://cdn.tailwindcss.com"></script>
12+
<style type="text/tailwindcss">
13+
@layer base {
14+
ul {
15+
list-style: disc;
16+
margin: 0;
17+
padding: 0;
18+
}
19+
}
20+
</style>
1221
</head>
1322

1423
<body class="flex flex-col bg-zinc-50 dark:bg-black">
@@ -25,15 +34,15 @@
2534
</div>
2635
</div>
2736
<main>
28-
<div class="sm:px-8 mt-16 lg:mt-32">
37+
<div class="sm:px-8">
2938
<div class="mx-auto max-w-7xl lg:px-8">
3039
<div class="relative px-4 sm:px-8 lg:px-12">
3140
<div class="mx-auto max-w-2xl lg:max-w-5xl">
3241
<div class="xl:relative">
3342
<div class="mx-auto max-w-2xl">
3443
<article class="dark:text-white">
3544
<header class="flex flex-col">
36-
<h2
45+
<h1
3746
class="mt-6 text-4xl font-bold tracking-tight text-zinc-800 dark:text-zinc-100 sm:text-5xl">
3847
{{ .Post.Title }}</h1>
3948
<div class="flex w-full items-center justify-between pb-3 mt-6">

0 commit comments

Comments
 (0)