Skip to content

Commit 3177a4a

Browse files
committed
feat: blog: Add author bios component
This commit introduces an author bios component to blog posts. It displays author information based on the `author` parameter in the post's frontmatter. Also updates Justin Riddiough's bio.
1 parent c610116 commit 3177a4a

File tree

4 files changed

+67
-3
lines changed

4 files changed

+67
-3
lines changed

content/blog/strategic-vision-open-neuromorphic/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ author:
1111
- Jens E. Pedersen
1212
- Danny Rosen
1313
- Justin Riddiough
14+
show_author_bios: true
1415
---
1516

1617
**TL;DR** We are reorganizing the Open Neuromorphic community around our vision for an **open and accessible neuromorphic ecosystem**.

content/contributors/justin-riddiough/index.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "Justin Riddiough"
3-
description: "Experienced in scalable web applications & open-source growth. Created aimodels.org. Active supporter of ONM and related community initiatives."
3+
description: "Strategic digital solutions partner and open-source advocate. As Vice-Chair of the ONM Executive Committee, Justin focuses on building robust digital infrastructure and fostering community growth."
44
image: "justin-riddiough.png"
55
social:
66
- icon: "fa-brands fa-github"
@@ -14,5 +14,8 @@ social:
1414
title: "website"
1515
draft: false
1616
---
17-
With over two decades of experience, Justin brings a wealth of knowledge in collaborating with in-house developers, technologists, and strategists. His expertise extends to crafting and deploying robust, scalable web applications and strategically coordinating growth across various Open Source initiatives.<br><br>Justin created and nurtured the AI Models project ([aimodels.org](https://aimodels.org)), a dedicated resource for exploring and advancing ONM and related initiatives like the Foundation Models Cheatsheet ([fmcheatsheet.org](https://fmcheatsheet.org)),
18-
prior to AI Models acquisition in late 2024. He remains an active supporter of the community and the ongoing development of these initiatives.
17+
Justin Riddiough is a strategic digital solutions partner and dedicated open-source advocate. As the Vice-Chair of the Open Neuromorphic Executive Committee, he plays a key role in shaping the community's growth and digital strategy.
18+
19+
He designed and built the Open Neuromorphic website, creating the central hub for our resources, events, and community engagement.
20+
21+
With over two decades of experience deploying robust, scalable web applications, Justin brings a wealth of technical and strategic knowledge to the team. He is a strong proponent of connectivism, applying its principles of networked learning to help build a collaborative and accessible ecosystem for neuromorphic computing. His work focuses on creating powerful digital tools and coordinating growth across open-source initiatives to empower communities and advance shared knowledge.

layouts/blog/single.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
{{ partial "override-social-share" (dict "Context" . "Class" "share-icons" "Title" (i18n "share") "Whatsapp" true "Telegram" false) }}
2020
</div>
2121
</div>
22+
{{ partial "components/author-bios.html" . }}
2223
</article>
2324
{{ partial "components/sidebar-toc-shared.html" . }}
2425
</div>
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
{{ with .Params.show_author_bios }}
2+
{{ if . }}
3+
<div class="author-bios-section mt-12 pt-8">
4+
<h2 class="text-3xl font-bold mb-8">About the Author{{ if gt (len $.Params.author) 1 }}s{{ end }}</h2>
5+
{{ with $.Params.author }}
6+
{{ $authors := . }}
7+
{{ range $index, $authorName := $authors }}
8+
{{ $isFirstAuthor := eq $index 0 }}
9+
{{ $nameForSlug := $authorName | replaceRE "[.]" "" | replaceRE "ć" "c" | replaceRE "Ć" "C" }}
10+
{{ $contributorSlug := $nameForSlug | anchorize }}
11+
{{ $contributorPage := $.Site.GetPage (printf "contributors/%s" $contributorSlug) }}
12+
13+
<div class="author-bio-item mb-8 flex flex-col {{ if $isFirstAuthor }}md:flex-row{{ else }}md:flex-row{{ end }} items-start gap-6">
14+
{{ if $contributorPage }}
15+
{{ with $contributorPage.Params.image }}
16+
<div class="flex-shrink-0 text-center">
17+
<a href="{{ $contributorPage.RelPermalink }}">
18+
{{ partial "image" (dict "Src" . "Context" $contributorPage "Alt" $contributorPage.Title "Class" (printf "rounded-full object-cover shadow-md mx-auto %s" (cond $isFirstAuthor "w-32 h-32" "w-24 h-24")) "Size" (cond $isFirstAuthor "128x128" "96x96") "Command" "Fill") }}
19+
</a>
20+
</div>
21+
{{ else }}
22+
<div class="flex-shrink-0 {{ cond $isFirstAuthor "w-32 h-32" "w-24 h-24" }} bg-gray-200 dark:bg-darkmode-theme-dark rounded-full flex items-center justify-center mx-auto">
23+
{{ partial "icon.html" (dict "style" "solid" "name" "user" "class" "text-4xl text-gray-400") }}
24+
</div>
25+
{{ end }}
26+
<div class="flex-grow text-center {{ if $isFirstAuthor }}md:text-left{{ else }}md:text-left{{ end }}">
27+
<h3 class="text-2xl font-semibold mb-1">
28+
<a href="{{ $contributorPage.RelPermalink }}" class="text-dark dark:text-darkmode-dark hover:text-primary dark:hover:text-darkmode-primary">{{ $authorName }}</a>
29+
</h3>
30+
<div class="prose prose-sm dark:prose-invert max-w-none text-text dark:text-darkmode-text">
31+
{{ $contributorPage.Description | plainify }}
32+
</div>
33+
{{ with $contributorPage.Params.social }}
34+
<ul class="contributor-socials flex justify-center {{ if $isFirstAuthor }}md:justify-start{{ else }}md:justify-start{{ end }} space-x-3 mt-4">
35+
{{ range . }}
36+
<li>
37+
<a href="{{ .link | safeURL }}" target="_blank" rel="noopener noreferrer" aria-label="{{ .title }}" class="text-xl">
38+
{{ $iconData := partial "helpers/parse-fa-class.html" .icon }}{{ partial "icon.html" (dict "style" $iconData.style "name" $iconData.name "class" "") }}
39+
</a>
40+
</li>
41+
{{ end }}
42+
</ul>
43+
{{ end }}
44+
</div>
45+
{{ else }}
46+
<div class="w-24 h-24 bg-gray-200 dark:bg-darkmode-theme-dark rounded-full flex items-center justify-center mx-auto md:mx-0 flex-shrink-0">
47+
{{ partial "icon.html" (dict "style" "solid" "name" "user" "class" "text-4xl text-gray-400") }}
48+
</div>
49+
<div class="flex-grow text-center md:text-left">
50+
<h3 class="text-2xl font-semibold mb-1">{{ $authorName }}</h3>
51+
<p class="text-sm text-gray-500 italic">Contributor profile not found.</p>
52+
</div>
53+
{{ end }}
54+
</div>
55+
{{ end }}
56+
{{ end }}
57+
</div>
58+
{{ end }}
59+
{{ end }}

0 commit comments

Comments
 (0)