From 59038f7562dc4582e06bf90800ac44a4a2c03630 Mon Sep 17 00:00:00 2001 From: Madison Rye Progress Date: Thu, 12 Mar 2026 18:20:15 -0700 Subject: [PATCH] Creator links, improved author listings --- data/creators.yml | 3 ++ data/works.yaml | 15 ++++++---- layouts/_shortcodes/works.html | 55 +++++++++++++++++++++++++++------- static/css/post-self.css | 5 +++- 4 files changed, 60 insertions(+), 18 deletions(-) create mode 100644 data/creators.yml diff --git a/data/creators.yml b/data/creators.yml new file mode 100644 index 0000000..62aeb91 --- /dev/null +++ b/data/creators.yml @@ -0,0 +1,3 @@ +Madison Rye Progress: https://wiki.post-self.ink/wiki/Madison_Rye_Progress +Samantha Yule Fireheart: https://wiki.post-self.ink/wiki/Samantha_Yule_Fireheart +"Krzysztof \"Tomash\" Drewniak": https://wiki.post-self.ink/wiki/User:Tomash diff --git a/data/works.yaml b/data/works.yaml index 61fcdfc..7743b91 100644 --- a/data/works.yaml +++ b/data/works.yaml @@ -27,7 +27,7 @@ - title: Coffee Leak url: /stories/coffee-leak authors: - - Krzystof "Tomash" Drewniak + - Krzysztof "Tomash" Drewniak type: short story years: - 2299 @@ -135,7 +135,7 @@ - 2323 characters: - Scout At The Party III - description: The Party *never* stops. Therei s a dog in this one~ + description: The Party *never* stops. There is a dog in this one~ - title: To — in the days after her death url: /stories/to---in-the-days-after-her-death @@ -340,6 +340,7 @@ - 2346–2355 characters: - The Bălan clade + description: Selected correspondences of the Bălan clade systime 222–232. ############## # Motes Played @@ -434,8 +435,9 @@ collection: hashichzur authors: - Madison Rye Progress - - Samantha Yule Fireheart (contributor) - - Krzysztof "Tomash" Drewniak (contributor) + contributors: + - Samantha Yule Fireheart + - Krzysztof "Tomash" Drewniak type: novel years: - 2403 @@ -476,7 +478,8 @@ collection: hashichzur authors: - Madison Rye Progress - - Samantha Yule Fireheart (contributor) + contributors: + - Samantha Yule Fireheart type: novel years: - 2401 @@ -572,7 +575,7 @@ - 2401 characters: - Scout At The Party V - decription: It may stumble, but nothing stops The Party. + description: It may stumble, but nothing stops The Party. - title: A Well-Trained Eye url: https://marsh.post-self.ink/stories/a-well-trained-eye/ diff --git a/layouts/_shortcodes/works.html b/layouts/_shortcodes/works.html index d8243bd..94098c8 100644 --- a/layouts/_shortcodes/works.html +++ b/layouts/_shortcodes/works.html @@ -4,7 +4,16 @@
{{- range $work := sort (where (where $works "collection" nil) "parent" nil) "title" "asc" }} -
{{ $work.title }} by {{ delimit $work.authors ", " }}
+
{{ $work.title }} by + {{ range $k, $author := $work.authors }} + {{- if index hugo.Data.creators $author }}{{ $author | markdownify }}{{ else }}{{ $author | markdownify }}{{ end }} + {{- if ne (add $k 1) ($work.authors | len) }}, {{ end }} + {{- end }} + {{- range $contributor := $work.contributors }}, + {{ if index hugo.Data.creators $contributor }}{{ $contributor | markdownify }}{{ else }}{{ $contributor | markdownify }}{{ end }} + (contributor) + {{- end }} +
{{ $work.description | markdownify }}
    @@ -22,7 +31,16 @@

    Associated works

    {{- range $subwork := where $works "parent" "eq" $work.title }} -
    {{ $subwork.title }} by {{ delimit $subwork.authors ", " }}
    +
    {{ $subwork.title }} by + {{ range $k, $author := $subwork.authors }} + {{- if index hugo.Data.creators $author }}{{ $author | markdownify }}{{ else }}{{ $author | markdownify }}{{ end }} + {{- if ne (add $k 1) ($work.authors | len) }}, {{ end }} + {{- end }} + {{- range $contributor := $subwork.contributors }}, + {{ if index hugo.Data.creators $contributor }}{{ $contributor | markdownify }}{{ else }}{{ $contributor | markdownify }}{{ end }} + (contributor) + {{- end }} +
    {{ $subwork.description | markdownify }}
      @@ -48,16 +66,25 @@
      {{- range $work := where $works "collection" $collection.id }} -
      {{ $work.title }} by {{ delimit $work.authors ", " }}
      +
      {{ $work.title }} by + {{ range $k, $author := $work.authors }} + {{- if index hugo.Data.creators $author }}{{ $author | markdownify }}{{ else }}{{ $author | markdownify }}{{ end }} + {{- if ne (add $k 1) ($work.authors | len) }}, {{ end }} + {{- end }} + {{- range $contributor := $work.contributors }}, + {{ if index hugo.Data.creators $contributor }}{{ $contributor | markdownify }}{{ else }}{{ $contributor | markdownify }}{{ end }} + (contributor) + {{- end }} +
      {{ $work.description | markdownify }}
      • Type: {{ $work.type }}
      • -
      • Characters and dates:
          +
        • Characters and dates: {{- range $k, $v := $work.years }} -
        • {{ index $work.characters $k }} — {{ $v }}
        • - {{- end }} -
      • + {{ index $work.characters $k }} — {{ $v }} + {{- if ne (add $k 1) ($work.years | len) }}, {{- end }} + {{- end }} {{- if $work.cw }}
      • CWs: {{ $work.cw }}
      • {{- end }} {{- if $work.spoilers }}
      • Spoilers: {{ $work.spoilers | markdownify }}
      • {{- end }}
      @@ -66,7 +93,16 @@

      Associated works

      {{- range $subwork := where $works "parent" "eq" $work.title }} -
      {{ $subwork.title }} by {{ delimit $subwork.authors ", " }}
      +
      {{ $subwork.title }} by + {{ range $k, $author := $subwork.authors }} + {{- if index hugo.Data.creators $author }}{{ $author | markdownify }}{{ else }}{{ $author | markdownify }}{{ end }} + {{- if ne (add $k 1) ($work.authors | len) }}, {{ end }} + {{- end }} + {{- range $contributor := $subwork.contributors }}, + {{ if index hugo.Data.creators $contributor }}{{ $contributor | markdownify }}{{ else }}{{ $contributor | markdownify }}{{ end }} + (contributor) + {{- end }} +
      {{ $subwork.description | markdownify }}
        @@ -90,6 +126,3 @@ {{- end }} - - diff --git a/static/css/post-self.css b/static/css/post-self.css index f83c5a3..78127a3 100644 --- a/static/css/post-self.css +++ b/static/css/post-self.css @@ -200,6 +200,9 @@ main.story .author, main.story .character, main.story h3 { margin-left: 1.5rem; } +.works { + text-align: left; +} .works dt { background: rgba(127, 127, 127, 0.2); background: linear-gradient(135deg, transparent 0.5rem, rgba(127, 127, 127, 0.2) 0) top left; @@ -211,13 +214,13 @@ main.story .author, main.story .character, main.story h3 { .works .author { font-size: 14pt; font-style: italic; + opacity: 0.75; } .works dd { background-color: rgba(127, 127, 127, 0.1); background: linear-gradient(315deg, transparent 0.5rem, rgba(127, 127, 127, 0.1) 0) bottom right; margin: 0 0 2rem 0; padding: 0.25rem 1rem 0.25rem 2rem; - text-align: left; font-size: 16pt; } .works h2 {