@@ -3,6 +3,7 @@ import Link from 'next/link'
3
3
import React from 'react'
4
4
import TagItemMini from './TagItemMini'
5
5
import CONFIG_MATERY from '../config_matery'
6
+ import TwikooCommentCount from '@/components/TwikooCommentCount'
6
7
// import Image from 'next/image'
7
8
8
9
const BlogPostCard = ( { index, post, showSummary, siteInfo } ) => {
@@ -14,84 +15,87 @@ const BlogPostCard = ({ index, post, showSummary, siteInfo }) => {
14
15
const showPageCover = CONFIG_MATERY . POST_LIST_COVER && post ?. page_cover
15
16
const delay = ( index % 3 ) * 300
16
17
return (
17
- < div
18
- data-aos = "zoom-in"
19
- data-aos-duration = "500"
20
- data-aos-delay = { delay }
21
- data-aos-once = "true"
22
- data-aos-anchor-placement = "top-bottom"
23
- className = "w-full mb-4 overflow-auto shadow-md border dark:border-black rounded-xl bg-white dark:bg-hexo-black-gray" >
18
+ < div
19
+ data-aos = "zoom-in"
20
+ data-aos-duration = "500"
21
+ data-aos-delay = { delay }
22
+ data-aos-once = "true"
23
+ data-aos-anchor-placement = "top-bottom"
24
+ className = "w-full mb-4 overflow-auto shadow-md border dark:border-black rounded-xl bg-white dark:bg-hexo-black-gray" >
24
25
25
- { /* 固定高度 ,空白用图片拉升填充 */ }
26
- < div className = "flex flex-col h-80 justify-between" >
26
+ { /* 固定高度 ,空白用图片拉升填充 */ }
27
+ < div className = "flex flex-col h-80 justify-between" >
27
28
28
- { /* 头部图片 填充卡片 */ }
29
- { showPageCover && (
30
- < Link href = { `${ BLOG . SUB_PATH } /${ post . slug } ` } passHref legacyBehavior >
31
- < div
32
- className = "flex flex-grow w-full relative duration-200 bg-black rounded-t-md cursor-pointer transform overflow-hidden" >
33
- { /* eslint-disable-next-line @next/next/no-img-element */ }
34
- < img
35
- src = { post ?. page_cover }
36
- alt = { post . title }
37
- className = "opacity-50 h-full w-full hover:scale-125 rounded-t-md transform object-cover duration-500"
38
- />
39
- < span className = 'absolute bottom-0 left-0 text-white p-6 text-2xl replace break-words w-full' > { post . title } </ span >
40
- </ div >
41
- </ Link >
42
- ) }
29
+ { /* 头部图片 填充卡片 */ }
30
+ { showPageCover && (
31
+ < Link href = { `${ BLOG . SUB_PATH } /${ post . slug } ` } passHref legacyBehavior >
32
+ < div
33
+ className = "flex flex-grow w-full relative duration-200 bg-black rounded-t-md cursor-pointer transform overflow-hidden" >
34
+ { /* eslint-disable-next-line @next/next/no-img-element */ }
35
+ < img
36
+ src = { post ?. page_cover }
37
+ alt = { post . title }
38
+ className = "opacity-50 h-full w-full hover:scale-125 rounded-t-md transform object-cover duration-500"
39
+ />
40
+ < span className = 'absolute bottom-0 left-0 text-white p-6 text-2xl replace break-words w-full' > { post . title } </ span >
41
+ </ div >
42
+ </ Link >
43
+ ) }
43
44
44
- { /* 文字描述 */ }
45
- < div >
46
- { /* 描述 */ }
47
- < div className = "px-4 flex flex-col w-full text-gray-700 dark:text-gray-300" >
45
+ { /* 文字描述 */ }
46
+ < div >
47
+ { /* 描述 */ }
48
+ < div className = "px-4 flex flex-col w-full text-gray-700 dark:text-gray-300" >
48
49
49
- { ( ! showPreview || showSummary ) && post . summary && (
50
- < p style = { { overflow : 'hidden' , textOverflow : 'ellipsis' , display : '-webkit-box' , WebkitLineClamp : '4' , WebkitBoxOrient : 'vertical' } }
51
- className = "replace my-2 text-sm font-light leading-7" >
52
- { post . summary }
53
- </ p >
54
- ) }
50
+ { ( ! showPreview || showSummary ) && post . summary && (
51
+ < p style = { { overflow : 'hidden' , textOverflow : 'ellipsis' , display : '-webkit-box' , WebkitLineClamp : '4' , WebkitBoxOrient : 'vertical' } }
52
+ className = "replace my-2 text-sm font-light leading-7" >
53
+ { post . summary }
54
+ </ p >
55
+ ) }
55
56
56
- < div className = 'text-gray-800 justify-between flex my-2 dark:text-gray-300' >
57
- < Link
58
- href = { `/archive#${ post ?. date ?. start_date ?. substr ( 0 , 7 ) } ` }
59
- passHref
60
- className = "font-light hover:underline cursor-pointer text-sm leading-4 mr-3" >
57
+ < div className = 'text-gray-800 justify-between flex my-2 dark:text-gray-300' >
58
+ < div >
59
+ < Link
60
+ href = { `/archive#${ post ?. date ?. start_date ?. substr ( 0 , 7 ) } ` }
61
+ passHref
62
+ className = "font-light hover:underline cursor-pointer text-sm leading-4 mr-3" >
61
63
62
- < i className = "far fa-clock mr-1" />
63
- { post . date ?. start_date || post . lastEditedTime }
64
+ < i className = "far fa-clock mr-1" />
65
+ { post . date ?. start_date || post . lastEditedTime }
64
66
65
- </ Link >
66
- < Link
67
- href = { `/category/${ post . category } ` }
68
- passHref
69
- className = "cursor-pointer font-light text-sm hover:underline hover:text-indigo-700 dark:hover:text-indigo-400 transform" >
67
+ </ Link >
68
+ < TwikooCommentCount post = { post } className = 'hover:underline cursor-pointer text-sm' />
69
+ </ div >
70
+ < Link
71
+ href = { `/category/${ post . category } ` }
72
+ passHref
73
+ className = "cursor-pointer font-light text-sm hover:underline hover:text-indigo-700 dark:hover:text-indigo-400 transform" >
70
74
71
- < i className = "mr-1 far fa-folder" />
72
- { post . category }
75
+ < i className = "mr-1 far fa-folder" />
76
+ { post . category }
73
77
74
- </ Link >
75
- </ div >
76
- </ div >
78
+ </ Link >
79
+ </ div >
80
+ </ div >
77
81
78
- { post ?. tagItems && post ?. tagItems . length > 0 && ( < >
79
- < hr />
80
- < div className = "text-gray-400 justify-between flex px-5 py-3" >
81
- < div className = "md:flex-nowrap flex-wrap md:justify-start inline-block" >
82
- < div >
83
- { ' ' }
84
- { post . tagItems . map ( tag => (
85
- < TagItemMini key = { tag . name } tag = { tag } />
86
- ) ) }
87
- </ div >
88
- </ div >
89
- </ div >
90
- </ > ) }
91
- </ div >
92
- </ div >
82
+ { post ?. tagItems && post ?. tagItems . length > 0 && ( < >
83
+ < hr />
84
+ < div className = "text-gray-400 justify-between flex px-5 py-3" >
85
+ < div className = "md:flex-nowrap flex-wrap md:justify-start inline-block" >
86
+ < div >
87
+ { ' ' }
88
+ { post . tagItems . map ( tag => (
89
+ < TagItemMini key = { tag . name } tag = { tag } />
90
+ ) ) }
91
+ </ div >
92
+ </ div >
93
+ </ div >
94
+ </ > ) }
95
+ </ div >
96
+ </ div >
93
97
94
- </ div >
98
+ </ div >
95
99
)
96
100
}
97
101
0 commit comments