~bfiedler/website

7596729ceb068bfb5b5e2cbc74f206ff4bb75712 — Ben Fiedler 4 months ago 185b89e
Show tag list at end of post

This does not distract from the actual content, while potentially
allowing readers to browse similar posts.
M assets/style.scss => assets/style.scss +56 -14
@@ 219,30 219,47 @@ time.post-time {
            margin: 0;
            margin-bottom: 2px;
        }
    }
}

        .post-metadata {
            color: var(--aside-fg-color);
            align-items: center;
            align-items: center;
.post-metadata {
    color: var(--aside-fg-color);
    align-items: center;
    align-items: center;

            .feed-icon {
                height: 1rem;
                position: relative;
                top: 0.13em;
    .feed-icon {
        height: 1rem;
        position: relative;
        top: 0.13em;

                path {
                    fill: var(--aside-fg-color);
                }
            }
        path {
            fill: var(--aside-fg-color);
        }
    }
}


.post-tags {
    margin: 0;
    padding: 0;
    display: inline;

    li {
        margin: 0;
        padding: 0;
        display: inline;
    }

    li + li::before {
        content: ", ";
    }
}

.list-title {
    display: flex;
    justify-content: center;

    font-size: 1.6rem;
    font-size: 1.2rem;
    font-weight: normal;

    margin: 0.5rem 0;


@@ 274,13 291,29 @@ time.post-time {
    }
}

.tag-list {
    margin: 0;
    padding: 0;

    list-style-type: none;

    li {
        margin: 0;
        padding: 0;
        display: inline;
    }

    li + li::before {
        content: ", ";
    }
}

.content > footer {
    grid-row: 4 / 5;
    grid-column: 1 / 3;

    font-size: 0.9rem;
    margin-top: auto;
    //border-top: solid 2px;

    p {
        padding: 0;


@@ 290,6 323,10 @@ time.post-time {

section.webring {
    margin: 0 0.5rem;
    margin-top: 0.5rem;
    border-top: 1px solid var(--main-fg-color);


    font-size: 0.9rem;
    display: flex;
    flex-direction: column;


@@ 304,6 341,7 @@ section.webring {
    header {
        h2 {
            font-size: 1rem;
            margin-bottom: 0;
        }

        h3 {


@@ 412,6 450,10 @@ section.webring {

    }

    .list-title {
        font-size: 1.6rem;
    }

    .content main {
        display: flex;
        flex-direction: column;

M config.toml => config.toml +3 -1
@@ 3,7 3,9 @@ languageCode = "en-us"
title = "3fx.ch"

pygmentsUseClasses = true
disableKinds = ["taxonomy", "term"]

[taxonomies]
  tag = "tags"

[permalinks]
  blog = "/blog/:year/:month/:day/:filename"

M content/blog/composition-in-trick-taking-card-games.md => content/blog/composition-in-trick-taking-card-games.md +1 -1
@@ 1,7 1,7 @@
---
title: "Composition in Trick-Taking Card Games"
date: 2020-12-03T00:00:00+09:00
tags: haskell
tags: [haskell]
---

> This article was written as part of the [Advent of Haskell

M content/blog/on-decidability-and-the-mu-puzzle.md => content/blog/on-decidability-and-the-mu-puzzle.md +0 -2
@@ 151,8 151,6 @@ example shows us that some abstract problems pop up in unexpected places, and
why seemingly purely theoretical knowledge matters, even for applied problems
such as building compilers.

---

If you have any questions or comments feel free to reach out to me via my
[public inbox](https://lists.sr.ht/~bfiedler/public-inbox). If you are
interested in undecidability in other programming languages, you might also like

M layouts/blog/single.html => layouts/blog/single.html +13 -0
@@ 15,6 15,19 @@
        {{- else }}
        <section>{{ .Content }}</section>
        {{- end }}
        {{- if .Params.tags -}}
        <footer class="post-metadata">
            tags: [
            <ul class="post-tags">
                {{- range .Params.tags }}
                <li>
                    <a href="/tags/{{ . }}">{{ . }}</a>
                </li>
                {{- end }}
            </ul>
            ]
        </footer>
        {{- end -}}
    </article>
</main>
{{ partial "openring.html" . }}

A layouts/taxonomy/taxonomy.html => layouts/taxonomy/taxonomy.html +16 -0
@@ 0,0 1,16 @@
{{ define "title" }}Tags{{ end }}
{{ define "main" }}
{{ partial "header.html" (dict "context" . "IsDetailed" true "DisplayImage" true) }}
<main>
    <h1 class="list-title">{{ block "title" . }}{{ end }}</h1>
    <p>Below you can find a list of tags I've used on this blog.</p>
    <ol class="tag-list">
        {{- range .Data.Terms.Alphabetical }}
        <li>
            <a href="/tags/{{ .Name }}">{{ .Name }}</a>
        </li>
        {{- end }}
    </ol>
</main>
{{ partial "footer.html" }}
{{ end }}

A layouts/taxonomy/term.html => layouts/taxonomy/term.html +20 -0
@@ 0,0 1,20 @@
{{ define "title" }}Posts tagged {{ .Title }}{{ end }}
{{ define "main" }}
{{ partial "header.html" (dict "context" . "IsDetailed" true "DisplayImage" true) }}
<main>
    <h1 class="list-title">{{ block "title" . }}{{ end }}</h1>
    <ol class="post-list">
        {{- range .Pages.ByPublishDate.Reverse }}
        <li>
            <article>
                <header>
                    <time class="post-time" datetime="{{ .Date.Format "2006-01-02T15:04:05Z0700" }}">{{ .Date.Format "2006-01-02" }}</time>
                    <h1><a href="{{ .RelPermalink }}">{{ .Title }}</a></h1>
                </header>
            </article>
        </li>
        {{- end }}
    </ol>
</main>
{{ partial "footer.html" }}
{{ end }}

A layouts/taxonomy/term.xml => layouts/taxonomy/term.xml +39 -0
@@ 0,0 1,39 @@
{{- $pctx := . -}}
{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}}
{{- $pages := slice -}}
{{- if or $.IsHome $.IsSection -}}
{{- $pages = $pctx.RegularPages -}}
{{- else -}}
{{- $pages = $pctx.Pages -}}
{{- end -}}
{{- $limit := .Site.Config.Services.RSS.Limit -}}
{{- if ge $limit 1 -}}
{{- $pages = $pages | first $limit -}}
{{- end -}}
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>3fx.ch - {{ .Name }}</title>
    <link>https://3fx.ch/tags/{{ .Name }}</link>
    <description>Recent posts on 3fx.ch tagged {{ .Name }}</description>
    <generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }}
    <language>{{.}}</language>{{end}}{{ with .Site.Author.email }}
    <managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }}
    <webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }}
    <copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
    <lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
    {{- with .OutputFormats.Get "RSS" -}}
    {{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
    {{- end -}}
    {{ range $pages }}
    <item>
      <title>{{ .Title }}</title>
      <link>{{ .Permalink }}</link>
      <pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
      {{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
      <guid>{{ .Permalink }}</guid>
      <description>{{- .Content | html -}}</description>
    </item>
    {{ end }}
  </channel>
</rss>