diff --git a/layouts/_default/home.html b/layouts/_default/home.html new file mode 100644 index 0000000..f93f09e --- /dev/null +++ b/layouts/_default/home.html @@ -0,0 +1,123 @@ +{{ define "main" }} + {{ $all_posts := where .Site.RegularPages "Section" "post" }} + {{ $all_pinned := where $all_posts "Params.pin" true }} + {{ $all_normal := where $all_posts "Params.pin" "!=" true }} + + {{ $posts := slice }} + {{ $pinned_size := 0 }} + + + {{ $paginator := .Paginate $all_normal }} + {{ $visible_start := sub $paginator.PageNumber 1 | mul $paginator.PagerSize }} + {{ $visible_end := add $visible_start $paginator.PagerSize }} + + {{ if gt (len $all_pinned) $visible_start }} + {{ if gt (len $all_pinned) $visible_end }} + {{ $pinned_size = $paginator.PagerSize }} + {{ else }} + {{ $pinned_size = sub (len $all_pinned) $visible_start }} + {{ end }} + + {{ range first $pinned_size (after $visible_start $all_pinned) }} + {{ $posts = $posts | append . }} + {{ end }} + {{ end }} + + + {{ $normal_size := sub (len $paginator.Pages) $pinned_size }} + + {{ if gt $normal_size 0 }} + {{ $normal_start := 0 }} + {{ if gt $pinned_size 0 }} + {{ $normal_start = 0 }} + {{ else }} + {{ $normal_start = sub $visible_start (len $all_pinned) }} + {{ end }} + + {{ range first $normal_size (after $normal_start $all_normal) }} + {{ $posts = $posts | append . }} + {{ end }} + {{ end }} + +
+ {{ range $posts }} +
+ + {{ $card_body_col := "12" }} + + {{ if .Params.image }} + {{ $src := .Params.image.path | default .Params.image }} + {{ if not (findRE "//" $src) }} + {{ $media_subpath := .Params.media_subpath | default "" }} + {{ $src = path.Join $media_subpath $src }} + {{ end }} + + {{ $alt := .Params.image.alt | default "Preview Image" | htmlEscape }} + {{ $lqip := "" }} + {{ if .Params.image.lqip }} + {{ $lqip = printf `lqip="%s"` .Params.image.lqip }} + {{ end }} + +
+ {{ $alt }} +
+ + {{ $card_body_col = "7" }} + {{ end }} + +
+
+

{{ .Title }}

+ +
+

{{ .Description | default .Summary }}

+
+ + + +
+ +
+
+
+ {{ end }} +
+ + + {{ if gt $paginator.TotalPages 1 }} + {{ partial "pagination.html" . }} + {{ end }} +{{ end }} \ No newline at end of file