Add blog functionality (#1)

This commit was merged in pull request #1.
This commit is contained in:
2019-10-14 16:06:54 +02:00
committed by Max Mehl
parent 7ad089ec54
commit e678442198
56 changed files with 1461 additions and 52 deletions

View File

@@ -1,31 +1,43 @@
{{ partial "head" . }}
<body>
<div id="wrap">
<!-- Header -->
{{ partial "header" . }}
<div class="container">
<h1>Archive</h1>
<div class="panel panel-default">
<div class="panel-body">
{{ range .Data.Pages.ByPublishDate.Reverse }}
<div class="row">
<div class="col-sm-4 col-md-4 col-lg-4">
<h5 style="text-align: right">
{{ .Date.Format "January 2, 2006" }}
</h5>
</div>
<div class="col-sm-8 col-md-8 col-lg-8">
<h5 style="text-align: left">
<strong><a href="{{ .RelPermalink }}">{{ .Title | markdownify }}</a></strong>
</h5>
</div>
</div>
{{ end }}
<body>
<div id="wrap">
<!-- Header -->
{{ partial "header" . }}
<div class="container archive">
<h1>{{ .Site.Params.Blog.Headline }}
{{ if (isset .Data "Singular") }}
<br />({{ .Data.Singular | humanize }}: {{lower .Title}})
<span class="article-rss"><a href="/{{ .Data.Plural }}/{{lower .Title}}/index.xml" title="RSS Feed"><i class="fa fa-rss" aria-hidden="true"></i></a></span>
{{ else }}
<span class="article-rss"><a href="/index.xml" title="RSS Feed"><i class="fa fa-rss" aria-hidden="true"></i></a></span>
{{ end }}
</h1>
{{ if .Site.Params.Social.CommentsProvider }}
<p><a href="{{ .Site.Params.Social.CommentsProvider }}">Subscribe</a> to my Blog via Diaspora, Mastodon, Friendica or GNU Social. Never miss a article! Reshare, like and discuss it!</p>
{{ end }}
<p class="categories">
<a class="label label-success" href="/blog">All</a>
{{ range $name, $taxonomy := .Site.Taxonomies.categories }}
<a class="label label-success" href="{{ "/categories/" | relLangURL }}{{ $name | urlize }}">
{{ humanize $name }}
</a>
{{ end }}
</p>
<div class="panel panel-default panel-overview">
<div class="blogpost">
{{ range .Data.Pages.ByPublishDate.Reverse }}
<div class="blog-summary">
<h4><strong><a href="{{ .RelPermalink }}">{{ .Title | markdownify }}</a></strong></h4>
<div class="metadata">Posted on {{ .Date.Format "2 January 2006" }} - Tagged with {{ range $i, $tag := .Params.tags }}{{ if $i }}, {{ end }}<a href="/tags/{{ lower $tag }}">{{ $tag }}</a>{{ end }}</div>
<p>{{ .Summary }} <a class="learn-more" href="{{ .RelPermalink }}"></a></p>
</div>
</div>
{{ end }}
</div>
</div>
</div>
<!-- Footer -->
{{ partial "footer" . }}
</body>
</div>
<!-- Footer -->
{{ partial "footer" . }}
</body>
</html>

View File

@@ -6,24 +6,27 @@
{{ partial "header" . }}
<div class="container {{ replace (.LinkTitle | lower) " " "_" }}"> <!-- add link title add class -->
<div class="blog-post">
<h1>{{ .Title }}</h1>
</div>
{{ if ne .Params.page true }}
<div class="blog-title">
<h4>
{{ .Date.Format "January 2, 2006" }}
<div>
<p class="categories">
{{ .Date.Format "2 January 2006" }}
&nbsp;&nbsp;
{{ range .Params.tags }}
<span class="label label-success">{{ . }}</span>
<a class="label label-success" href="/tags/{{ lower . }}">{{ . }}</a>
{{ end }}
</h4>
</p>
</div>
{{ end }}
<div class="panel panel-default">
<div class="panel-body">
<div class="blogpost">
{{ if isset .Params "headerimage" }}
<div class="header-image">
<img src="/img/{{ .Params.headerImage }}" />
<p>{{ with .Params.headercredits }}{{ . | markdownify }}{{ end }}</p>
</div>
{{ end }}
{{ .Content }}
<!-- only show related posts if param is true, or if it's not a page -->
{{ if or (eq .Params.related true) (ne .Params.page true) }}
@@ -34,7 +37,7 @@
<div class="row">
<div class="col-sm-4 col-md-4 col-lg-4">
<h6 style="text-align: right">
{{ .Date.Format "January 2, 2006" }}
{{ .Date.Format "2 January 2006" }}
</h6>
</div>
<div class="col-sm-8 col-md-8 col-lg-8">
@@ -49,6 +52,7 @@
</div>
</div>
<hr>
{{ partial "comments.html" . }}
{{ partial "social" . }}
</div>
</div>

View File

@@ -0,0 +1,14 @@
<!-- Piwik -->
<script type="text/javascript">
var _paq = _paq || [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//mehl.mx/";
_paq.push(["setTrackerUrl", u+"piwik.php"]);
_paq.push(["setSiteId", "9"]);
var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0];
g.type="text/javascript"; g.async=true; g.defer=true; g.src=u+"piwik.php"; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Piwik Code -->

View File

@@ -0,0 +1,18 @@
{{- $type := .Get "type" -}} <!-- e.g. "media" -->
{{- $data := .Site.Data.links -}}
{{- if $type -}}
{{- $data = where $data "type" $type -}}
{{ end }}
{{- range sort $data "date" "desc" }}
<ul>
<li>{{.desc}}
{{- $len := (len .links) -}} <!-- amount of elements under .links -->
{{- range $index, $element := .links -}} <!-- range over links, but keep index -->
{{ with .href }}<a href="{{.}}">{{ end }}{{.text}}{{ with .href }}</a>{{end}}
{{- if ne (add $index 1) $len -}}, {{- end -}} <!-- only append comma if not last element (index starts with 0) -->
{{- end -}}
{{- with .date }} ({{.}}){{ end }}
{{ range .tags }}<span class="label label-success">{{ . }}</span>&nbsp;{{ end }}
</li>
</ul>
{{ end }}

View File

@@ -0,0 +1,23 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
{{ range .Data.Pages }}
{{ if ne .Params.sitemap_hide true }}
<url>
<loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
<lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }}
<changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
<priority>{{ .Sitemap.Priority }}</priority>{{ end }}{{ if .IsTranslated }}{{ range .Translations }}
<xhtml:link
rel="alternate"
hreflang="{{ .Lang }}"
href="{{ .Permalink }}"
/>{{ end }}
<xhtml:link
rel="alternate"
hreflang="{{ .Lang }}"
href="{{ .Permalink }}"
/>{{ end }}
</url>
{{ end }}
{{ end }}
</urlset>