content(about): wire Khabran's bio + multi-paragraph render

Bio embedded as \n\n-delimited string; render splits on that boundary
into per-para <p class="bio-body">. Adjacent-sibling margin keeps
stacked paragraphs readable. Daniel's single-para bio is unaffected.
This commit is contained in:
daniel-c-harvey
2026-06-17 22:16:18 -04:00
parent d512a1d329
commit 9cfc31f725
2 changed files with 9 additions and 2 deletions
+5 -2
View File
@@ -111,7 +111,10 @@
<div class="bio-name">@member.Name</div>
@if (!string.IsNullOrWhiteSpace(member.Bio))
{
<p class="bio-body">@member.Bio</p>
@foreach (var para in member.Bio.Split("\n\n", StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries))
{
<p class="bio-body">@para</p>
}
}
</div>
</article>
@@ -353,7 +356,7 @@
new(
Name: "Khabran Peters",
Role: "Production · Sound Design · Live",
Bio: null,
Bio: "Raised on the Chicago underground, this artist cut their teeth on DJ Assault and DJ Funk. They started DJing young, learning to read a room long before they opened a DAW. After fifteen years as a visual artist, they moved into music production.\n\nNow based in Charleston, their sound carries the city's late-night feel but keeps the kinetic edge of its Midwest roots—deep one minute, fast the next. As much indie sensibility as booty-house grit.\n\nThe work is hardware-first, with software kept to remixes and edits. Onstage they stay out of the way and let the tracks do the talking. Polished without being precious—built by someone who cares more about the craft than the spotlight.",
PortraitImage1: "img/dd-khabran-bw.jpeg",
PortraitImage2: "img/dd-khabran.jpeg"),
new(
@@ -321,6 +321,10 @@
opacity: 0.7;
}
.bio-body + .bio-body {
margin-top: 0.75em;
}
/* ── Inset framed figure (gear shot) with rail-side caption ── */
.movement-figure {
margin: 5rem 0 0;