at main 2.2 kB view raw
1--- 2import { getCollection } from "astro:content"; 3import Base from "/components/Base.astro"; 4import BlogPost from "/components/BlogPost.astro"; 5import "/styles/main.css"; 6 7const post = await getCollection("blog").then((x) => 8 x.sort( 9 (a, b) => 10 (b.data.pub as unknown as number) - (a.data.pub as unknown as number), 11 ), 12); 13--- 14 15<Base 16 title="HOME" 17 graph={{ 18 description: "WARNING: Bug inside.", 19 }} 20> 21 <div class="bwcontainer wrapper"> 22 <header class="bwbox center flex"> 23 <h1 class="barcodetext">ENTOMOVISCERA.ONLINE</h1> 24 <a href="/" class="glow"> 25 <img src="/img/icons/poweroff.png" alt="return to landing page" /> 26 </a> 27 </header> 28 <nav class="bwbox flex flexcenter center"> 29 <a href="/bookmarks" class="button">::BOOKMARKS::</a> 30 </nav> 31 <main class="grid"> 32 <div class="bwbox flex flexcenter hidedeco"> 33 <img src="/img/sprites/sunfl1.png" alt="" /> 34 </div> 35 <div id="blog" class="bwbox"> 36 <h2 class="center">Latest blog post</h2> 37 <BlogPost 38 url={`/blog/${post[0].id}`} 39 title={post[0].data.title} 40 time={`${post[0].data.pub.getFullYear()}-${post[0].data.pub.getMonth() + 1}-${post[0].data.pub.getDate()}`} 41 /> 42 <div class="blogbuttons center flex flexcenter"> 43 <a href="/blog" class="button">::ALL_POSTS::</a> 44 <a href="/rss.xml" class="button">::RSS_FEED::</a> 45 </div> 46 </div> 47 </main> 48 </div> 49</Base> 50 51<style> 52 header { 53 justify-content: space-between; 54 align-items: center; 55 gap: 8px; 56 } 57 58 nav { 59 gap: 13px 15px; 60 } 61 62 nav a, 63 .blogbuttons a { 64 flex: 1 1; 65 } 66 67 #blog { 68 grid-column: span 3; 69 } 70 71 .blogbuttons { 72 gap: 8px; 73 } 74 75 .wrapper { 76 max-width: 100ch; 77 margin: 0 auto; 78 } 79 80 .grid { 81 display: grid; 82 grid-template-columns: repeat(4, 1fr); 83 } 84 85 .glow { 86 filter: 0; 87 } 88 89 .glow:hover { 90 filter: drop-shadow(0 0 4px var(--white)); 91 } 92 93 @media (max-width: 86ch) { 94 header { 95 justify-content: center; 96 } 97 98 header h1 { 99 flex: 1 1 100%; 100 } 101 102 .grid { 103 grid-template-columns: 1fr; 104 } 105 106 .hidedeco { 107 display: none; 108 } 109 } 110</style>