Initial blog list with placeholder posts

This commit is contained in:
Dan 2025-12-31 08:30:21 +00:00
parent b2f436d553
commit ad78a3e27e
20 changed files with 1225 additions and 4 deletions

View file

@ -10,6 +10,6 @@
</div>
{{ end }}
</section>
{{- template "_internal/pagination.html" . -}}
{{- partial "pagination.html" .Paginator -}}
</article>
{{ end }}

41
layouts/blogs/list.html Normal file
View file

@ -0,0 +1,41 @@
{{ define "main" }}
<div class="blogs-page">
<div class="blogs-container">
<div class="blogs-screen">
<div class="blogs-content">
<section>
{{ .Content }}
</section>
{{ $tags := slice }}
{{ range .Site.RegularPages }}
{{ if eq .Section "blogs" }}
{{ range .Params.tags }}
{{ $tags = $tags | append . }}
{{ end }}
{{ end }}
{{ end }}
{{ $tags = $tags | uniq }}
<nav class="blog-tags-filter">
<span class="filter-label">Filter by tag: (found {{ len $tags }} tags)</span>
<div class="tag-links">
<a href="/blogs/" class="tag-filter-link active">All</a>
{{ range $tags }}
{{ $tagURL := printf "/tags/%s/" (. | urlize) }}
<a href="{{ $tagURL }}" class="tag-filter-link">{{ . }}</a>
{{ end }}
</div>
</nav>
<aside class="blog-posts">
{{ range .Paginator.Pages }}
{{ .Render "summary" }}
{{ end }}
</aside>
{{ partial "pagination.html" .Paginator }}
</div>
</div>
</div>
</div>
{{ end }}

48
layouts/blogs/single.html Normal file
View file

@ -0,0 +1,48 @@
{{ define "main" }}
<div class="blogs-page">
<div class="blogs-container">
<div class="blogs-screen">
<div class="blogs-content">
<nav class="blog-navigation">
<a href="/blogs/" class="nav-link back-link">← All Blogs</a>
</nav>
<article class="blog-post-card">
<h1 class="blog-title">
{{ .Title }}
{{ if .Date }}
<span class="blog-date">{{ .Date.Format "02/01/2006" }}</span>
{{ end }}
</h1>
{{ if .Params.tags }}
<div class="blog-tags">
{{ range .Params.tags }}
<span class="tag">{{ . }}</span>
{{ end }}
</div>
{{ end }}
<div class="blog-summary">
{{ .Content }}
</div>
</article>
<nav class="blog-post-navigation">
<div class="post-nav-links">
{{ with .PrevInSection }}
<a href="{{ .Permalink }}" class="nav-link prev-post">← {{ .Title }}</a>
{{ else }}
<span class="nav-link disabled">← Previous</span>
{{ end }}
{{ with .NextInSection }}
<a href="{{ .Permalink }}" class="nav-link next-post">{{ .Title }} →</a>
{{ else }}
<span class="nav-link disabled">Next →</span>
{{ end }}
</div>
</nav>
</div>
</div>
</div>
</div>
{{ end }}

View file

@ -0,0 +1,26 @@
<div class="blog-post-card{{ if not (in .Params.tags "weekly") }} non-weekly{{ end }}">
<h1 class="blog-title">
{{ if in .Params.tags "weekly" }}
{{ .Title }}
{{ else }}
<a href="{{ .Permalink }}">
{{ .Title }}
</a>
{{ end }}
{{ if .Date }}
<span class="blog-date">{{ .Date.Format "02/01/2006" }}</span>
{{ end }}
</h1>
{{ if .Params.tags }}
<div class="blog-tags">
{{ range .Params.tags }}
<span class="tag">{{ . }}</span>
{{ end }}
</div>
{{ end }}
{{ if in .Params.tags "weekly" }}
<div class="blog-summary">
{{ .Content }}
</div>
{{ end }}
</div>

View file

@ -0,0 +1,26 @@
{{ $paginator := . }}
{{ if gt $paginator.TotalPages 1 }}
<nav class="pagination" role="navigation">
<ul>
{{ if $paginator.HasPrev }}
<li><a href="{{ $paginator.Prev.URL }}">← Prev</a></li>
{{ else }}
<li class="disabled"><span>← Prev</span></li>
{{ end }}
{{ range $paginator.Pagers }}
{{ if eq . $paginator }}
<li class="active"><span>{{ .PageNumber }}</span></li>
{{ else }}
<li><a href="{{ .URL }}">{{ .PageNumber }}</a></li>
{{ end }}
{{ end }}
{{ if $paginator.HasNext }}
<li><a href="{{ $paginator.Next.URL }}">Next →</a></li>
{{ else }}
<li class="disabled"><span>Next →</span></li>
{{ end }}
</ul>
</nav>
{{ end }}

View file

@ -18,6 +18,6 @@ you can create a layouts directory, just for that section.
</div>
{{ end }}
</aside>
{{ template "_internal/pagination.html" . }}
{{ partial "pagination.html" .Paginator }}
</article>
{{ end }}

32
layouts/tags/list.html Normal file
View file

@ -0,0 +1,32 @@
{{ define "main" }}
<div class="blogs-page">
<div class="blogs-container">
<div class="blogs-screen">
<div class="blogs-content">
<section>
<h1>Posts tagged: {{ .Title }}</h1>
</section>
{{ if .Site.Taxonomies.tags }}
<nav class="blog-tags-filter">
<span class="filter-label">Filter by tag:</span>
<div class="tag-links">
<a href="/blogs/" class="tag-filter-link">All</a>
{{ range $name, $taxonomy := .Site.Taxonomies.tags }}
{{ $tagURL := printf "/tags/%s/" ($name | urlize) }}
<a href="{{ $tagURL }}" class="tag-filter-link{{ if eq $name $.Title }} active{{ end }}">{{ $name }}</a>
{{ end }}
</div>
</nav>
{{ end }}
<aside class="blog-posts">
{{ range .Pages }}
{{ .Render "summary" }}
{{ end }}
</aside>
</div>
</div>
</div>
</div>
{{ end }}