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 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 (Result) UnusedRules ¶
UnusedRules는 한 번도 걸리지 않은 규칙이다. 사전에 오타가 있으면 조용히 통과하는데 그것이 익명화 실패의 가장 흔한 형태다.
type Rule ¶
Rule은 치환 규칙 하나다. To 는 비어도 된다. 지우는 규칙이 된다.
func ParseReplacements ¶
ParseReplacements는 치환 파일 내용을 규칙 목록으로 만든다.
한 줄에 규칙 하나이며 원문과 대체어를 ==> 로 나눈다. # 으로 시작하는 줄과 빈 줄은 건너뛴다. 대체어는 비어도 된다. 지우는 규칙이 된다.
사전은 engram 이 내장하지 않는다. 조직 어휘 목록을 담을 수 없기 때문이며 메커니즘만 주고 사전은 쓰는 사람이 채운다(ADR 0024, 0046).