1 Commits

Author SHA1 Message Date
7780ccb376 WIP: use template to generate the individual share buttons 2025-07-30 01:59:40 -05:00
29 changed files with 227 additions and 276 deletions

View File

@@ -24,17 +24,7 @@ series:
resources: resources:
- name: feature - name: feature
src: something.webp src: something.webp
title: >- title: Some image (image format can be anything; webp is just an example)
Fallback title if one is not provided when calling figure shortcode with
this listed as the src
params:
alt: Write an accessible description of this image. Don't over-write.
- src: demonstration.webp
params:
alt: >-
Annotate an image without giving it an explicit name (the filename is
simply used as the `name` instead).
--- ---

View File

@@ -158,38 +158,61 @@ pre > code {
/* }}} */ /* }}} */
/* Common distances/sizes {{{ */ /* Basic elements {{{ */
:root { html {
--page-margin: 16px; scroll-behavior: smooth;
} }
/* }}} */ @media screen and (prefers-reduced-motion: reduce) {
html {
scroll-behavior: auto;
}
}
body {
background-color: var(--background-0);
color: var(--text-0);
overflow-wrap: break-word;
margin: 0;
}
/* Common elements {{{ */ .main-container {
margin: 20px auto;
padding: 0 20px;
max-width: 760px; /* 720px + 20px for left & right padding */
}
footer {
margin: 20px 0;
text-align: center;
font-size: smaller;
}
footer p {
margin: 0;
}
img, img,
video { video {
max-width: 100%; max-width: 100%;
} }
figure > .figure-media { .post-media > figure img,
.post-media > figure video {
padding: 5px; padding: 5px;
}
figure > .figure-media.border {
border: 2px solid var(--figure-border);
}
.post-media > figure > .figure-media {
border: 7px solid var(--figure-border); border: 7px solid var(--figure-border);
} }
figure img,
figure video {
padding: 5px;
border: 2px solid var(--figure-border);
}
figure { figure {
display: block; margin: auto;
text-align: center; display: inline-block;
margin: 0;
} }
figcaption { figcaption {
@@ -217,6 +240,14 @@ hr {
border: 1px solid var(--background-3); border: 1px solid var(--background-3);
} }
@media (min-width: 720px) {
.full-width-hr {
/* see also: the related-posts section too */
margin-left: calc(-100vw / 2 + 760px / 2);
margin-right: calc(-100vw / 2 + 760px / 2);
}
}
table.simple { table.simple {
border-collapse: collapse; border-collapse: collapse;
border: 2px solid var(--text-1); border: 2px solid var(--text-1);
@@ -276,54 +307,12 @@ table.simple tbody tr:nth-child(even) {
/* }}} */ /* }}} */
/* Baseof formatting {{{ */ /* Heading formatting (article section titles) {{{ */
html { /* this is also used i.e. in page-title */
scroll-behavior: smooth; .heading-link {
} color: inherit;
font-weight: bold;
@media screen and (prefers-reduced-motion: reduce) {
html {
scroll-behavior: auto;
}
}
body {
background-color: var(--background-0);
color: var(--text-0);
overflow-wrap: break-word;
margin: 0;
}
.main-container {
margin: var(--page-margin) auto;
/* use padding because otherwise there's no way to have margin be both auto, and a minimum value */
padding: 0 var(--page-margin);
max-width: calc(720px + 2 * var(--page-margin)); /* padding is included in the element's width */
}
footer {
margin: var(--page-margin) 0;
text-align: center;
font-size: smaller;
}
footer p {
margin: 0;
}
#skip-to-main {
position: absolute;
padding: 8px;
background-color: var(--text-0);
color: var(--background-0);
transform: translateY(-100%);
}
#skip-to-main:focus {
transform: translateY(0%);
}
#main-content:target {
animation: none; /* prevent it from turning yellow */
} }
/* }}} */ /* }}} */
@@ -336,30 +325,23 @@ footer p {
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
background-color: var(--background-1); background-color: var(--background-1);
/* padding can't be here because then the first navbar element will be shifted too far over,
* or it will need its hover background to be chopped off on the left */
} }
.brand { .header {
flex-grow: 1; flex-grow: 1;
margin: 8px var(--page-margin); margin: 8px 16px;
font-size: 1.25em; font-size: 1.25em;
display: flex; display: flex;
align-items: center; align-items: center;
} }
.brand a {
color: inherit;
font-weight: bold;
}
.navbar { .navbar {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
} }
.navbar-item { .navbar-item {
padding: 12px var(--page-margin); padding: 12px 16px;
white-space: nowrap; white-space: nowrap;
} }
@@ -374,10 +356,26 @@ footer p {
/* }}} */ /* }}} */
/* Skip to main content {{{ */
#skip-to-main {
position: absolute;
padding: 8px;
background-color: var(--text-0);
color: var(--background-0);
transform: translateY(-100%);
}
#skip-to-main:focus {
transform: translateY(0%);
}
#main-content:target {
animation: none; /* prevent it from turning yellow */
}
/* }}} */
/* Breadcrumb navigation {{{ */ /* Breadcrumb navigation {{{ */
.breadcrumb { .breadcrumb {
margin: var(--page-margin) 0; margin: 20px 0;
} }
.breadcrumb ul { .breadcrumb ul {
@@ -485,10 +483,6 @@ footer p {
margin-bottom: 10px; margin-bottom: 10px;
} }
.page-title a {
color: inherit;
}
.page-title h1 { .page-title h1 {
margin: 0; margin: 0;
} }
@@ -506,14 +500,6 @@ footer p {
margin-top: 10px; margin-top: 10px;
} }
:is(
.page-metadata-section:is(.categories, .tags, .series),
.page-metadata-item.authors
) > a:not(:last-child):after {
color: var(--text-0);
content: ",";
}
.post-media { .post-media {
margin-top: 15px; margin-top: 15px;
} }
@@ -640,10 +626,14 @@ footer p {
margin-bottom: 5px; margin-bottom: 5px;
} }
.view-section {
margin-top: 5px;
}
/* }}} */ /* }}} */
/* Components exclusive to content/single pages {{{ */ /* Content (single) formatting {{{ */
.series-box { .series-box {
background-color: var(--background-1); background-color: var(--background-1);
@@ -707,6 +697,19 @@ footer p {
} }
*/ */
/* See also formating */
.see-also {
background-color: var(--background-1);
color: var(--text-1);
padding: 8px 12px;
border-radius: 8px;
margin: 10px 0;
}
.see-also p {
margin: 0;
}
/* Previous and next page buttons {{{ */ /* Previous and next page buttons {{{ */
.prevnext { .prevnext {
@@ -757,45 +760,6 @@ footer p {
/* }}} */ /* }}} */
/* Related posts section {{{ */
/* set the margins on the contents instead of the parent .related-posts
* so that the posts in the list clip off the edge of the screen,
* which makes a more obvious indicator that it's scrollable
*/
.related-posts > hr,
.related-posts > h1 {
margin: var(--page-margin);
}
.related-posts .page {
min-width: 300px;
max-width: 300px;
}
.related-posts .page:first-child {
margin-left: var(--page-margin);
}
.related-posts .page:last-child {
margin-right: var(--page-margin);
}
.related-posts .page-list {
display: flex;
flex-direction: row;
gap: 20px;
overflow-x: auto;
margin-bottom: var(--page-margin);
}
/* }}} */
/* }}} */
/* Content components (can appear both in single and list pages) {{{ */
/* Code & code blocks {{{ */ /* Code & code blocks {{{ */
.code-block { .code-block {
display: flex; display: flex;
@@ -812,13 +776,10 @@ footer p {
padding: 4px 8px; padding: 4px 8px;
border-top-left-radius: 8px; border-top-left-radius: 8px;
border-top-right-radius: 8px; border-top-right-radius: 8px;
height: 2em;
}
.code-block > .code-header > * {
margin: auto 0;
} }
.code-block > .code-header > .code-type { .code-block > .code-header > .code-type {
border-top-left-radius: 8px; border-top-left-radius: 8px;
margin: auto 0;
} }
/* TODO: make the code copy button prettier */ /* TODO: make the code copy button prettier */
.code-block > .code-header > .code-copy-button { .code-block > .code-header > .code-copy-button {
@@ -912,23 +873,44 @@ aside.quote {
/* }}} */ /* }}} */
/* See also formating */ /* }}} */
.see-also {
background-color: var(--background-1); /* Related posts section {{{ */
color: var(--text-1);
padding: 8px 12px; .full-width-page-list {
border-radius: 8px; /* make left/right 0 margin so it takes up full width */
margin: 10px 0; margin: 25px 0;
} }
.see-also p { .related-posts > hr,
margin: 0; .related-posts > h1 {
margin-left: 20px;
margin-right: 20px;
}
.related-posts .page {
min-width: 300px;
max-width: 300px;
}
.related-posts .page:first-child {
margin-left: 20px;
}
.related-posts .page:last-child {
margin-right: 20px;
}
.related-posts .page-list {
display: flex;
flex-direction: row;
gap: 20px;
overflow-x: scroll;
} }
/* }}} */ /* }}} */
/* @media specializations {{{ */ /* @media specializations {{{ */
/* Light mode */ /* Light mode */

View File

@@ -1,14 +1,3 @@
.comments > h2 {
margin-bottom: 0;
}
.comments .email-address-notice {
margin: 0;
font-size: smaller;
}
.comments .enable-javascript-notice {
font-style: italic;
}
/* Isso styling */ /* Isso styling */
h4.isso-thread-heading { h4.isso-thread-heading {
color: var(--text-0); color: var(--text-0);

View File

@@ -1,4 +0,0 @@
.page-meta-comments-counter,
.code-copy-button {
display: none;
}

View File

@@ -1,20 +1,15 @@
{{/* put comments CSS here instead of in <head> so that it doesn't get
* loaded unnecessarily on regular pages
*/}}
{{ with resources.Get "css/comments.css" | fingerprint "sha512" }} {{ with resources.Get "css/comments.css" | fingerprint "sha512" }}
<link rel="stylesheet" type="text/css" href="{{ .Permalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous"> <link rel="stylesheet" type="text/css" href="{{ .Permalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous">
{{ end }} {{ end }}
<h2>Comments</h2> <h2 style="margin-bottom: 0;">Comments</h2>
<p class="email-address-notice"> <p style="margin: 0; font-size: smaller;">
If you provide an email address, you can enable notifications for If you provide an email address, you can enable notifications for
replies to your comment. It will not be shown publicly. replies to your comment. It will not be shown publicly.
</p> </p>
<noscript> <noscript>
<p class="enable-javascript-notice"> <i>Enable JavaScript to see the comment section.</i>
Enable JavaScript to see the comment section.
</p>
</noscript> </noscript>
<section id="isso-thread" data-title="{{ .Title }}"></section> <section id="isso-thread" data-title="{{ .Title }}"></section>

View File

@@ -0,0 +1,7 @@
{{ with .Description }}
<p>{{ . | markdownify }}</p>
{{ else }}
{{ with .Summary }}
{{ . }}
{{ end }}
{{ end }}

View File

@@ -3,9 +3,9 @@
* claims that images won't work with JS disabled since it would * claims that images won't work with JS disabled since it would
* make tracking possible, but my experience says otherwise * make tracking possible, but my experience says otherwise
*/}} */}}
<img class="figure-media" src="{{ .Permalink }}" {{ with .Params.alt }}alt="{{ . }}"{{ end }} /> <img src="{{ .Permalink }}" {{ with .Params.alt }}alt="{{ . }}"{{ end }} />
{{ else if eq .ResourceType "video" }} {{ else if eq .ResourceType "video" }}
<video class="figure-media" controls preload="metadata"> <video controls preload="metadata">
{{ with .Params.alt }} {{ with .Params.alt }}
{{ warnf "video does not support alt text, '%s'" . }} {{ warnf "video does not support alt text, '%s'" . }}
{{ end }} {{ end }}

View File

@@ -6,12 +6,6 @@
{{ with resources.Get "css/bobastyle.css" | fingerprint "sha512" }} {{ with resources.Get "css/bobastyle.css" | fingerprint "sha512" }}
<link rel="stylesheet" type="text/css" href="{{ .Permalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous"> <link rel="stylesheet" type="text/css" href="{{ .Permalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous">
{{ end }} {{ end }}
{{ with resources.Get "css/noscript.css" | fingerprint "sha512" }}
<noscript>
<link rel="stylesheet" type="text/css" href="{{ .Permalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous">
</noscript>
{{ end }}
{{ with resources.Get "css/syntax.css" | fingerprint "sha512" }} {{ with resources.Get "css/syntax.css" | fingerprint "sha512" }}
<link rel="stylesheet" type="text/css" href="{{ .Permalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous" media="print" onload="this.media='all'"> <link rel="stylesheet" type="text/css" href="{{ .Permalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous" media="print" onload="this.media='all'">
{{ end }} {{ end }}

View File

@@ -1,9 +1,16 @@
{{ with .GetTerms "authors" }} {{ with .Params.authors }}
<span class="page-metadata-item authors" aria-label="{{ i18n "aria_post_meta_authors" }}"> <span class="page-metadata-item" data-pagefind-meta="authors" aria-label="{{ i18n "aria_post_meta_authors" }}">
{{ partial "icon.html" "user-circle" }} {{ partial "icon.html" "user-circle" }}
{{ range . }} {{ if index $.Site.Taxonomies "authors" }}
<a href="{{ .Permalink }}" data-pagefind-filter="author">{{ .LinkTitle }}</a> {{ $authors := slice }}
{{ range . }}
{{ $url := (printf "authors/%s" (. | anchorize)) | absLangURL }}
{{ $authors = $authors | append (printf `<a href="%s">%s</a>` $url .) }}
{{ end }}
{{ delimit $authors ", " | safeHTML }}
{{ else }}
{{ delimit . ", " }}
{{ end }} {{ end }}
</span> </span>
{{ end }} {{ end }}

View File

@@ -4,10 +4,8 @@
{{ $categories = $categories | append (printf `<a href="%s">%s</a>` .Permalink .LinkTitle) }} {{ $categories = $categories | append (printf `<a href="%s">%s</a>` .Permalink .LinkTitle) }}
{{ end }} {{ end }}
<div class="page-metadata-section categories" aria-label="{{ i18n "aria_post_meta_categories" }}"> <div class="page-metadata-section categories" data-pagefind-meta="categories" aria-label="{{ i18n "aria_post_meta_categories" }}">
{{ partial "icon.html" "folder" }} {{ partial "icon.html" "folder" }}
{{ range . }} {{ delimit $categories ", " | safeHTML }}
<a href="{{ .Permalink }}" data-pagefind-filter="category">{{ .LinkTitle }}</a>
{{ end }}
</div> </div>
{{ end }} {{ end }}

View File

@@ -1,4 +1,4 @@
<span class="page-metadata-item page-meta-comments-counter" aria-label="comments counter"> <span class="page-metadata-item" aria-label="comments counter">
{{ partial "icon.html" "message" }} {{ partial "icon.html" "message" }}
{{/* TODO: figure out if there's a nicer way to generate this URL {{/* TODO: figure out if there's a nicer way to generate this URL
* the current issue is that we can't use RelRef, since content view means that we don't * the current issue is that we can't use RelRef, since content view means that we don't

View File

@@ -1,8 +1,11 @@
{{ with (.GetTerms "series") }} {{ with (.GetTerms "series") }}
<div class="page-metadata-section series" aria-label="{{ i18n "aria_post_meta_series" }}"> {{ $series := slice }}
{{ range . }}
{{ $series = $series | append (printf `<a href="%s">%s</a>` .Permalink .LinkTitle) }}
{{ end }}
<div class="page-metadata-section series" data-pagefind-meta="series" aria-label="{{ i18n "aria_post_meta_series" }}">
{{ partial "icon.html" "files" }} {{ partial "icon.html" "files" }}
{{ range . }} {{ delimit $series ", " | safeHTML }}
<a href="{{ .Permalink }}" data-pagefind-filter="series">{{ .LinkTitle }}</a>
{{ end }}
</div> </div>
{{ end }} {{ end }}

View File

@@ -1,10 +1,11 @@
{{ with (.GetTerms "tags") }} {{ with (.GetTerms "tags") }}
{{ $tags := slice }} {{ $tags := slice }}
{{ range . }}
{{ $tags = $tags | append (printf `<a href="%s">%s</a>` .Permalink .LinkTitle) }}
{{ end }}
<div class="page-metadata-section tags" aria-label="{{ i18n "aria_post_meta_tags" }}"> <div class="page-metadata-section tags" data-pagefind-meta="tags" aria-label="{{ i18n "aria_post_meta_tags" }}">
{{ partial "icon.html" "tag" }} {{ partial "icon.html" "tag" }}
{{ range . }} {{ delimit $tags ", " | safeHTML }}
<a href="{{ .Permalink }}" data-pagefind-filter="tag">{{ .LinkTitle }}</a>
{{ end }}
</div> </div>
{{ end }} {{ end }}

View File

@@ -1,6 +1,6 @@
{{ if gt .Paginator.TotalPages 1 }} {{ if gt .Paginator.TotalPages 1 }}
<nav class="pagination"> <nav class="pagination">
{{/* https://github.com/gohugoio/hugo/blob/a88b488181279befd50e1d127f9f67604f2f9854/tpl/tplimpl/embedded/templates/_partials/pagination.html */}} {{/* https://github.com/gohugoio/hugo/blob/a88b488181279befd50e1d127f9f67604f2f9854/tpl/tplimpl/embedded/templates/_partials/pagination.html */}}
{{ partial "pagination-hugo.html" . }} {{ partial "_internal/pagination.html" . }}
</nav> </nav>
{{ end }} {{ end }}

View File

@@ -3,6 +3,16 @@
<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}"> <meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}">
<meta property="og:url" content="{{ .Permalink }}"> <meta property="og:url" content="{{ .Permalink }}">
{{ $images := $.Resources.ByType "image" }}
{{ $featured := $images.GetMatch "*feature*" }}
{{ if not $featured }}
{{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}
{{ end }}
{{ with $featured }}
<meta property="og:image" content="{{ $featured.Permalink }}">
{{ end }}
{{ with .Section }} {{ with .Section }}
<meta property="article:section" content="{{ . }}"> <meta property="article:section" content="{{ . }}">
{{ end }} {{ end }}
@@ -27,38 +37,12 @@
<meta property="og:site_name" content="{{ . }}"> <meta property="og:site_name" content="{{ . }}">
{{ end }} {{ end }}
{{ $images := $.Resources.ByType "image" }}
{{ $featured := $images.GetMatch "*feature*" }}
{{ if not $featured }}
{{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}
{{ end }}
{{ with $featured }}
<meta property="og:image" content="{{ $featured.Permalink }}">
{{ with .Params.alt }}
<meta property="og:image:alt" content="{{ . }}">
{{ end }}
{{ with .MediaType }}
<meta property="og:image:type" content="{{ . }}">
{{ end }}
{{ with .Width }}
<meta property="og:image:width" content="{{ . }}">
{{ end }}
{{ with .Height }}
<meta property="og:image:height" content="{{ . }}">
{{ end }}
{{ end }}
{{ $videos := $.Resources.ByType "video" }} {{ $videos := $.Resources.ByType "video" }}
{{ $featured_video := $videos.GetMatch "*feature*" }} {{ $featured_video := $videos.GetMatch "*feature*" }}
{{ if not $featured_video }} {{ if not $featured_video }}
{{ $featured_video = $videos.GetMatch "{*cover*,*thumbnail*}" }} {{ $featured_video = $videos.GetMatch "{*cover*,*thumbnail*}" }}
{{ end }} {{ end }}
{{ with $featured_video }} {{ with $featured_video }}
<meta property="og:video" content="{{ $featured_video.Permalink | absURL }}"> <meta property="og:video" content="{{ $featured_video.Permalink | absURL }}">
{{ with .MediaType }}
<meta property="og:video:type" content="{{ . }}">
{{ end }}
{{ end }} {{ end }}

View File

@@ -31,8 +31,6 @@
*/}} */}}
{{ with .Site.Params.social.twitter }} {{ with .Site.Params.social.twitter }}
<meta name="twitter:site" content="@{{ . }}"> <meta name="twitter:site" content="@{{ . }}">
{{ else }}
{{ errorf "a twitter username is required for twitter cards to work" }}
{{ end }} {{ end }}
{{ with .GetTerms "authors" }} {{ with .GetTerms "authors" }}
{{ range . }} {{ range . }}

View File

@@ -1,4 +1,22 @@
{{ define "_partials/share-button.html" }}
<a class="{{ .ShortName }}-share"
target="_blank"
rel="noopener"
aria-label="{{ i18n (printf "aria_share_%s" .ShortName) }}"
onclick="share_event('{{ .ProperName }}');"
href="{{ .URL }}">
{{- partial "icon.html" (or .IconName .ShortName) -}}
</a>
{{ end }}
<div class="share-buttons"> <div class="share-buttons">
{{ $services := dict
"twitter" (dict "ProperName" "Twitter" "URL" (printf "https://twitter.com/intent/tweet?url=%s&text=%s&via=bbaovanc" .Permalink .Title))
}}
{{ range $name, $info := $services }}
{{ $data := merge $info (dict "ShortName" $name) }}
{{ partial "share-button.html" $data }}
{{ end }}
{{ if .Site.Params.shareButtons.twitter }} {{ if .Site.Params.shareButtons.twitter }}
<a class="twitter-share" <a class="twitter-share"
target="_blank" target="_blank"

View File

@@ -1,9 +1,9 @@
<header class="top"> <div class="top">
<div class="brand"> <header class="header">
<a href="{{ .Site.Home.Permalink | absLangURL }}"> <a class="heading-link" href="{{ .Site.Home.Permalink | absLangURL }}">
{{ .Site.Title | markdownify }} {{ .Site.Title | markdownify }}
</a> </a>
</div> </header>
<nav class="navbar" aria-label="{{ i18n "aria_navbar" }}"> <nav class="navbar" aria-label="{{ i18n "aria_navbar" }}">
{{ with .Site.Home }} {{ with .Site.Home }}
@@ -21,4 +21,4 @@
href="{{ .URL }}">{{ .Name }}</a> href="{{ .URL }}">{{ .Name }}</a>
{{ end }} {{ end }}
</nav> </nav>
</header> </div>

View File

@@ -0,0 +1 @@
<hr class="full-width-hr">

View File

@@ -1,15 +1,13 @@
<h2 class="page-title"> <h2 class="page-title">
<a href="{{ .Permalink }}">{{ .Title | markdownify }}</a> <a class="heading-link" href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
{{ if .Draft }}{{ partial "icon.html" "write" }}{{ end }} {{ if .Draft }}{{ partial "icon.html" "write" }}{{ end }}
</h2> </h2>
{{ partial "page-metadata/author.html" . }} {{ partial "page-metadata/author.html" . }}
{{ with .Summary }} <div class="page-description">
<div class="page-description"> {{ partial "description-or-summary.html" . }}
{{ . }} </div>
</div>
{{ end }}
<div class="readmore"> <div class="readmore">
<a href="{{ .Permalink }}">{{ i18n "read_more" }} &rarr;</a> <a href="{{ .Permalink }}">{{ i18n "read_more" }} &rarr;</a>

View File

@@ -13,28 +13,28 @@
{{ partial "breadcrumb.html" . }} {{ partial "breadcrumb.html" . }}
{{ end }} {{ end }}
<main id="main-content"> <main id="main-content" {{ if .IsPage }}data-pagefind-body{{ end }}>
{{ block "main" . }} {{ block "main" . }}
THIS TEXT SHOULD NOT SHOW. YUZSIQGHE (that string is so I can grep for it) THIS TEXT SHOULD NOT SHOW. YUZSIQGHE (that string is so I can grep for it)
{{ end }} {{ end }}
</main> </main>
{{ if or .Site.Copyright .Site.Params.footer }}
<footer>
{{ with .Site.Copyright }}
{{ . | safeHTML }}
{{ end }}
{{ with .Site.Params.footer }}
{{ . | $.RenderString (dict "display" "block") }}
{{ end }}
</footer>
{{ end }}
</div> </div>
{{ block "post-body" . }} {{ block "post-body" . }}
{{/* currently this is only used for related posts */}} {{/* currently this is only used for related posts */}}
{{ end }} {{ end }}
{{ if or .Site.Copyright .Site.Params.footer }}
<footer>
{{ with .Site.Copyright }}
{{ . | safeHTML }}
{{ end }}
{{ with .Site.Params.footer }}
{{ . | $.RenderString (dict "display" "block") }}
{{ end }}
</footer>
{{ end }}
</body> </body>
</html> </html>

View File

@@ -24,7 +24,7 @@
{{ partial "feature-figure.html" . }} {{ partial "feature-figure.html" . }}
<article class="post-content" data-pagefind-body> <article class="post-content">
{{ .Content }} {{ .Content }}
</article> </article>

View File

@@ -1,6 +1,2 @@
User-Agent: * User-Agent: *
Sitemap: {{ "sitemap.xml" | absLangURL }} Sitemap: {{ "sitemap.xml" | absLangURL }}
{{/* It complains about the raw markdown output having no title tag */ -}}
User-Agent: Bingbot
Disallow: /blog/*.md$

View File

@@ -5,10 +5,8 @@
{{ .Title | markdownify }} {{ .Title | markdownify }}
</h2> </h2>
{{ with .Summary }} <div class="section-description">
<div class="section-description"> {{ partial "description-or-summary.html" . }}
{{ . }} </div>
</div>
{{ end }}
</div> </div>
</a> </a>

View File

@@ -1,16 +1,14 @@
<h2 class="page-title"> <h2 class="page-title">
{{ with .Parent.Params.icon }}{{ partial "icon.html" . }}{{ end }} {{ with .Parent.Params.icon }}{{ partial "icon.html" . }}{{ end }}
<a href="{{ .Permalink }}">{{ .Title | markdownify }}</a> <a class="heading-link" href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
{{ if .Draft }}{{ partial "icon.html" "write" }}{{ end }} {{ if .Draft }}{{ partial "icon.html" "write" }}{{ end }}
</h2> </h2>
{{ partial "page-metadata/series.html" . }} {{ partial "page-metadata/series.html" . }}
{{ with .Summary }} <div class="page-description">
<div class="page-description"> {{ partial "description-or-summary.html" . }}
{{ . }} </div>
</div>
{{ end }}
<div class="page-list series-inner"> <div class="page-list series-inner">
{{ range .Data.Pages.Reverse }} {{ range .Data.Pages.Reverse }}

View File

@@ -1,6 +1,6 @@
<h2 class="page-title"> <h2 class="page-title">
{{ with .Parent.Params.icon }}{{ partial "icon.html" . }}{{ end }} {{ with .Parent.Params.icon }}{{ partial "icon.html" . }}{{ end }}
<a href="{{ .Permalink }}">{{ .Title | markdownify }}</a> <a class="heading-link" href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
{{ if .Draft }}{{ partial "icon.html" "write" }}{{ end }} {{ if .Draft }}{{ partial "icon.html" "write" }}{{ end }}
</h2> </h2>
@@ -8,11 +8,9 @@
{{ partial "feature-figure.html" . }} {{ partial "feature-figure.html" . }}
{{ with .Summary }} <div class="page-description">
<div class="page-description"> {{ partial "description-or-summary.html" . }}
{{ . }} </div>
</div>
{{ end }}
<div class="readmore"> <div class="readmore">
<a href="{{ .Permalink }}">{{ i18n "read_more" }} &rarr;</a> <a href="{{ .Permalink }}">{{ i18n "read_more" }} &rarr;</a>

View File

@@ -28,7 +28,7 @@
</a> </a>
{{ partial "page-metadata/taxonomy.html" . }} {{ partial "page-metadata/taxonomy.html" . }}
</div> </div>
{{ .Summary }} {{ partial "description-or-summary.html" . }}
</article> </article>
{{ end }} {{ end }}
{{ end }} {{ end }}

View File

@@ -8,7 +8,7 @@ description = "Simple Hugo theme for boba.best and bbaovanc.com"
homepage = "https://bbaovanc.com" homepage = "https://bbaovanc.com"
tags = [] tags = []
features = [] features = []
min_version = "0.146.0" min_version = "0.93.0"
[author] [author]
name = "bbaovanc" name = "bbaovanc"