byulsky archive
별하늘

이 많은 별빛이 내린 언덕 위에
내 이름자를 써 보고
흙으로 덮어 버리었습니다.

오늘0놀이0고요0헤아림0곁0흙1
tags
별하늘

이 많은 별빛이 내린 언덕 위에
내 이름자를 써 보고
흙으로 덮어 버리었습니다.

오늘0놀이0고요0헤아림0곁0흙1
tags
byulsky archive

사소한 것은 모두 사라지고 중요한 것만 남는다

© 2026 byulsky. All rights reserved.

팔레트 테스트 — 모든 요소가 모이는 곳

2026년 5월 27일3분 읽기
흙#테스트#팔레트#디자인#별하늘#타이포그래피

이 글은 별하늘 아카이브의 모든 본문 요소를 한자리에 모아 두기 위한 테스트 페이지다. 라이트 모드의 따뜻한 베이지 종이 위에서, 그리고 다크 모드의 미드나잇 별하늘 위에서 — 두 풍경 모두에서 글이 어떻게 호흡하는지 살필 수 있다. 텍스트는 길어질수록 정직하다. 짧은 한 줄로는 드러나지 않는 자간, 행간, 양끝 정렬의 결이 긴 단락 안에서 비로소 보이기 시작한다.

헤딩과 본문의 위계

문서의 뼈대는 헤딩이 만든다. 같은 굵기, 같은 크기의 글자가 늘어선 페이지는 정보의 우열이 사라진 평면이다. 다음의 세 단계는 글의 골격이 어떻게 짜이는지 보여 준다.

두 번째 단계의 제목

이 단계의 헤딩은 이탤릭으로 흘러간다. 명조체의 세로획이 비스듬히 기울며 본문 사이에 작은 호흡을 만든다.

가장 안쪽의 제목

세 번째 단계는 단정하게 자리잡는다. 너무 무겁지 않게, 너무 가볍지도 않게.

강조의 여러 방식

본문 안에는 다양한 강조가 섞여 있다. 굵은 글씨로 핵심을 짚고, 이탤릭으로 결을 살리고, 취소선으로 거두어들이고, 밑줄 친 형광펜처럼 mark 태그로 단어를 떠올리게 한다. 이 모두가 한 단락 안에서 부딪히지 않고 흘러갈 수 있어야 한다.

링크는 또 다른 강조다. 별하늘 아카이브의 홈으로 돌아가거나, 외부의 어떤 페이지로 빠져나갈 수도 있다. 링크 위에 커서를 올리면 밑줄이 좌에서 우로 자라난다.

키보드 단축키는 다른 폰트의 옷을 입는다. 저장하려면 Ctrl + S, 검색은 Cmd + K.

인용

사소한 것은 모두 사라지고 중요한 것만 남는다. 이 한 줄은 이 블로그의 디스크립션이기도 하다. 인용구는 본문에서 한 발 물러서서, 다른 누군가의 목소리를 잠시 빌려 온 자리다. 좌측의 색 띠가 그 경계를 표시한다.

두 번째 단락의 인용은 이어지는 호흡을 보여 준다. 인용은 길어질 수 있고, 그 안에서도 한 문장 한 문장의 무게가 달라질 수 있다.

목록

순서가 중요하지 않은 항목은 작은 가로획이 가리킨다.

  • 첫 번째 항목
  • 두 번째 항목, 약간의 부연 설명이 따라붙을 수도 있다
  • 세 번째 항목
    • 들여쓰기된 하위 항목
    • 또 하나의 하위 항목

순서가 중요할 땐 숫자가 든다.

  1. 어떤 일은 먼저
  2. 다음 일은 그 다음
  3. 중첩된 순서는 알파벳으로 이어진다
    1. 두 번째 단계는 a, b, c…
    2. 또 하나의 항목
      1. 세 번째 단계는 로마 숫자 소문자로
      2. i, ii, iii…

코드

본문 사이에 작은 inline code가 끼어들 수 있다. 변수 이름이나 함수 이름, 짧은 명령어를 가리킬 때 쓴다. 인라인 코드는 본문보다 살짝 작고, 옅은 색 박스 안에 자리잡는다.

긴 코드는 별도의 블록으로 분리된다. 블록 좌상단에는 ●●● 점이 찍혀 작은 창처럼 보인다.

// 별하늘 아카이브의 팔레트 토큰
const palette = {
  light: {
    background: "#ece5dc",
    foreground: "#2d342d",
    accent: "#455f17", // 누그러진 올리브
    point: "#6e1d28", // 누그러진 버건디
  },
  dark: {
    background: "#08111c", // 미드나잇 틸
    foreground: "#c5d3dc", // cool light blue-gray
    accent: "#5fa3b8", // 청록 별빛
    point: "#e8c184", // 올드 별빛
  },
} as const;

function pickPoint(mode: "light" | "dark"): string {
  return palette[mode].point;
}
# 개발 서버 실행
npm run dev

# 프로덕션 빌드
npm run build

# 배포
npm run deploy

구분

긴 글은 가끔 호흡을 끊어야 한다. 구분선은 단순한 가로획이 아니라, 가운데에 작은 § 표시가 떠 있다.


쉬어 가는 자리. 다음 절로 넘어가기 전, 마지막으로 가장 정보 밀도가 높은 요소 — 테이블을 둔다.

테이블

토큰라이트다크용도
background#ece5dc#08111c페이지 기본 배경
background-subtle#e4dccf#0f1a2a카드·코드블록
foreground#2d342d#c5d3dc본문
foreground-strong#0f2509#e8f0f5제목·강조
accent#455f17#5fa3b8카테고리·TOC·active
point#6e1d28#e8c184링크·mark·인용구
borderrgba(.., 0.12)rgba(.., 0.10)미세 구분선

홀수 행과 짝수 행의 배경이 다르고, 행 위에 마우스를 올리면 옅은 포인트 색이 깔린다. 가로 스크롤이 필요하면 자연스럽게 떨어지도록 되어 있다.

이미지

이미지는 본문 흐름에 끼어들 때 가운데 정렬로 떨어진다. 마우스를 올리면 살짝 떠오른다.

라이트 모드 히어로 — 한낮의 종이

캡션이 필요한 이미지는 <figure> 안에 묶여 figcaption과 함께 나타난다.

다크 모드 히어로 — 검푸른 별하늘
다크 모드의 히어로. 깊은 미드나잇 위에 별과 성운이 박혀 있다.

마무리

여기까지 내려왔다면 한 글 안에서 등장할 수 있는 거의 모든 요소를 한 번씩 마주친 셈이다. 이 페이지의 목적은 미려한 콘텐츠가 아니라 검증이다 — 두 모드 사이에서 글이 자연스럽게 호흡하는지, 강조가 강조답게 작동하는지, 정보의 위계가 무너지지 않고 서 있는지.

문제가 보이면 토큰을 손볼 차례다. 토큰 하나의 변화가 페이지 전체로 퍼져 나가는 것을 — 이 페이지가 가장 정직하게 보여 줄 것이다.

Contents

  • 헤딩과 본문의 위계
  • 두 번째 단계의 제목
  • 가장 안쪽의 제목
  • 강조의 여러 방식
  • 인용
  • 목록
  • 코드
  • 구분
  • 테이블
  • 이미지
  • 마무리