From 52e664622313b4559daa7fba3f59ff3f525d5d91 Mon Sep 17 00:00:00 2001 From: younha00 Date: Mon, 5 Oct 2026 15:30:37 +0900 Subject: [PATCH] feat: put each sentence of short descriptions on its own line Add a Sentences component and use it for project descriptions and scope, case summaries, decision rows, diagram captions, and activity details. Long case prose keeps its paragraph layout. Co-Authored-By: Claude Opus 5.5 (1M context) --- src/components/Activities.astro | 3 ++- src/components/CaseStudy.astro | 3 ++- src/components/DecisionBlock.astro | 3 ++- src/components/DiagramFigure.astro | 5 +++-- src/components/ProjectCard.astro | 3 ++- src/components/ProjectHeader.astro | 5 +++-- src/components/Sentences.astro | 6 ++++++ src/styles/global.css | 3 +++ tests/portfolio.spec.mjs | 11 +++++++++++ 9 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 src/components/Sentences.astro diff --git a/src/components/Activities.astro b/src/components/Activities.astro index f73fd49..61bfaeb 100644 --- a/src/components/Activities.astro +++ b/src/components/Activities.astro @@ -1,7 +1,8 @@ --- +import Sentences from './Sentences.astro'; import { activityGroups } from '../data/activities'; ---

그 밖의 활동

-{activityGroups.map(group=>

{group.label}

    {group.items.map(item=>
  • {item.period}
    {item.url ? {item.title} : item.title}{item.meta && {item.meta}}{item.detail &&

    {item.detail}

    }
  • )}
)} +{activityGroups.map(group=>

{group.label}

    {group.items.map(item=>
  • {item.period}
    {item.url ? {item.title} : item.title}{item.meta && {item.meta}}{item.detail &&

    }
  • )}
)}
diff --git a/src/components/CaseStudy.astro b/src/components/CaseStudy.astro index c86b73a..4f9bec1 100644 --- a/src/components/CaseStudy.astro +++ b/src/components/CaseStudy.astro @@ -1,4 +1,5 @@ --- +import Sentences from './Sentences.astro'; import {render, type CollectionEntry} from 'astro:content'; import DiagramFigure from './DiagramFigure.astro'; import DecisionBlock from './DecisionBlock.astro'; @@ -8,7 +9,7 @@ const {Content}=await render(entry); const d=entry.data; ---
-
CASE 0{d.order}

{d.title}

{d.summary}

+
CASE 0{d.order}

{d.title}

diff --git a/src/components/DecisionBlock.astro b/src/components/DecisionBlock.astro index e177659..9e0185c 100644 --- a/src/components/DecisionBlock.astro +++ b/src/components/DecisionBlock.astro @@ -1,5 +1,6 @@ --- +import Sentences from './Sentences.astro'; type Props = {readonly role:string;readonly decision:string;readonly tradeoff:string}; const {role,decision,tradeoff}=Astro.props; --- -
내가 맡은 범위
{role}
선택과 이유
{decision}
트레이드오프
{tradeoff}
+
내가 맡은 범위
선택과 이유
트레이드오프
diff --git a/src/components/DiagramFigure.astro b/src/components/DiagramFigure.astro index 9b78627..1a5300e 100644 --- a/src/components/DiagramFigure.astro +++ b/src/components/DiagramFigure.astro @@ -1,4 +1,5 @@ --- +import Sentences from './Sentences.astro'; import {pathTo} from '../lib/paths'; type Props = {readonly diagram: string; readonly caption: string; readonly title: string; readonly prefix: string; readonly print?: boolean}; const {diagram,caption,title,prefix,print=false}=Astro.props; @@ -8,9 +9,9 @@ const id=`${prefix}-${diagram}`;
SYSTEM FLOW{!print && 크게 보기 }
{`${title}
-
{caption}
+
-{!print &&
{title}
{caption}

{caption}

} +{!print &&
{title}
{caption}

}