graph

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

Documentation

Overview

Package graph는 위키 전체의 링크 관계를 계산한다. backlinks 가 찾는 것과 mv 가 고쳐야 하는 것이 같은 집합이므로 그 계산을 한 곳에 둔다. 링크가 어느 파일 어느 줄 어느 필드에 있는지를 반환해 mv가 그 자리를 고칠 수 있게 하는 것이 이 패키지의 계약이다.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Normalize

func Normalize(v string) string

Normalize는 링크 대상을 비교 키로 정규화한다. internal/lint 의 relationSlug 와 같은 규칙이어야 고아 판정과 백링크가 같은 문서 집합을 본다. 위키링크 껍데기를 벗기고, 경로면 파일명만 남기고, 확장자와 날짜 접두사(YYYY-MM-DD- 또는 YYYY-MM-)를 뗀다.

Types

type Graph

type Graph struct {
	// contains filtered or unexported fields
}

Graph는 위키 전체의 링크 관계다.

func Build

func Build(walked []walk.Doc) *Graph

Build는 순회 결과로 링크 그래프를 만든다. 순회는 internal/walk 의 결과를 입력으로 받는다. 결과 링크는 출처 경로순, 같은 파일이면 줄 번호순으로 정렬된다.

func (g *Graph) Backlinks(slug string) []Link

Backlinks는 슬러그를 가리키는 링크를 반환한다. 질의 슬러그도 같은 규칙으로 정규화하므로 경로 형태로 물어도 된다.

func (*Graph) Has

func (g *Graph) Has(slug string) bool

Has는 슬러그에 해당하는 문서가 위키에 있는지를 반환한다. 백링크가 있어도 문서가 없으면 깨진 링크다.

func (*Graph) Outgoing

func (g *Graph) Outgoing(path string) []Link

Outgoing은 한 문서가 거는 링크를 반환한다.

type Kind

type Kind string

Kind는 링크가 문서의 어느 부분에서 왔는지 구분한다.

const (
	KindBody           Kind = "body"            // 본문의 위키링크
	KindRelated        Kind = "related"         // related 필드
	KindDerivedFrom    Kind = "derived_from"    // 파생 출처 필드
	KindDerivedContext Kind = "derived_context" // 파생 맥락 필드
	KindSourceRefs     Kind = "source_refs"     // 원본 출처 필드
)

func (Kind) Label

func (k Kind) Label() string

Label은 사람용 출력에 쓰는 링크 종류 이름이다.

type Link struct {
	From  string // 출처 문서의 위키 루트 상대 슬래시 경로
	Line  int    // 출처 줄 번호. 1 기반
	Field Kind   // 링크가 온 필드
	Slug  string // 정규화된 가리킴 슬러그
	Raw   string // 원본 값. 껍데기와 경로 형태를 그대로 담는다
}

Link는 링크 하나다. 출처와 위치와 원본 값을 모두 담아 링크를 고치는 쪽(mv)이 글자 단위로 자리를 찾을 수 있게 한다.

Jump to

Keyboard shortcuts

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