@@ -51,9 +51,6 @@ const {
5151} = Astro .props ;
5252const { Content } = await render (publication );
5353const hasBody = typeof publication .body === " string" && publication .body .trim ().length > 0 ;
54- const publicationNeighbors = [previousPublication , nextPublication ].filter (
55- (item ): item is PublicationNeighbor => item !== null
56- );
5754---
5855
5956<MainLayout
@@ -64,50 +61,52 @@ const publicationNeighbors = [previousPublication, nextPublication].filter(
6461 <section class =" page-hero publication-detail-hero" >
6562 <div class =" publication-detail-main" >
6663 <a class =" publication-backlink" href ={ withBase (" /publications" )} >返回论文页</a >
67- <p class =" eyebrow" >论文详情</p >
68- <h1 >{ publication .data .title } </h1 >
69- <p class =" publication-authors publication-detail-authors" >{ publication .data .authors } </p >
70- </div >
64+ <article class =" card publication-detail-shell" >
65+ <div class =" publication-detail-overview" >
66+ <p class =" eyebrow" >论文详情</p >
67+ <h1 >{ publication .data .title } </h1 >
68+ <p class =" publication-authors publication-detail-authors" >{ publication .data .authors } </p >
7169
72- <aside class =" card publication-detail-panel" >
73- <div class =" publication-meta publication-detail-meta" >
74- <span class =" card-tag" >{ publication .data .type } </span >
75- <span class =" publication-venue" >{ publication .data .venue } </span >
76- <span class =" publication-year" >{ publication .data .year } </span >
77- </div >
78- <dl class =" publication-detail-facts" >
79- <div >
80- <dt >类型</dt >
81- <dd >{ publication .data .type } </dd >
82- </div >
83- <div >
84- <dt >刊物</dt >
85- <dd >{ publication .data .venue } </dd >
86- </div >
87- <div >
88- <dt >年份</dt >
89- <dd >{ publication .data .year } </dd >
90- </div >
91- </dl >
92- {
93- publication .data .links .length > 0 && (
94- <div class = " publication-links publication-detail-actions" >
95- { publication .data .links .map ((link ) => (
96- <a class = " button button-secondary publication-link" href = { link .href } target = " _blank" rel = " noreferrer" >
97- { link .label }
98- </a >
99- ))}
70+ <div class =" publication-detail-panel" >
71+ <div class =" publication-meta publication-detail-meta" >
72+ <span class =" card-tag" >{ publication .data .type } </span >
73+ <span class =" publication-venue" >{ publication .data .venue } </span >
74+ <span class =" publication-year" >{ publication .data .year } </span >
75+ </div >
76+ <dl class =" publication-detail-facts" >
77+ <div >
78+ <dt >类型</dt >
79+ <dd >{ publication .data .type } </dd >
80+ </div >
81+ <div >
82+ <dt >刊物</dt >
83+ <dd >{ publication .data .venue } </dd >
84+ </div >
85+ <div >
86+ <dt >年份</dt >
87+ <dd >{ publication .data .year } </dd >
88+ </div >
89+ </dl >
90+ {
91+ publication .data .links .length > 0 && (
92+ <div class = " publication-links publication-detail-actions" >
93+ { publication .data .links .map ((link ) => (
94+ <a class = " button button-secondary publication-link" href = { link .href } target = " _blank" rel = " noreferrer" >
95+ { link .label }
96+ </a >
97+ ))}
98+ </div >
99+ )
100+ }
100101 </div >
101- )
102- }
103- </aside >
104- </section >
105102
106- <section class =" content-section publication-detail-summary-section" >
107- <article class =" card publication-detail-summary-card" >
108- <span class =" card-tag" >摘要</span >
109- <p class =" publication-detail-summary" >{ publication .data .summary } </p >
110- </article >
103+ <div class =" publication-detail-summary-block" >
104+ <span class =" card-tag" >摘要</span >
105+ <p class =" publication-detail-summary" >{ publication .data .summary } </p >
106+ </div >
107+ </div >
108+ </article >
109+ </div >
111110 </section >
112111
113112 {
@@ -119,15 +118,22 @@ const publicationNeighbors = [previousPublication, nextPublication].filter(
119118 }
120119
121120 {
122- publicationNeighbors .length > 0 && (
123- <section class :list = { [" content-section" , " publication-neighbors" , publicationNeighbors .length === 1 && " publication-neighbors-single" ]} >
124- { publicationNeighbors .map ((item ) => (
125- <a class = " card publication-neighbor-card" href = { withBase (` /publications/${item .id } ` )} >
126- <span class :list = { [" card-tag" , item .direction === " 上一篇" && " card-tag-subtle" ]} >{ item .direction } </span >
127- <h3 >{ item .title } </h3 >
128- <p >{ item .year } </p >
121+ (previousPublication || nextPublication ) && (
122+ <section class = " content-section publication-detail-navigation" >
123+ { previousPublication ? (
124+ <a class = " publication-prev-link" href = { withBase (` /publications/${previousPublication .id } ` )} >
125+ 上一篇:{ previousPublication .title }
126+ </a >
127+ ) : (
128+ <span />
129+ )}
130+ { nextPublication && (
131+ <a class = " card publication-neighbor-card publication-next-card" href = { withBase (` /publications/${nextPublication .id } ` )} >
132+ <span class = " card-tag" >下一篇</span >
133+ <h3 >{ nextPublication .title } </h3 >
134+ <p >{ nextPublication .year } </p >
129135 </a >
130- )) }
136+ )}
131137 </section >
132138 )
133139 }
0 commit comments