diff options
author | Denis Igorevich Lobanov <denis.lobanov@zooei.com> | 2019-03-29 13:31:33 +0300 |
---|---|---|
committer | Denis Igorevich Lobanov <denis.lobanov@zooei.com> | 2019-03-29 16:05:18 +0300 |
commit | 75a3a83a1ae9624cfbdcb40830f9b73d334468b9 (patch) | |
tree | 55cdf2bdf13a1b0e579031d63cf6db0e3e301e0e | |
parent | 7b2da739c813cd680e44606d2150e3c66a6794e6 (diff) |
Add support for Pagination #2
This is based off of keanemind's PR, with additional fixes and allows
for configurability of page size via the standard `pagination` site
param.
-rw-r--r-- | layouts/partials/homepage.html | 26 | ||||
-rw-r--r-- | src/css/style.css | 22 |
2 files changed, 46 insertions, 2 deletions
diff --git a/layouts/partials/homepage.html b/layouts/partials/homepage.html index cdbc78e..45a9f3a 100644 --- a/layouts/partials/homepage.html +++ b/layouts/partials/homepage.html @@ -6,11 +6,35 @@ <h1 class="headline">Recent Posts</h1> <div class="article-list"> - {{ range first 3 (where .Data.Pages "Section" "post") }} + {{ if isset .Site.Params "paginate" }} + {{ .Scratch.Set "paginate" .Site.Params.paginate }} + {{ else }} + {{ .Scratch.Set "paginate" 3 }} + {{ end }} + {{ $paginator := .Paginate (where .Data.Pages "Section" "post") (.Scratch.Get "paginate") }} + {{ range $paginator.Pages }} {{ partial "article-list-item.html" . }} {{ end }} </div> + {{ if gt $paginator.TotalPages 1 }} + <nav> + {{ if $paginator.HasPrev }} + <a class="nav-left" href="{{ $paginator.Prev.URL }}">< Prev</a> + {{ else }} + <a class="nav-hidden">< Prev</a> + {{ end }} + + <span>{{ $paginator.PageNumber}} / {{ $paginator.TotalPages }}</span> + + {{ if $paginator.HasNext }} + <a class="nav-right" href="{{ $paginator.Next.URL }}">Next ></a> + {{ else }} + <a class="nav-hidden">Next ></a> + {{ end }} + </nav> + {{ end }} + {{ with .Site.Taxonomies.categories }} <h1 class="headline">Categories</h1> diff --git a/src/css/style.css b/src/css/style.css index 349bf9e..d40a2e4 100644 --- a/src/css/style.css +++ b/src/css/style.css @@ -233,7 +233,9 @@ footer a { .homepage .category, .homepage .category a, .homepage .tag, -.homepage .tag a { +.homepage .tag a, +.homepage .nav-left, +.homepage .nav-right { color: var(--base0e); } @@ -241,6 +243,24 @@ footer a { margin-right: 2em; } +.homepage nav { + text-align: center; +} + +.homepage .nav-left { + margin-left: auto; + margin-right: 1%; +} + +.homepage .nav-right { + margin-left: 1%; + margin-right: auto; +} + +.homepage .nav-hidden { + visibility: hidden; +} + /* Post List Layout */ .article-list h1.list-title { |