|
1 | 1 | {{ define "main" }}
|
2 |
| - <div class="container-prose py-12"> |
| 2 | + <div class="container py-12"> |
3 | 3 | <header class="mb-6">
|
4 | 4 | <h1 class="font-h1">{{ .Title }} <a class="text-link" href="{{ .Site.LanguagePrefix }}/feed.xml"><i class="fas fa-rss-square"></i></a></h1>
|
5 | 5 | </header>
|
6 | 6 |
|
7 |
| - {{ range .Pages.ByDate.Reverse }} |
8 |
| - <section class="mb-6"> |
9 |
| - <article class="border white-box p-4"> |
10 |
| - <p class="text-xs md:text-sm text-gray-600 mb-1">{{ dateFormat "2006-01-02" .Params.Date }}</p> |
11 |
| - <h2 class="font-h2 mb-6"><a class="text-link" href="{{ .RelPermalink }}">{{ .Title }}</a></h2> |
12 |
| - <p class="font-p">{{ .Summary }}</p> |
13 |
| - </article> |
14 |
| - </section> |
| 7 | + {{ $paginator := .Paginate (.Pages.ByDate.Reverse) 10 }} |
| 8 | + |
| 9 | + {{ if eq $paginator.PageNumber 1 }} |
| 10 | + |
| 11 | + <!-- Section 1: Featured Post (only on Page 1) --> |
| 12 | + {{ $featured_post := first 1 $paginator.Pages }} |
| 13 | + {{ if $featured_post }} |
| 14 | + {{ range $page := $featured_post }} |
| 15 | + <article class="white-box grid grid-cols-1 lg:grid-cols-2 overflow-hidden mb-6"> |
| 16 | + <figure class="h-48 w-full md:h-72 lg:h-96"> |
| 17 | + <a href="{{ .RelPermalink }}"> |
| 18 | + {{ if .Params.ogimage }} |
| 19 | + <img class="size-full object-cover" src="{{ .Params.ogimage.relsrc }}" alt="{{ .Title }}"> |
| 20 | + {{ else }} |
| 21 | + <img class="size-full object-contain bg-primary-l2 p-6 md:p-12" src="/img/logo.svg" alt="{{ .Title }}"> |
| 22 | + {{ end }} |
| 23 | + </a> |
| 24 | + </figure> |
| 25 | + <div class="p-4 md:p-8"> |
| 26 | + <p class="text-xs md:text-sm leading-relaxed text-gray-600 mb-1">{{ dateFormat "2006-01-02" .Params.Date }}</p> |
| 27 | + <h2 class="font-headline font-medium text-xl md:text-4xl leading-snug md:leading-tight mb-6"> |
| 28 | + <a class="text-link" href="{{ .RelPermalink }}">{{ .Title }}</a> |
| 29 | + </h2> |
| 30 | + <p class="text-sm md:text-xl leading-relaxed">{{ .Summary }}</p> |
| 31 | + </div> |
| 32 | + </article> |
| 33 | + {{ end }} |
| 34 | + {{ end }} |
| 35 | + |
| 36 | + <!-- Section 2: Next 2 Posts (2-column cards) (only on Page 1) --> |
| 37 | + {{ $card_posts := first 2 (after 1 $paginator.Pages) }} |
| 38 | + {{ if $card_posts }} |
| 39 | + <div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-6"> |
| 40 | + {{ range $page := $card_posts }} |
| 41 | + <article class="white-box overflow-hidden"> |
| 42 | + <figure class="h-48 w-full"> |
| 43 | + <a href="{{ .RelPermalink }}"> |
| 44 | + {{ if .Params.ogimage }} |
| 45 | + <img class="size-full object-cover" src="{{ .Params.ogimage.relsrc }}" alt="{{ .Title }}"> |
| 46 | + {{ else }} |
| 47 | + <img class="size-full object-contain bg-primary-l2 p-6" src="/img/logo.svg" alt="{{ .Title }}"> |
| 48 | + {{ end }} |
| 49 | + </a> |
| 50 | + </figure> |
| 51 | + <div class="p-4"> |
| 52 | + <p class="text-xs md:text-sm leading-relaxed text-gray-600 mb-1">{{ dateFormat "2006-01-02" .Params.Date }}</p> |
| 53 | + <h2 class="font-h2 mb-6"> |
| 54 | + <a class="text-link" href="{{ .RelPermalink }}">{{ .Title }}</a> |
| 55 | + </h2> |
| 56 | + <p class="font-p">{{ .Summary }}</p> |
| 57 | + </div> |
| 58 | + </article> |
| 59 | + {{ end }} |
| 60 | + </div> |
| 61 | + {{ end }} |
| 62 | + |
| 63 | + <!-- Section 3: Remaining 7 Posts (on Page 1) --> |
| 64 | + {{ $list_posts_page1 := after 3 $paginator.Pages }} |
| 65 | + {{ if $list_posts_page1 }} |
| 66 | + <div class="space-y-6 mb-6"> |
| 67 | + {{ range $page := $list_posts_page1 }} |
| 68 | + <article class="white-box grid grid-cols-1 md:grid-cols-[192px_1fr] overflow-hidden mb-6"> |
| 69 | + <figure class="h-48 w-full md:h-full"> |
| 70 | + <a href="{{ .RelPermalink }}"> |
| 71 | + {{ if .Params.ogimage }} |
| 72 | + <img class="size-full object-cover" src="{{ .Params.ogimage.relsrc }}" alt="{{ .Title }}"> |
| 73 | + {{ else }} |
| 74 | + <img class="size-full object-contain bg-primary-l2 p-6" src="/img/logo.svg" alt="{{ .Title }}"> |
| 75 | + {{ end }} |
| 76 | + </a> |
| 77 | + </figure> |
| 78 | + <div class="p-4"> |
| 79 | + <p class="text-xs md:text-sm leading-relaxed text-gray-600 mb-1">{{ dateFormat "2006-01-02" .Params.Date }}</p> |
| 80 | + <h2 class="font-h2 mb-6"> |
| 81 | + <a class="text-link" href="{{ .RelPermalink }}">{{ .Title }}</a> |
| 82 | + </h2> |
| 83 | + <p class="font-p">{{ .Summary }}</p> |
| 84 | + </div> |
| 85 | + </article> |
| 86 | + {{ end }} |
| 87 | + </div> |
| 88 | + {{ end }} |
| 89 | + {{ else }} |
| 90 | + |
| 91 | + <!-- Section 3: All 10 Posts (on Subsequent Pages) --> |
| 92 | + {{ $list_posts_others := $paginator.Pages }} |
| 93 | + {{ if $list_posts_others }} |
| 94 | + <div class="space-y-6 mb-6"> |
| 95 | + {{ range $page := $list_posts_others }} |
| 96 | + <article class="white-box grid grid-cols-1 md:grid-cols-[192px_1fr] overflow-hidden mb-6"> |
| 97 | + <figure class="h-48 w-full md:h-full"> |
| 98 | + <a href="{{ .RelPermalink }}"> |
| 99 | + {{ if .Params.ogimage }} |
| 100 | + <img class="size-full object-cover" src="{{ .Params.ogimage.relsrc }}" alt="{{ .Title }}"> |
| 101 | + {{ else }} |
| 102 | + <img class="size-full object-contain bg-primary-l2 p-6" src="/img/logo.svg" alt="{{ .Title }}"> |
| 103 | + {{ end }} |
| 104 | + </a> |
| 105 | + </figure> |
| 106 | + <div class="p-4"> |
| 107 | + <p class="text-xs md:text-sm leading-relaxed text-gray-600 mb-1">{{ dateFormat "2006-01-02" .Params.Date }}</p> |
| 108 | + <h2 class="font-h2 mb-6"> |
| 109 | + <a class="text-link" href="{{ .RelPermalink }}">{{ .Title }}</a> |
| 110 | + </h2> |
| 111 | + <p class="font-p">{{ .Summary }}</p> |
| 112 | + </div> |
| 113 | + </article> |
| 114 | + {{ end }} |
| 115 | + </div> |
| 116 | + {{ end }} |
| 117 | + |
15 | 118 | {{ end }}
|
| 119 | + |
| 120 | + <!-- Pagination Controls --> |
| 121 | + {{ partial "pagination.html" . }} |
16 | 122 | </div>
|
17 | 123 | {{ end }}
|
0 commit comments