35 lines
		
	
	
		
			No EOL
		
	
	
		
			1.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			No EOL
		
	
	
		
			1.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| {{- $query := first 1 (where .Context.Site.Pages "Layout" "==" "archives") -}}
 | |
| {{- $context := .Context -}}
 | |
| {{- $limit := default 5 .Params.limit -}}
 | |
| {{- if $query -}}
 | |
|     {{- $archivesPage := index $query 0 -}}
 | |
|     <section class="widget archives">
 | |
|         <div class="widget-icon">
 | |
|             {{ partial "helper/icon" "infinity" }}
 | |
|         </div>
 | |
|         <h2 class="widget-title section-title">{{ T "widget.archives.title" }}</h2>
 | |
| 
 | |
|         {{ $pages := where $context.Site.RegularPages "Type" "in" $context.Site.Params.mainSections }}
 | |
|         {{ $notHidden := where $context.Site.RegularPages "Params.hidden" "!=" true }}
 | |
|         {{ $filtered := ($pages | intersect $notHidden) }}
 | |
|         {{ $archives := $filtered.GroupByDate "2006" }}
 | |
|         
 | |
|         <div class="widget-archive--list">
 | |
|             {{ range $index, $item := first (add $limit 1) ($archives) }}
 | |
|                 {{- $id := lower (replace $item.Key " " "-") -}}
 | |
|                 <div class="archives-year">
 | |
|                     <a href="{{ $archivesPage.RelPermalink }}#{{ $id }}">
 | |
|                         {{ if eq $index $limit }}
 | |
|                             <span class="year">{{ T "widget.archives.more" }}</span>
 | |
|                         {{ else }}
 | |
|                             <span class="year">{{ .Key }}</span>
 | |
|                             <span class="count">{{ len $item.Pages }}</span>
 | |
|                         {{ end }}
 | |
|                     </a> 
 | |
|                 </div>
 | |
|             {{ end }}
 | |
|         </div>
 | |
|     </section>
 | |
| {{- else -}}
 | |
|     {{- warnf "Archives page not found. Create a page with layout: archives." -}}
 | |
| {{- end -}} |