@@ -28,7 +28,7 @@ if (!post) return Astro.redirect("/404");
2828const { data } = post ;
2929const { Content, headings } = await render (post );
3030
31- const authors = await getEntries (data .authors );
31+ const authors = data . authors ? await getEntries (data .authors ) : [] ;
3232---
3333
3434<ProseLayout
@@ -39,61 +39,65 @@ const authors = await getEntries(data.authors);
3939 annotation ={ data .annotation ?? " highlight" }
4040 headings ={ headings }
4141>
42- <div class =" authors" slot =" after-header" >
43- {
44- authors .map ((author ) => (
45- <span class = " author" >
46- { author .data .avatar && (
47- <Image
48- class = " avatar"
49- src = { author .data .avatar }
50- alt = { ` ${author .data .name } photo ` }
51- width = { 32 }
52- densities = { [1 , 2 ]}
53- />
54- )}
55- <div class = " author-info" >
56- <strong >{ author .data .name } </strong >
57- <span class = " role" >{ author .data .role } </span >
58- </div >
59- </span >
60- ))
61- }
62- </div >
63- <Content />
64- <div class =" bios" slot =" after-content" >
65- {
66- authors .map (({ data : { avatar , name , bio , socialLinks } }) => (
67- <div class = " bio" >
68- <div class = " bio-avatar" >
69- <Image
70- class = " avatar"
71- src = { avatar }
72- alt = { ` ${name } photo ` }
73- width = { 80 }
74- height = { 80 }
75- densities = { [1 , 2 ]}
76- />
77- </div >
78- <div class = " content" >
79- <strong >{ name } </strong >
80- <p >{ bio } </p >
81- { socialLinks && socialLinks .length > 0 && (
82- <ul class = " social" >
83- { socialLinks .map ((socialLink ) => (
84- <li >
85- <a href = { socialLink .url } target = " _blank" >
86- { socialLink .name }
87- </a >
88- </li >
89- ))}
90- </ul >
42+ {
43+ authors .length > 0 && (
44+ <div class = " authors" slot = " after-header" >
45+ { authors .map ((author ) => (
46+ <span class = " author" >
47+ { author .data .avatar && (
48+ <Image
49+ class = " avatar"
50+ src = { author .data .avatar }
51+ alt = { ` ${author .data .name } photo ` }
52+ width = { 32 }
53+ densities = { [1 , 2 ]}
54+ />
9155 )}
56+ <div class = " author-info" >
57+ <strong >{ author .data .name } </strong >
58+ <span class = " role" >{ author .data .role } </span >
59+ </div >
60+ </span >
61+ ))}
62+ </div >
63+ )
64+ }
65+ <Content />
66+ {
67+ authors .length > 0 && (
68+ <div class = " bios" slot = " after-content" >
69+ { authors .map (({ data : { avatar , name , bio , socialLinks } }) => (
70+ <div class = " bio" >
71+ <div class = " bio-avatar" >
72+ <Image
73+ class = " avatar"
74+ src = { avatar }
75+ alt = { ` ${name } photo ` }
76+ width = { 80 }
77+ height = { 80 }
78+ densities = { [1 , 2 ]}
79+ />
80+ </div >
81+ <div class = " content" >
82+ <strong >{ name } </strong >
83+ <p >{ bio } </p >
84+ { socialLinks && socialLinks .length > 0 && (
85+ <ul class = " social" >
86+ { socialLinks .map ((socialLink ) => (
87+ <li >
88+ <a href = { socialLink .url } target = " _blank" >
89+ { socialLink .name }
90+ </a >
91+ </li >
92+ ))}
93+ </ul >
94+ )}
95+ </div >
9296 </div >
93- </ div >
94- ))
95- }
96- </ div >
97+ )) }
98+ </ div >
99+ )
100+ }
97101</ProseLayout >
98102
99103<style lang =" scss" >
0 commit comments