chunk

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 21, 2026 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package chunk는 마크다운 본문을 헤딩 단위 조각으로 자른다. 헤딩이 저자가 이미 그은 경계이므로 도구가 새 경계를 발명하지 않는다. ADR 0028.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Chunk

type Chunk struct {
	Heading   string   // 이 조각을 여는 헤딩 텍스트. 헤딩이 없으면 빈 문자열
	Path      []string // 상위 헤딩 누적 경로. 이 조각 자신의 헤딩은 빠진다
	StartLine int      // 입력 본문 기준 1 기반 시작 줄. 파일 전체 기준이 아니다
	EndLine   int      // 입력 본문 기준 1 기반 끝 줄. 끝 줄을 포함한다
	Body      string   // 헤딩 줄을 포함한 원문 그대로
}

Chunk는 본문을 자른 조각 하나다.

func Split

func Split(body string) []Chunk

Split은 프론트매터를 뗀 본문을 헤딩 단위 조각으로 자른다.

경계는 ## 이상(##, ###, #### ...) 헤딩이다. # 하나짜리 문서 제목은 절 구분이 아니므로 경계로 쓰지 않는다. 코드 펜스(```) 안의 # 는 헤딩이 아니다. internal/doc 의 링크 추출과 같은 펜스 규칙을 쓴다. 첫 헤딩 앞 본문도 조각 하나이며 이때 Heading 은 빈 문자열이고 Path 는 빈 슬라이스다. 헤딩이 하나도 없으면 문서 전체가 조각 하나다.

조각을 이어 붙이면 입력 본문이 그대로 돌아온다. 줄 번호는 입력 본문 기준이므로 파일 기준 줄 번호가 필요하면 호출자가 프론트매터 줄 수만큼 더한다.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL