Skip to content

feat(life): 인문학 에세이와 MDX 이미지 폭 지원 - #133

Merged
dev-wooyeon merged 2 commits into
mainfrom
codex/mdx-image-width
Aug 13, 2026
Merged

dev-wooyeon merged 2 commits into
mainfrom
codex/mdx-image-width

Conversation

@dev-wooyeon

Copy link
Copy Markdown
Owner

변경 사항

  • MDX <img width> 값을 이미지 wrapper 폭에 반영
  • 말하기 에세이의 게임 스크린샷 폭 조정
  • Life 에세이 「성숙해 보이는 사람은 무엇을 알고 있을까」와 대표 삽화 공개

검증

  • npm run content:audit
  • npm run build
  • git diff --check

@vercel

vercel Bot commented Aug 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ark Building Building Preview Aug 13, 2026 8:52am

@dev-wooyeon
dev-wooyeon merged commit 1a8d70b into main Aug 13, 2026
3 of 4 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 12819fc3bd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

<span className="my-12 block overflow-hidden rounded-[var(--radius-content)]">
<span
className="my-12 block max-w-full overflow-hidden rounded-[var(--radius-content)]"
style={props.width ? { width: props.width } : undefined}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Record the MDX width contract in an ADR

This establishes a reusable MDX authoring contract in which an HTML width attribute controls the rendered wrapper, including choices around percentages, numeric values, and responsive behavior, but the commit adds no ADR. Document this convention and its trade-offs in a numbered ADR as required for recurring rules or boundaries.

AGENTS.md reference: AGENTS.md:L26-L30

Useful? React with 👍 / 👎.

Comment on lines +84 to +85
className="my-12 block max-w-full overflow-hidden rounded-[var(--radius-content)]"
style={props.width ? { width: props.width } : undefined}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Make percentage image widths responsive

For the newly changed game screenshot using width="25%", this wrapper remains 25% wide at every breakpoint; on a roughly 320px mobile content area, the portrait screenshot is rendered at about 80px wide and its game details become unreadable. max-w-full only caps oversized values, so the width should become full or otherwise larger on small screens while retaining the reduced desktop width.

AGENTS.md reference: AGENTS.md:L93-L95

Useful? React with 👍 / 👎.

너무 멀게 느껴져 손이 잘 가지 않았다. 그러다 심리학 코너에 표지에 이끌려 《다크심리학》 책을 구매해서 읽게되었다.
책 내용 중간 중간 《군주론》이 자주 언급되어서 궁금해졌다.

그 호기심을 시작으로 서점에 갈 기회가 생겼을때 《군주론》의 표지를 표니 명문대에서 필수 교양 서적으로 지정되었다는 내용이 적혀있었다.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Correct the malformed sentence before publishing

Because the sibling metadata marks this post as public, readers immediately receive the malformed phrase 《군주론》의 표지를 표니 along with the missing spacing in 생겼을때. Correct the apparent 보니 typo and spacing before releasing the essay.

Useful? React with 👍 / 👎.

<span className="my-12 block overflow-hidden rounded-[var(--radius-content)]">
<span
className="my-12 block max-w-full overflow-hidden rounded-[var(--radius-content)]"
style={props.width ? { width: props.width } : undefined}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Update image sizes when narrowing the wrapper

When an MDX image is narrowed to 25%, the nested Next image still advertises 100vw on mobile and 800px on larger screens through its fixed sizes value. Browsers therefore select a source candidate for roughly four times the displayed width, wasting bandwidth on every view of the newly narrowed screenshot; derive sizes from the requested width or let the MDX image specify an appropriate responsive value.

Useful? React with 👍 / 👎.

대학 시절 캡스톤 디자인 작품전을 떠올렸다. 당시 만든 게임의 이름은 `F 학점 피하기`였다. 학생이 날아오는 F를 피하고, 체력을 모두 잃기 전에 정해진 시간 동안 버티는 방식이었다. 아래는 게임 플레이 화면과 게임 오버 화면이다.

![F 학점 피하기 게임 플레이 화면. 장애물을 피하며 체력을 유지하는 모습](/images/posts/말하는-구조를-잃어버린-것-같았다/capstone-gameplay.png)
<img

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Route the explicit image through the MDX component map

Under the current @mdx-js/loader pipeline, an explicitly authored lowercase JSX <img> is emitted as that literal element rather than as the markdown img element resolved from components. Consequently this only usage of width="25%" bypasses getMDXComponents().img, so it loses the Next image optimization, dimensions, caption wrapper, and the new wrapper-width behavior; the direct component unit test cannot detect that integration failure. Use a mapped custom component or syntax that actually reaches the MDX image renderer and cover the compiled MDX path.

AGENTS.md reference: AGENTS.md:L74-L76

Useful? React with 👍 / 👎.

This branch was successfully deployed

1 active deployment
Preview — 12819fc3 Deployed Aug 13, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant