기본 요소 가이드

Published

- 18 min read

Contents

이 문서는 이미지, 비디오, 인라인 화살표, 툴팁, 색상, 여백, 각주 등 기본 서식 요소를 정리한 실사용 가이드입니다. 각 항목은 작성법과 렌더링 결과를 나란히 배치해 바로 복사해서 사용할 수 있습니다.

이 시리즈의 다른 가이드:

문서 기본 형식

포스트는 src/content/blog/[폴더명]/index.md 구조를 사용합니다.

permalink: 'component-guide'
title: '문서 제목'
description: '검색/공유에 노출될 설명 (50~160자)'
pubDate: 2026-04-20
#heroImage: 'draft_thumbnail.png' # 주석 처리시 공용 썸네일 사용 됨(자동).
heroImage: 'cover.png' # index.md 폴더 내 이미지 사용 시 파일 이름 지정
category: Guide # Guide / Glossary / Think / News 등
tags: ['tag1', 'tag2']
draft: false # true면 프로덕션 빌드에서 제외
  • permalink: 파일 경로 대신 이 값이 URL slug로 사용됩니다. 폴더 구조와 무관하게 짧고 명확하게 지정하세요.

  • heroImage: 포스트 폴더 이미지는 cover.png 또는 ./cover.png 모두 사용 가능. 빌드 시 Astro 이미지 최적화 파이프라인이 자동 적용됩니다.

  • category: 인덱스 페이지 slug와 연결되므로 일관되게 유지해야 합니다. 임의 값을 사용하면 카테고리 페이지에서 누락될 수 있습니다.

  • draft: true로 설정하면 pnpm build 프로덕션 빌드에서 제외됩니다. 개발 서버(pnpm dev)에서는 정상 노출됩니다.

이미지

이미지는 문서 폴더 안에 두고 ![[파일명]] 형식으로 참조합니다. 이 Obsidian 스타일 문법을 사용해야 파일명에서 alt·title이 자동 설정되고 모달 클릭 기능이 활성화됩니다.

![[cover-image.png]]

파일명(확장자 제외)이 그대로 alt와 title로 적용됩니다. 단락에 단독으로 있으면 <figure>로 변환되고, title이 있으면 하단에 캡션으로 표시됩니다.

마크다운 이미지 경로 규칙

![]()도 아래처럼 사용 가능합니다. 경로 앞의 ./를 생략해도 자동으로 보정됩니다.

![](img.png) # 현재 문서 기준으로 자동 ./ 보정
![](./img.png) # 현재 문서 기준
![](dir/a.png) # 현재 문서 기준으로 자동 ./ 보정
![](/img.png) # 사이트 루트(public) 기준

단, 표준 마크다운 ![]() 문법은 alt/title 자동 추출과 모달 기능이 적용되지 않습니다. 캡션과 클릭 확대가 필요한 경우 ![[...]] 문법을 우선 사용하세요.

실제 예시 이미지

작성법

![예제 이미지](./profile_img.png '예제 이미지')

렌더링 결과

예제 이미지
예제 이미지

이미지 클릭 모달

![[...]] 문법은 이미지 위치에 따라 동작이 달라집니다.

  • 단독 줄(블록): 본문에 이미지가 바로 렌더링됩니다. 클릭하면 원본 크기 모달이 열립니다.
  • 텍스트 사이(인라인): 본문에는 클릭 트리거 텍스트가 나오고, 클릭하면 이미지 모달이 열립니다.

블록 이미지

작성법

![[profile_img.png|예제 이미지]]

렌더링 결과

예제 이미지
예제 이미지

본문 인라인 모달

인라인 삽입 시 | 뒤의 텍스트가 링크 라벨로 표시됩니다. 별도 파일을 두지 않고 앞서 블록으로 삽입한 이미지를 재사용할 수 있어 레이아웃을 깨지 않고 세부 화면을 연결할 때 유용합니다.

작성법

여기서 ![[profile_img.png|예제 이미지 확대 보기]] 를 클릭하면 모달로 세부 항목을 확인할 수 있습니다.

렌더링 결과

여기서 예제 이미지 확대 보기 를 클릭하면 모달로 세부 항목을 확인할 수 있습니다.

비디오

동영상 파일도 이미지와 동일한 Obsidian 문법으로 삽입합니다. 파일은 문서 폴더 안에 위치해야 합니다.

작성법

![[test video.mp4]]

mp4 파일을 지정하면 동일 경로의 webm 파일을 자동으로 탐색해 1순위 소스로 추가합니다. 브라우저가 WebM을 우선 재생하고, 지원하지 않을 때 MP4로 폴백합니다.

렌더링 결과(생성 소스 예시)

<!-- 자동 생성 결과 -->
<source src="./test%20video.webm" type="video/webm" />
<source src="./test%20video.mp4" type="video/mp4" />

test video

webm, mov, ogg 등 다른 확장자는 해당 파일 단독으로 소스가 설정됩니다.

WebP 애니메이션 파일

애니메이션 GIF와 Animated WebP는 자동으로 감지되어 일반 이미지와 다르게 처리됩니다. 모달 기능이 적용되지 않고 <img> 태그로 직접 렌더링되어 애니메이션이 그대로 재생됩니다.

![[webp animation sample.webp]]

렌더링 결과

webp animation sample

인라인 화살표

텍스트 흐름 안에서 방향 아이콘을 삽입합니다. 단계 순서를 표현하거나 경로를 안내할 때 사용합니다.

텍스트 토큰

공백으로 감싼 위치에서 자동 변환됩니다. 텍스트를 입력하면 렌더링 시 아이콘 스팬으로 교체됩니다.

토큰방향결과
:❯next (오른쪽)
:>right
:<left
:∧up
:∨down

단일 라인

구분예시
작성법설정 :❯ 계정 :❯ 보안 순서로 진행합니다.
렌더링 결과설정 계정 보안 순서로 진행합니다.

멀티 라인(다른 서식 포함)

작성법

초기 점검은 다음 순서로 진행합니다: 준비 :❯ 검토 :❯ 적용 :❯ 검증.
- 준비 단계: 입력값 확인
- 적용 단계: 변경 반영
- 검증 단계: 결과 비교
참고 명령: `pnpm build`

렌더링 결과

초기 점검은 다음 순서로 진행합니다: 준비 검토 적용 검증.

  • 준비 단계: 입력값 확인
  • 적용 단계: 변경 반영
  • 검증 단계: 결과 비교

참고 명령: pnpm build

디렉티브

명시적으로 삽입할 때는 디렉티브를 사용합니다. ::next 계열은 공백 기준 인라인 토큰으로 렌더링되며, ::n ::r ::l ::u ::d는 각각 next/right/left/up/down의 단축 별칭입니다.

::next ::right ::left ::up ::down
::n ::r ::l ::u ::d ← 단축 별칭
디렉티브결과
::next
::right
::left
::up
::down
::n
::r
::l
::u
::d

툴팁 디렉티브

풋노트 이동 방식은 그대로 유지하면서, 본문 특정 문구에 hover 툴팁을 붙일 때 사용합니다. 각주를 쓸 만큼 길지 않은 보조 설명이나 약어 풀이에 적합합니다.

:tt[마우스 오른쪽 버튼으로 클릭하면 이어지는 메뉴]
디렉티브결과
여기서는 :tt[마우스 오른쪽 버튼으로 클릭하면 이어지는 메뉴] 툴팁 설명을 확인여기서는 툴팁 설명을 확인
구분예시
작성법툴팁 앞 텍스트 :tt[마우스 오른쪽 버튼으로 클릭하면 이어지는 메뉴] 툴팁 뒤 텍스트
렌더링 결과툴팁 앞 텍스트 툴팁 뒤 텍스트

긴 문장/링크 포함 예시

툴팁 내부에는 마크다운 링크도 넣을 수 있습니다. 단, 링크 클릭은 툴팁이 열린 상태에서만 동작합니다.

작성법(긴 문장):

여기서는 :tt[이 항목은 관리자 권한이 필요한 설정이며, 저장 전에 현재 값과 변경 예정 값을 함께 확인한 뒤 적용 여부를 결정해야 합니다.] 툴팁 설명을 확인합니다.

렌더링 결과(긴 문장):

여기서는 툴팁 설명을 확인합니다.

작성법(링크 포함):

자세한 정책은 [운영 가이드](https://example.com/guide)를 참고하고 :tt[원문은 [정책 문서](https://example.com/policy/tooltips)에서 확인하세요.] 툴팁 설명도 확인하세요.

렌더링 결과(링크 포함):

자세한 정책은 운영 가이드를 참고하고 툴팁 설명도 확인하세요.

색상

텍스트에 색상을 적용합니다. 사전 정의된 색상 디렉티브 세 가지와 임의 HEX/CSS 색상을 모두 사용할 수 있습니다.

색상 디렉티브

:blue, :gray, :red는 테마에 맞게 미리 정의된 색상입니다. 가장 많이 쓰는 세 가지 강조 색상을 간결하게 사용할 수 있습니다.

:blue[파랑 텍스트]
:gray[그레이 텍스트]
:red[레드 텍스트]
디렉티브결과
:blue[파랑 텍스트]파랑 텍스트
:gray[그레이 텍스트]그레이 텍스트
:red[레드 텍스트]레드 텍스트

작성법

:blue[파랑 텍스트]
:gray[그레이 텍스트]
:red[레드 텍스트]
:color[커스텀 파랑]{value=#2563eb}
:c[커스텀 그레이]{v=#6b7280}
:색[커스텀 레드]{color=#dc2626}

렌더링 결과(인라인)

파랑 · 그레이 · 레드

렌더링 결과(멀티 라인)

문서 본문에서는 핵심 단계를 먼저 안내하고, 보조 조건은 별도 줄로 분리해 가독성을 높입니다. 오류 대응 문구는 즉시 확인 필요처럼 행동 중심 문장으로 작성하면 전달력이 좋아집니다.

  • 핵심 단계: 작업 순서 안내
  • 보조 조건: 적용 범위 및 제약
  • 즉시 확인 필요: 대응 우선순위

임의 색상 지정

:color[텍스트]{value=색상} 형태로 임의 HEX 값이나 CSS 색상 이름을 직접 지정할 수 있습니다. value, v, color 모두 동일한 속성 이름입니다.

:color[강조 텍스트]{value=#2563eb}
:c[보조 텍스트]{v=gray}
:색[경고 텍스트]{color=red}
디렉티브결과
:color[강조 텍스트]{value=#2563eb}강조 텍스트
:c[보조 텍스트]{v=gray}보조 텍스트
:색[경고 텍스트]{color=red}경고 텍스트

HTML 방식

<span style="color:...">텍스트</span> 형태도 그대로 사용할 수 있습니다.

<span style="color:#2563eb">파랑 텍스트</span>
<span style="color:#6b7280">그레이 텍스트</span>
<span style="color:#dc2626">레드 텍스트</span>

파랑 텍스트, 그레이 텍스트, 레드 텍스트

여백과 줄바꿈

블록 여백 디렉티브

단락 사이 수직 간격이 필요할 때 사용합니다. 숫자가 클수록 여백이 넓어지며 단위는 rem입니다.

::여백 ← 기본 (0.95em)
::여백1 ← 1rem
::여백2 ← 2rem
::여백3 ← 3rem
::여백4 ← 4rem
::여백5 ← 5rem

이미지나 비디오 앞뒤, 또는 별도의 공간 구분이 필요한 섹션 경계에 사용합니다. 마크다운 빈 줄만으로 부족한 경우에 적합합니다.

인라인 여백

단락을 나누지 않고 한 문장 안에서 수평 간격을 만들 때 사용합니다.

앞 문장 [여백] 뒤 문장

줄바꿈 (<br>)

단락을 나누지 않고 줄만 바꿀 때 사용합니다. 두 가지 방법이 지원됩니다.

첫 줄\
둘째 줄
첫 줄
둘째 줄
  • \ (백슬래시) — 의도가 명확하고 에디터의 trailing whitespace 자동 제거 영향 없음 (권장)
  • 줄 끝 스페이스 2칸 — CommonMark 표준이지만 에디터 설정에 따라 자동 제거될 수 있음

렌더링 결과

앞 문장

뒤 문장

줄바꿈 예시 — 백슬래시:
두 번째 줄

줄바꿈 예시 — 스페이스 2칸:
두 번째 줄

Footnotes

각주는 본문 흐름을 끊지 않으면서 보조 설명, 정책 근거, 출처를 추가할 때 사용합니다. 본문에서 [^키]로 참조하고, 문서 어딘가에 [^키]: 내용으로 정의합니다.

키 이름은 참조-정의 연결용 식별자이며 렌더링 결과에는 표시되지 않습니다. 본문에 등장하는 순서대로 자동으로 1, 2, 3… 번호가 매겨집니다. 정의만 작성하고 본문에서 참조하지 않으면 렌더링에서 제외됩니다.

작성법

설정 변경 이력을 문서 본문에서 간단히 언급하고, 상세 근거는 각주로 분리할 수 있습니다.[^policy]
각주를 여러 개 사용할 때는 번호만 늘리는 방식보다 용도별 이름을 함께 사용하는 것이 유지보수에 유리합니다.[^naming]
[^policy]: 변경 사유, 적용 범위, 검증 방법을 각주에 분리하면 본문 가독성을 유지하면서 추적 정보를 남길 수 있습니다.
[^naming]: 예: `policy`, `rollback`, `reference`처럼 의미가 드러나는 키를 사용하면 문서 수정 시 혼동이 줄어듭니다.
  • [^policy]가 본문에서 먼저 등장 → 1번, [^naming]이 다음 등장 → 2번 으로 자동 부여
  • 키 이름(policy, naming)은 유지보수용 식별자로만 사용되며 출력에는 숫자만 표시됨
  • 정의 순서는 번호에 영향 없음 — 본문 참조 순서가 기준
  • 정의는 문서 어디에 두어도 무방하지만 관리 편의상 문서 하단에 모아 두는 것이 일반적

렌더링 결과

설정 변경 이력을 문서 본문에서 간단히 언급하고, 상세 근거는 각주로 분리할 수 있습니다.1

각주를 여러 개 사용할 때는 번호만 늘리는 방식보다 용도별 이름을 함께 사용하는 것이 유지보수에 유리합니다.2

Footnotes

  1. 변경 사유, 적용 범위, 검증 방법을 각주에 분리하면 본문 가독성을 유지하면서 추적 정보를 남길 수 있습니다.

  2. 예: policy, rollback, reference처럼 의미가 드러나는 키를 사용하면 문서 수정 시 혼동이 줄어듭니다.