export

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: 10 Imported by: 0

Documentation

Overview

Package export는 위키의 일부를 밖으로 내보낼 번들을 만든다.

무엇이 나가는지는 internal/expose 가 판정한다(ADR 0044). 여기서 규칙을 다시 만들지 않는다. 이 패키지가 더하는 것은 둘이다. 명시 슬러그로 좁히는 것과 사용자가 준 사전으로 식별자를 치환하는 것이다.

형태를 바꾸지 않는다. 마크다운이 마크다운으로 나가며 병합도 압축도 포맷 변환도 하지 않는다. 그것은 다른 도구의 일이다(ADR 0046).

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type File

type File struct {
	// Rel은 번들 안에서의 상대 슬래시 경로다. 파일명에 치환이 적용된 뒤의
	// 이름이며 디렉토리 구조는 위키 그대로다.
	Rel string
	// Source는 위키 안에서의 원본 상대 경로다. 안내와 충돌 보고에 쓴다.
	Source string
	// Content는 치환을 마친 파일 전체다. 프론트매터를 포함한다.
	Content string
}

File은 번들에 들어갈 파일 하나다.

type Hit

type Hit struct {
	Rule  Rule
	Count int
}

Hit은 규칙 하나의 적용 건수다. 0건인 규칙은 사전의 오타일 가능성이 높으므로 호출자가 따로 알린다.

type Options

type Options struct {
	// IncludeArchive는 archive 문서도 반출할지 정한다.
	IncludeArchive bool
	// IncludeInternal은 sensitivity 가 internal 인 문서도 반출할지
	// 정한다. 기본은 거짓이다. 파일이 기계 밖으로 나가므로 기본이 전체
	// 노출이면 사고가 난다(ADR 0063).
	IncludeInternal bool
	// Slugs는 반출할 문서를 좁힌다. 비면 노출 규칙을 지난 전부다.
	// 링크를 따라가지 않는다. 지목한 것만 나간다.
	Slugs []string
	// Rules는 익명화 치환 규칙이다. 비면 치환하지 않는다.
	Rules []Rule
}

Options는 반출 범위와 익명화 사전이다.

type Result

type Result struct {
	// Files는 번들에 들어갈 파일이다. 위키 순회 순서를 따르므로 경로순이다.
	Files []File
	// Exposure는 노출 규칙이 무엇을 걸렀는지의 집계다.
	Exposure expose.Exposure
	// ExcludedByFilter는 노출 규칙은 지났으나 명시 슬러그에 들지 않아
	// 빠진 문서 수다. 슬러그를 주지 않았으면 0이다.
	ExcludedByFilter int
	// Hits는 규칙별 치환 건수다. Options.Rules 의 적용 순서와 같다.
	Hits []Hit
	// DanglingLinks는 번들 밖을 가리키는 위키링크 수다. 본문을 고치지
	// 않으므로 링크는 그대로 나간다. 수만 알린다(ADR 0046).
	DanglingLinks int
	// DanglingSlugs는 그 링크들이 가리키는 슬러그다. 중복 없이 사전순이다.
	DanglingSlugs []string
}

Result는 반출 계획이다. 파일을 쓰기 전에 무엇이 나가는지 전부 담는다.

func Plan

func Plan(root string, cfg config.Config, opts Options) (Result, error)

Plan은 반출 계획을 만든다. 파일을 쓰지 않는다.

func (Result) Replaced

func (r Result) Replaced() int

Replaced는 치환이 한 건이라도 일어났는지다.

func (Result) UnusedRules

func (r Result) UnusedRules() []Rule

UnusedRules는 한 번도 걸리지 않은 규칙이다. 사전에 오타가 있으면 조용히 통과하는데 그것이 익명화 실패의 가장 흔한 형태다.

type Rule

type Rule struct {
	From string
	To   string
}

Rule은 치환 규칙 하나다. To 는 비어도 된다. 지우는 규칙이 된다.

func ParseReplacements

func ParseReplacements(src string) ([]Rule, error)

ParseReplacements는 치환 파일 내용을 규칙 목록으로 만든다.

한 줄에 규칙 하나이며 원문과 대체어를 ==> 로 나눈다. # 으로 시작하는 줄과 빈 줄은 건너뛴다. 대체어는 비어도 된다. 지우는 규칙이 된다.

사전은 engram 이 내장하지 않는다. 조직 어휘 목록을 담을 수 없기 때문이며 메커니즘만 주고 사전은 쓰는 사람이 채운다(ADR 0024, 0046).

Jump to

Keyboard shortcuts

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