Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsExcluded ¶
IsExcluded checks if the relative path matches any ignore filters.
func LoadExcludedPaths ¶
LoadExcludedPaths reads the userIgnoreFilters and attachmentFolderPath from .obsidian/app.json. Returns nil if the file is absent or unreadable.
func RunProgress ¶
func RunProgress(totalFiles int, progressCh <-chan ProgressUpdate)
RunProgress logs ingestion progress via structured slog events.
Types ¶
type ObsidianAppConfig ¶
type ObsidianAppConfig struct {
UserIgnoreFilters []string `json:"userIgnoreFilters"`
AttachmentFolderPath string `json:"attachmentFolderPath"`
}
ObsidianAppConfig represents relevant fields from .obsidian/app.json.
type Pipeline ¶
type Pipeline struct {
MinChunkWords int // minimum word count to keep a chunk (filters junk)
ChunkSize int // maximum runes per chunk fed to Parse
ChunkOverlap int // overlap runes between sub-chunks when a section is split
MaxEmbedTokens int // max tokens for embed text (model sequence length)
RespectExclude bool
SkipAttachments bool
// contains filtered or unexported fields
}
Pipeline orchestrates the ingestion of markdown files into the ChromaDB store.
func NewPipeline ¶
NewPipeline creates an ingestion pipeline with the given number of concurrent workers. Set ChunkSize, ChunkOverlap, and MinChunkWords on the returned Pipeline before calling Run.
Click to show internal directories.
Click to hide internal directories.