summaryrefslogtreecommitdiff
path: root/examples/blog/src/components/PostPreview.astro
blob: e4e39143adefc73b7d1fe1f0935f50095c59a9b2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
---
export let post;
export let author;

import AuthorCard from './AuthorCard.astro';

function formatDate(date) {
  return new Date(date).toUTCString();
}
---

<style lang="scss">
.post {
  display: grid;
  grid-template-columns: 8rem auto;
  grid-gap: 1.5rem;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.thumb {
  width: 8rem;
  height: 8rem;
  object-fit: cover;
  border-radius: 0.25rem;
  overflow: hidden;

  img {
    width: 100%;
    height: 100%;
  }
}

h1 {
  font-weight: 700;
  font-size: 1em;
  margin-bottom: 0;
}

time {
  display: block;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
</style>

<article class="post">
  <div class="thumb">
    <img src={post.image} alt={post.title} />
  </div>
  <div class="data">
    <h1>{post.title}</h1>
    <AuthorCard author={author} />
    <time>{formatDate(post.date)}</time>
    <p>{post.description}</p>
    <a href={post.url}>Read</a>
  </div>
</article>