Compare commits

...

6 commits

Author SHA1 Message Date
George Cushen 75a42222e9 feat(tailwind): port support for Publications and Events 2024-05-06 23:16:55 +01:00
George Cushen 2261d9b5f8 feat: add support for serif font 2024-05-06 23:14:37 +01:00
George Cushen 4a22c57dc3 fix: Callout accessibility and margin bottom 2024-05-06 23:13:48 +01:00
George Cushen 347501f9ea fix: show Collection title 2024-05-06 23:12:53 +01:00
George Cushen d147e71f52 feat: add show_skill_percentage option 2024-05-06 23:12:37 +01:00
George Cushen eba36169bb feat: add Emerald theme 2024-05-06 23:11:47 +01:00
21 changed files with 446 additions and 10 deletions

View file

@ -5,4 +5,5 @@
@import "main.css";
@import "./components/all.css";
@import "./blox/all.css";
@import "./views/attachments.css";
@import "chroma.css";

View file

@ -0,0 +1,14 @@
/* Hugo Blox color theme: EMERALD */
:root {
--color-primary-50: 236 253 245;
--color-primary-100: 209 250 229;
--color-primary-200: 167 243 208;
--color-primary-300: 110 231 183;
--color-primary-400: 52 211 153;
--color-primary-500: 16 185 129;
--color-primary-600: 5 150 105;
--color-primary-700: 4 120 87;
--color-primary-800: 6 95 70;
--color-primary-900: 6 78 59;
--color-primary-950: 2 44 34;
}

View file

@ -0,0 +1,11 @@
.hb-attachment-link {
@apply inline-block text-primary-600 dark:text-primary-400 font-bold uppercase outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150;
}
.hb-attachment-link-small {
@apply px-3 py-1 text-xs;
}
.hb-attachment-link-large {
@apply px-8 py-3;
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,12 @@
# Address formats.
en-ca = {order = ['street', 'city', 'region', 'postcode', 'country'], delimiters = ['<br>', ', ', '<br>', '<br>']}
en-us = {order = ['street', 'city', 'region', 'postcode'], delimiters = [', ', ', ', ' ', '']}
en-gb = {order = ['street', 'city', 'region', 'postcode'], delimiters = [', ', ', ', ', ', '']}
de = {order = ['street', 'postcode', 'city'], delimiters = ['<br>', ' ', '']}
fr-ca = {order = ['street', 'city', 'region', 'postcode', 'country'], delimiters = ['<br>', ', ', '<br>', '<br>']}
fr-fr = {order = ['street', 'postcode', 'city'], delimiters = ['<br>', ' ', '']}
nl = {order = ['street', 'postcode', 'city', 'country'], delimiters = ['<br>', ' ', '<br>', '']}
zh = {order = ['postcode', 'region', 'city', 'street'], delimiters = [' ', ' ', ' ', '']}
pt-br = {order = ['street', 'city', 'region', 'postcode', 'country'], delimiters = ['<br>', ', ', '<br>', '<br>']}
il = {order = ['street', 'city', 'postcode', 'country'], delimiters = [', ', '&nbsp;', ' ', '']}
fi = {order = ['street', 'postcode', 'city', 'country'], delimiters = [', ', ' ', ', ']}

View file

@ -1,4 +1,14 @@
{{ define "main" }}
{{ $pub_type_csl := "" }}
{{ $pub_type_display := "" }}
{{ if .Params.publication_types }}
{{ if reflect.IsSlice .Params.publication_types }}
{{ $pub_type_csl = index .Params.publication_types 0 }}
{{ $pub_type_display = i18n (printf "pub_%s" (strings.Replace $pub_type_csl "-" "_")) | default (strings.Title $pub_type_csl) }}
{{ end }}
{{ end }}
<div class="mx-auto flex max-w-screen-xl">
{{ partial "components/sidebar.html" (dict "context" . "no_sidebar" true) }}
{{ partial "components/toc.html" . }}
@ -15,7 +25,8 @@
{{- .Title -}}
</h1>
<div class="mt-4 mb-16 text-gray-500 dark:text-gray-300 text-sm flex items-center flex-wrap gap-y-2">
<div class="mt-4 mb-16">
<div class="text-gray-500 dark:text-gray-300 text-sm flex items-center flex-wrap gap-y-2">
{{- if .Date | and (not .Params.hide_date) -}}
<span class="mr-1">{{- .Date | time.Format (site.Params.locale.date_format | default ":date_long") -}}</span>
{{- if .Params.authors }}<span class="mx-1">·</span>{{ end -}}
@ -47,8 +58,15 @@
{{ .ReadingTime }} {{ i18n "minute_read" }}
</span>
{{ end }}
</div>
<div class="mt-3">
{{ partial "page_links_div.html" . }}
</div>
</div>
{{ $featured := partial "functions/get_featured_image.html" . }}
{{/* Featured image layout */}}
{{ if and $featured (not .Params.image.preview_only) }}
@ -79,6 +97,59 @@
</div>
{{end}}
{{/* EVENT / PUBLICATION METADATA */}}
{{ if .Params.abstract | or (eq .Type "publication") | or (eq .Type "event") }}
<div class="max-w-prose grid grid-cols-1 md:grid-cols-[200px_auto] gap-4 my-6">
{{ if .Params.abstract }}
<div class="font-bold text-2xl">{{ i18n "abstract" }}</div>
<div>{{ .Params.abstract | markdownify }}</div>
{{ end }}
{{/* If the type is Uncategorized, hide the type. */}}
{{ if $pub_type_display }}
<div class="font-bold text-2xl">{{ i18n "publication_type" }}</div>
<div>
<a href="{{ range first 1 (.GetTerms "publication_types") }}{{.RelPermalink}}{{end}}">
{{ $pub_type_display }}
</a>
</div>
{{ end }}
{{ if .Params.publication }}
<div class="font-bold text-2xl">{{ i18n "publication" }}</div>
<div>{{ .Params.publication | markdownify }}</div>
{{ end }}
{{ if eq .Type "event" }}
<div class="font-bold text-2xl">{{ i18n "date" }}</div>
<div>
{{ partial "functions/get_event_dates" . }}
</div>
{{ end }}
{{ if .Params.event }}
<div class="font-bold text-2xl">{{ i18n "event" }}</div>
<div>
{{ with .Params.event_url }}<a href="{{ . }}" target="_blank" rel="noopener">{{ end }}
{{ .Params.event | markdownify }}
{{ if .Params.event_url }}</a>{{ end }}
</div>
{{ end }}
{{ if .Params.location }}
<div class="font-bold text-2xl">{{ i18n "location" }}</div>
<div>
<p>{{ .Params.location | markdownify }}</p>
{{ if .Params.address }}
<p>{{partial "functions/get_address" (dict "root" . "address" .Params.address) }}</p>
{{end}}
</div>
{{ end }}
</div>
{{ end }}
<div class="prose prose-slate lg:prose-xl dark:prose-invert">
{{ .Content }}
</div>

View file

@ -78,7 +78,7 @@
{{ $columns := $block.design.columns | default "2" }}
{{ if $block.content.text }}
{{ if $block.content.title }}
<div class="flex flex-col items-center max-w-prose mx-auto gap-3 justify-center">
<div class="mb-6 text-3xl font-bold text-gray-900 dark:text-white">

View file

@ -13,6 +13,7 @@
{{ errorf "Could not find an author page at `%s`. Please check the value of `author` in your Skill block and create an associated author page if one does not already exist. See https://docs.hugoblox.com/page-builder/#about " $person_page_path }}
{{end}}
{{ $skills := $person_page.Params.skills }}
{{ $show_show_skill_percentage := $block.design.show_skill_percentage | default true }}
<div class="flex flex-col items-center max-w-prose mx-auto gap-3 justify-center">
@ -52,7 +53,7 @@
{{ .name | markdownify | emojify }}
{{ with .description }}<p class="skills-description">{{ . | markdownify | emojify }}</p>{{ end }}
</span>
{{ if .percent }}
{{ if .percent | and $show_show_skill_percentage }}
<div class="skills-wrapper" {{with $color_border}}{{ (printf "style=\"border-color: %s\"" .) | safeHTMLAttr }}{{end}}>
<div class="skills-percent" style="width: {{ (printf "%s" (cast.ToString (.percent | default 100))) | safeCSS }}%; {{with $color}}{{ (printf "background-color: %s" .) | safeCSS }}{{end}}"></div>
</div>

View file

@ -0,0 +1,23 @@
{{/* Function to return a formatted address given a semantic address. */}}
{{/* Check for valid site config. */}}
{{ if not site.Data.address_formats }}{{errorf "Address formats missing from `data/address_formats.toml`!"}}{{end}}
{{ $page := . }}
{{ $address := .address }}
{{ $format_name := $page.Params.address_format | default site.Params.locale.address_format | default "en-us" }}
{{ if not (isset site.Data.address_formats $format_name) }}{{ errorf "Address format `%s` missing from `data/address_formats.toml`!" $format_name }}{{end}}
{{ $format := index site.Data.address_formats $format_name }}
{{ $address_display := slice }}
{{ range $k, $v := $format.order }}
{{ if eq $v "street" | and $address.street }}{{$address_display = $address_display | append (transform.HTMLEscape $address.street) | append (index $format.delimiters $k | default "") }}{{end}}
{{ if eq $v "city" | and $address.city }}{{$address_display = $address_display | append (transform.HTMLEscape $address.city) | append (index $format.delimiters $k | default "") }}{{end}}
{{ if eq $v "region" | and $address.region }}{{$address_display = $address_display | append (transform.HTMLEscape $address.region) | append (index $format.delimiters $k | default "") }}{{end}}
{{ if eq $v "postcode" | and $address.postcode }}{{$address_display = $address_display | append (transform.HTMLEscape $address.postcode) | append (index $format.delimiters $k | default "") }}{{end}}
{{ if eq $v "country" | and $address.country }}{{$address_display = $address_display | append (transform.HTMLEscape $address.country) | append (index $format.delimiters $k | default "") }}{{end}}
{{end}}
{{ return safeHTML (delimit $address_display "") }}

View file

@ -0,0 +1,17 @@
{{/* Function to get event start and end dates/times. */}}
{{ $t1 := time .Date }}{{/* Start datetime. */}}
{{ $str := slice (time.Format site.Params.locale.date_format (time $t1)) }}{{/* Init return string with start date. */}}
{{/* Show start time if not all day event. */}}
{{ if not .Params.all_day }}{{ $str = $str | append (time.Format site.Params.locale.time_format (time $t1)) }}{{ end }}
{{/* Show event end date if provided. */}}
{{ if .Params.date_end }}
{{ $str = $str | append "&mdash;" }}
{{ $t2 := time .Params.date_end}}{{/* End datetime. */}}
{{/* Show end date if it differs to start date. */}}
{{ if not (eq $t1.Year $t2.Year | and (eq $t1.Month $t2.Month) | and (eq $t1.Day $t2.Day)) }}
{{ $str = $str | append (time.Format site.Params.locale.date_format (time $t2)) }}
{{ end }}
{{/* Show end time if not all day event. */}}
{{ if not .Params.all_day }}{{ $str = $str | append (time.Format site.Params.locale.time_format (time $t2)) }}{{ end }}
{{ end }}
{{ return ((delimit $str " ") | safeHTML) }}

View file

@ -0,0 +1,23 @@
{{/* Return true if the page has attachments or link buttons to display. */}}
{{ $page := . }}
{{ $pdf_link := false }}
{{/* Prevent Hugo warning ".File.ContentBaseName on zero object." for content not backed by a Markdown file, */}}
{{/* such as auto-generated taxonomy pages, and sections without an explicit index file. */}}
{{/* The file check is required when called from `_default/list.html`, the fallback list view for the above cases. */}}
{{ with $page.File }}
{{ $slug := $page.File.ContentBaseName }}
{{ $resource := $page.Resources.GetMatch (printf "%s.pdf" $slug) }}
{{ with $resource }}
{{ $pdf_link = true }}
{{ end }}
{{ end }}
{{ $cite_link := false }}
{{ $resource := $page.Resources.GetMatch "cite.bib" }}
{{ with $resource }}
{{ $cite_link = true }}
{{ end }}
{{ return ($cite_link | or $pdf_link | or .Params.url_preprint | or .Params.url_pdf | or .Params.url_slides | or .Params.url_video | or .Params.url_source | or .Params.url_code | or .Params.url_dataset | or .Params.url_poster | or .Params.url_project | or .Params.doi | or .Params.links | or .Params.projects | or .Params.slides) }}

View file

@ -0,0 +1,167 @@
{{ $is_list := .is_list }}
{{ $page := .page }}
{{ $link := "" }}
{{/* ***** TODO: Deprecate `url_preprint` in favour of `url_pdf` given there's now a dedicated "Preprint" pub. type. ***** */}}
{{ with $page.Params.url_preprint }}
{{ $resource := $page.Resources.GetMatch . }}
{{ if $resource }}
{{ $link = $resource.RelPermalink }}
{{ else }}
{{ $link = . | relURL }}
{{ end }}
<a class="hb-attachment-link {{ if $is_list }}hb-attachment-small{{else}}hb-attachment-large{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
{{ i18n "btn_preprint" }}
</a>
{{ end }}
{{ $pdf := "" }}
{{ $resource := $page.Resources.GetMatch (printf "%s.pdf" $page.File.ContentBaseName) }}
{{ with $resource }}
{{ $pdf = .RelPermalink }}
{{ else }}
{{ if $page.Params.url_pdf }}
{{ $pdf = $page.Params.url_pdf | relURL }}
{{ end }}
{{ end }}
{{ with $pdf }}
<a class="hb-attachment-link {{ if $is_list }}hb-attachment-small{{else}}hb-attachment-large{{end}}" href="{{ . }}" target="_blank" rel="noopener">
{{ partial "functions/get_icon" (dict "name" "document-text" "attributes" "style=\"height: 1em\" class='inline-block'") }}
{{ i18n "btn_pdf" }}
</a>
{{ end }}
{{ $resource := $page.Resources.GetMatch "cite.bib" }}
{{ with $resource }}
<a class="hb-attachment-link {{ if $is_list }}hb-attachment-small{{else}}hb-attachment-large{{end}}" href="{{ .RelPermalink }}" target="_blank" data-filename="{{ .RelPermalink }}">
{{ partial "functions/get_icon" (dict "name" "document-duplicate" "attributes" "style=\"height: 1em\" class='inline-block'") }}
{{ i18n "btn_cite" }}
</a>
{{ end }}
{{ with $page.Params.url_code }}
{{ $resource := $page.Resources.GetMatch . }}
{{ if $resource }}
{{ $link = $resource.RelPermalink }}
{{ else }}
{{ $link = . | relURL }}
{{ end }}
<a class="hb-attachment-link {{ if $is_list }}hb-attachment-small{{else}}hb-attachment-large{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
{{ partial "functions/get_icon" (dict "name" "code-bracket" "attributes" "style=\"height: 1em\" class='inline-block'") }}
{{ i18n "btn_code" }}
</a>
{{ end }}
{{ with $page.Params.url_dataset }}
{{ $resource := $page.Resources.GetMatch . }}
{{ if $resource }}
{{ $link = $resource.RelPermalink }}
{{ else }}
{{ $link = . | relURL }}
{{ end }}
<a class="hb-attachment-link {{ if $is_list }}hb-attachment-small{{else}}hb-attachment-large{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
{{ partial "functions/get_icon" (dict "name" "circle-stack" "attributes" "style=\"height: 1em\" class='inline-block'") }}
{{ i18n "btn_dataset" }}
</a>
{{ end }}
{{ if $page.Params.projects }}
{{ range $page.Params.projects }}
{{ with (site.GetPage (printf "project/%s" .)) }}
<a class="hb-attachment-link {{ if $is_list }}hb-attachment-small{{else}}hb-attachment-large{{end}}" href="{{ .RelPermalink }}">
{{ i18n "btn_project" }}
</a>
{{ else }}
{{/* errorf "The `projects` parameter in `content/%s` references a project file, `content/project/%s`, which cannot be found. Please either set `projects = []` or fix the reference." $page.File.Path . */}}
{{ end }}
{{ end }}
{{ else }}
{{ with $page.Params.url_project }}
<a class="hb-attachment-link {{ if $is_list }}hb-attachment-small{{else}}hb-attachment-large{{end}}" href="{{ . }}" target="_blank" rel="noopener">
{{ i18n "btn_project" }}
</a>
{{ end }}
{{ end }}
{{ with $page.Params.url_poster }}
{{ $resource := $page.Resources.GetMatch . }}
{{ if $resource }}
{{ $link = $resource.RelPermalink }}
{{ else }}
{{ $link = . | relURL }}
{{ end }}
<a class="hb-attachment-link {{ if $is_list }}hb-attachment-small{{else}}hb-attachment-large{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
{{ partial "functions/get_icon" (dict "name" "photo" "attributes" "style=\"height: 1em\" class='inline-block'") }}
{{ i18n "btn_poster" }}
</a>
{{ end }}
{{ if $page.Params.slides }}
{{ with (site.GetPage (printf "slides/%s" $page.Params.slides)) }}
<a class="hb-attachment-link {{ if $is_list }}hb-attachment-small{{else}}hb-attachment-large{{end}}" href="{{ .RelPermalink }}" target="_blank">
{{ partial "functions/get_icon" (dict "name" "presentation-chart-bar" "attributes" "style=\"height: 1em\" class='inline-block'") }}
{{ i18n "btn_slides" }}
</a>
{{ end }}
{{ else }}
{{ with $page.Params.url_slides }}
{{ $resource := $page.Resources.GetMatch . }}
{{ if $resource }}
{{ $link = $resource.RelPermalink }}
{{ else }}
{{ $link = . | relURL }}
{{ end }}
<a class="hb-attachment-link {{ if $is_list }}hb-attachment-small{{else}}hb-attachment-large{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
{{ partial "functions/get_icon" (dict "name" "presentation-chart-bar" "attributes" "style=\"height: 1em\" class='inline-block'") }}
{{ i18n "btn_slides" }}
</a>
{{ end }}
{{ end }}
{{ with $page.Params.url_video }}
{{ $resource := $page.Resources.GetMatch . }}
{{ if $resource }}
{{ $link = $resource.RelPermalink }}
{{ else }}
{{ $link = . | relURL }}
{{ end }}
<a class="hb-attachment-link {{ if $is_list }}hb-attachment-small{{else}}hb-attachment-large{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
{{ partial "functions/get_icon" (dict "name" "video-camera" "attributes" "style=\"height: 1em\" class='inline-block'") }}
{{ i18n "btn_video" }}
</a>
{{ end }}
{{ with $page.Params.url_source }}
{{ $resource := $page.Resources.GetMatch . }}
{{ if $resource }}
{{ $link = $resource.RelPermalink }}
{{ else }}
{{ $link = . | relURL }}
{{ end }}
<a class="hb-attachment-link {{ if $is_list }}hb-attachment-small{{else}}hb-attachment-large{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
{{ partial "functions/get_icon" (dict "name" "document" "attributes" "style=\"height: 1em\" class='inline-block'") }}
{{ i18n "btn_source" }}
</a>
{{ end }}
{{ with $page.Params.doi }}
<a class="hb-attachment-link {{ if $is_list }}hb-attachment-small{{else}}hb-attachment-large{{end}}" href="https://doi.org/{{ . }}" target="_blank" rel="noopener">
DOI
</a>
{{ end }}
{{ range $page.Params.links }}
{{ $pack := or .icon_pack "fas" }}
{{ $pack_prefix := $pack }}
{{ if in (slice "fab" "fas" "far" "fal") $pack }}
{{ $pack_prefix = "fa" }}
{{ end }}
{{ $link := .url | default "" }}
{{ $scheme := (urls.Parse $link).Scheme }}
{{ $target := "" }}
{{ if not $scheme }}
{{ $resource := $page.Resources.GetMatch $link }}
{{ if $resource }}
{{ $link = $resource.RelPermalink }}
{{ else }}
{{ $link = $link | relURL }}
{{ end }}
{{ else if in (slice "http" "https") $scheme }}
{{ $target = "target=\"_blank\" rel=\"noopener\"" }}
{{ end }}
<a class="hb-attachment-link {{ if $is_list }}hb-attachment-small{{else}}hb-attachment-large{{end}}" href="{{ $link | safeURL }}" {{ $target | safeHTMLAttr }}>
{{ partial "functions/get_icon" (dict "name" "link" "attributes" "style=\"height: 1em\" class='inline-block'") }}
{{ if .icon }}<i class="{{ $pack }} {{ $pack_prefix }}-{{ .icon }} {{if .name}}mr-1{{end}}"></i>{{end}}
{{- with .name }}{{ . | safeHTML }}{{ end -}}
</a>
{{ end }}

View file

@ -0,0 +1,12 @@
{{/* Div wrapper around page links. */}}
{{/* The wrapper is hidden when the page has no link buttons. */}}
{{ $has_attachments := partial "functions/has_attachments" . }}
{{ if $has_attachments | or .Params.external_link }}
<div class="">
{{ with .Params.external_link }}
<a class="btn btn-outline-primary my-1" href="{{ . }}" target="_blank" rel="noopener">{{ i18n "open_project_site" }}</a>
{{ end }}
{{ partial "page_links" (dict "page" . "is_list" 0) }}
</div>
{{ end }}

View file

@ -0,0 +1,24 @@
{{/* Display author list. */}}
{{- $taxonomy := "authors" }}
{{ if .Param $taxonomy }}
{{ range $index, $value := (.GetTerms $taxonomy) }}
{{- /* Highlight the author's name? */ -}}
{{- $highlight_name := .Page.Params.highlight_name | default false -}}
{{- if gt $index 0 }}, {{ end -}}
<span {{ if $highlight_name }}class="font-bold"{{end}}>
{{/* Effectively check the page's `_build` option as `_build` is not exposed in Hugo's Page object. */}}
{{- if .RelPermalink -}}
<a href="{{.RelPermalink}}">{{.LinkTitle}}</a>
{{- else -}}
{{ .LinkTitle }}
{{- end -}}
</span>
{{- if isset $.Params "author_notes" -}}
{{- with (index $.Params.author_notes $index) -}}
<i class="author-notes fas fa-info-circle" data-toggle="tooltip" title="{{.}}"></i>
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}

View file

@ -216,7 +216,15 @@
{{/* Load font theme */}}
{{ $font_family := "Inter var" }}
{{ $font_file := "Inter.var.woff2" }}
{{ $font_file := "" }}
{{ $font_type := "" }}
{{ if eq site.Params.appearance.font "serif" }}
{{ $font_file = "RobotoSlab-VariableFont_wght.ttf" }}
{{ $font_type = "truetype" }}
{{else}}
{{ $font_file = "Inter.var.woff2" }}
{{ $font_type = "woff2" }}
{{end}}
{{ $font := resources.Get (printf "dist/font/%s" $font_file) }}
<style>
@font-face {
@ -224,7 +232,7 @@
font-style: normal;
font-weight: 100 900;
font-display: swap;
src: url({{ $font.RelPermalink }}) format("woff2");
src: url({{ $font.RelPermalink }}) format({{$font_type}});
}
</style>

View file

@ -0,0 +1,2 @@
</div>
</div>

View file

@ -0,0 +1,48 @@
{{ $item := .item }}
{{ $has_attachments := partial "functions/has_attachments" $item }}
<div class="pub-list-item view-citation" style="margin-bottom: 1rem">
<i class="far fa-file-alt pub-icon" aria-hidden="true"></i>
{{/* APA Style */}}
{{ if eq (site.Params.publications.citation_style | default "apa") "apa" }}
<span class="article-metadata li-cite-author">
{{ partial "page_metadata_authors" $item }}
</span>
({{- $item.Date.Format "2006" -}}).
<a href="{{ $item.RelPermalink }}" class="underline">{{ $item.Title }}</a>.
{{ if $item.Params.publication_short }}
{{- $item.Params.publication_short | markdownify -}}.
{{ else if $item.Params.publication }}
{{- $item.Params.publication | markdownify -}}.
{{ end }}
{{ if $has_attachments }}
<div class="flex space-x-3">
{{ partial "page_links" (dict "page" $item "is_list" 1) }}
</div>
{{ end }}
{{/* MLA Style */}}
{{ else }}
<span class="article-metadata li-cite-author">
{{ partial "page_metadata_authors" $item }}.
</span>
<a href="{{ $item.RelPermalink }}">{{ $item.Title }}</a>.
{{ if $item.Params.publication_short }}
{{- $item.Params.publication_short | markdownify -}},
{{ else if $item.Params.publication }}
{{- $item.Params.publication | markdownify -}},
{{ end }}
{{- $item.Date.Format "2006" -}}.
{{ if $has_attachments }}
<div class="flex space-x-3">
{{ partial "page_links" (dict "page" $item "is_list" 1) }}
</div>
{{ end }}
{{ end }}
</div>

View file

@ -0,0 +1,2 @@
<div class="mt-16 sm:mt-20 w-fit">
<div class="flex max-w-3xl flex-col space-y-3">

View file

@ -10,7 +10,7 @@
*/}}
{{ $icon := "information-circle" }}
{{ $class := "bg-primary-100 dark:bg-primary-900" }}
{{ $class_text := "text-primary-400" }}
{{ $class_text := "text-primary-600 dark:text-primary-300" }}
{{ with (.Get 0) }}
{{ if eq . "note" }}
{{ $icon = "information-circle" }}
@ -22,7 +22,7 @@
{{ $icon = . }}
{{end}}
{{end}}
<div class="flex px-4 py-3 rounded-md {{$class}}">
<div class="flex px-4 py-3 mb-6 rounded-md {{$class}}">
<span class="pr-3 pt-1 {{$class_text}}">
{{ partial "functions/get_icon" (dict "name" $icon "attributes" "height=\"24\"") }}
</span>

View file

@ -14,7 +14,7 @@ module.exports = {
'./layouts/**/*.html',
'**/libs/chroma/*.css',
'./**/*.svg',
'../../starters/**/*.html',
'../../starters/**/*.md',
...content_extra,
// ...(process.env.HB_TPL ? '../../starters/'+process.env.HB_TPL+'/hugo_stats.json' : './hugo_stats.json'),
],