list.html 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. {{ define "main" }}
  2. <!-- page-title -->
  3. <section class="section bg-secondary">
  4. <div class="container">
  5. <div class="row">
  6. <div class="col-lg-12">
  7. <h4>{{.Title}}</h4>
  8. </div>
  9. </div>
  10. </div>
  11. </section>
  12. <!-- /page-title -->
  13. <!-- category post -->
  14. <section>
  15. <div class="container">
  16. <div class="row">
  17. <div class="col-lg-8 mt-5">
  18. {{ $paginator := .Paginate .Data.Pages }}
  19. {{ if eq site.Params.layout "1" }}
  20. <div class="row masonry-container">
  21. {{ range $paginator.Pages }}
  22. <div class="col-sm-6 mb-5">
  23. <article class="text-center">
  24. <img class="img-fluid mb-4" src="{{.Params.Image | absURL }}" alt="post-thumb">
  25. <p class="text-uppercase mb-2">{{ .Params.Categories }}</p>
  26. <h4 class="title-border"><a class="text-dark" href="{{.Permalink}}">{{.Title}}</a></h4>
  27. <p>{{ .Summary }}</p>
  28. <a href="{{.Permalink}}" class="btn btn-transparent">read more</a>
  29. </article>
  30. </div>
  31. {{ end }}
  32. </div>
  33. {{ else if (eq site.Params.layout "2")}}
  34. <div class="row">
  35. {{ range $i,$p := $paginator.Pages }}
  36. <div class="col-12 mb-100">
  37. <article data-file="{{.Permalink}}" data-target="article"
  38. class="article-full-width {{if not (modBool $i 2)}} article-right {{ end }}">
  39. <div class="post-image">
  40. <img class="img-fluid" src="{{ .Params.Image | absURL }}" alt="post-thumb">
  41. </div>
  42. <div class="post-content">
  43. <ul class="list-inline d-flex justify-content-between border-bottom post-meta pb-2 mb-4">
  44. <li class="list-inline-item"><i class="ti-calendar mr-2"></i>{{ .PublishDate.Format "Jan 02, 2006" }}
  45. </li>
  46. <li class="list-inline-item"><i class="ti-alarm-clock mr-2"></i><span class="eta"></span> read</li>
  47. </ul>
  48. <h4 class="mb-4"><a href="{{.Permalink}}" class="text-dark">{{ .Title }}</a></h4>
  49. <p class="mb-0 post-summary">{{.Summary }}</p>
  50. <a class="btn btn-transparent mb-4" href="{{.Permalink}}">Continue...</a>
  51. </div>
  52. </article>
  53. </div>
  54. {{ end }}
  55. </div>
  56. {{ end }}
  57. <!-- pagination -->
  58. <div class="row">
  59. <div class="col-12">
  60. {{ $paginator := .Paginator }}
  61. <!-- Number of links either side of the current page. -->
  62. {{ $adjacent_links := 2 }}
  63. <!-- $max_links = ($adjacent_links * 2) + 1 -->
  64. {{ $max_links := (add (mul $adjacent_links 2) 1) }}
  65. <!-- $lower_limit = $adjacent_links + 1 -->
  66. {{ $lower_limit := (add $adjacent_links 1) }}
  67. <!-- $upper_limit = $paginator.TotalPages - $adjacent_links -->
  68. {{ $upper_limit := (sub $paginator.TotalPages $adjacent_links) }}
  69. <!-- If there's more than one page. -->
  70. {{ if gt $paginator.TotalPages 1 }}
  71. <nav aria-label="Page navigation">
  72. <ul class="pagination justify-content-center align-items-center">
  73. <!-- Previous page. -->
  74. {{ if $paginator.HasPrev }}
  75. <li class="page-item">
  76. <a href="{{ $paginator.Prev.URL }}" class="page-link">
  77. &laquo; Previous
  78. </a>
  79. </li>
  80. {{ end }}
  81. <!-- Page numbers. -->
  82. {{ range $paginator.Pagers }}
  83. {{ $.Scratch.Set "page_number_flag" false }}
  84. <!-- Advanced page numbers. -->
  85. {{ if gt $paginator.TotalPages $max_links }}
  86. <!-- Lower limit pages. -->
  87. <!-- If the user is on a page which is in the lower limit. -->
  88. {{ if le $paginator.PageNumber $lower_limit }}
  89. <!-- If the current loop page is less than max_links. -->
  90. {{ if le .PageNumber $max_links }}
  91. {{ $.Scratch.Set "page_number_flag" true }}
  92. {{ end }}
  93. <!-- Upper limit pages. -->
  94. <!-- If the user is on a page which is in the upper limit. -->
  95. {{ else if ge $paginator.PageNumber $upper_limit }}
  96. <!-- If the current loop page is greater than total pages minus $max_links -->
  97. {{ if gt .PageNumber (sub $paginator.TotalPages $max_links) }}
  98. {{ $.Scratch.Set "page_number_flag" true }}
  99. {{ end }}
  100. <!-- Middle pages. -->
  101. {{ else }}
  102. {{ if and ( ge .PageNumber (sub $paginator.PageNumber $adjacent_links) ) ( le .PageNumber (add $paginator.PageNumber $adjacent_links) ) }}
  103. {{ $.Scratch.Set "page_number_flag" true }}
  104. {{ end }}
  105. {{ end }}
  106. <!-- Simple page numbers. -->
  107. {{ else }}
  108. {{ $.Scratch.Set "page_number_flag" true }}
  109. {{ end }}
  110. <!-- Output page numbers. -->
  111. {{ if eq ($.Scratch.Get "page_number_flag") true }}
  112. <li class="page-item{{ if eq . $paginator }} page-item active {{ end }}">
  113. <a href="{{ .URL }}" class="page-link">
  114. {{ .PageNumber }}
  115. </a>
  116. </li>
  117. {{ end }}
  118. {{ end }}
  119. <!-- Next page. -->
  120. {{ if $paginator.HasNext }}
  121. <li class="page-item">
  122. <a href="{{ $paginator.Next.URL }}" class="page-link">
  123. Next &raquo;
  124. </a>
  125. </li>
  126. {{ end }}
  127. </ul>
  128. </nav>
  129. {{ end }}
  130. </div>
  131. </div>
  132. <!-- pagination -->
  133. </div>
  134. <!-- /blog post -->
  135. {{ partial "sidebar.html" . }}
  136. </div>
  137. </div>
  138. </section>
  139. <!-- /category post -->
  140. {{ end }}