Documentation
¶
Index ¶
- func IsValidTaskStatus(status TaskStatus) bool
- type CheckboxItem
- type DateOrDateTime
- func (d DateOrDateTime) Before(other time.Time) bool
- func (d DateOrDateTime) Format(layout string) string
- func (d DateOrDateTime) IsZero() bool
- func (d DateOrDateTime) MarshalText() ([]byte, error)
- func (d DateOrDateTime) Ptr() *DateOrDateTime
- func (d DateOrDateTime) Time() time.Time
- func (d *DateOrDateTime) UnmarshalText(data []byte) error
- type Decision
- type DecisionID
- type Goal
- type GoalID
- type GoalStatus
- type Objective
- type ObjectiveID
- type ObjectiveStatus
- type Priority
- type RecurringInterval
- type Task
- type TaskID
- type TaskStatus
- type Theme
- type ThemeID
- type ThemeStatus
- type Vision
- type VisionID
- type VisionStatus
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsValidTaskStatus ¶ added in v0.10.8
func IsValidTaskStatus(status TaskStatus) bool
IsValidTaskStatus returns true if the status is a valid canonical status value.
Types ¶
type CheckboxItem ¶
CheckboxItem represents a checkbox item in markdown content.
type DateOrDateTime ¶ added in v0.41.0
DateOrDateTime wraps time.Time and serializes as YYYY-MM-DD for pure date values (midnight UTC) and RFC3339 for datetime values with a time component.
func (DateOrDateTime) Before ¶ added in v0.41.0
func (d DateOrDateTime) Before(other time.Time) bool
Before reports whether d is before other.
func (DateOrDateTime) Format ¶ added in v0.41.0
func (d DateOrDateTime) Format(layout string) string
Format returns a textual representation of d using the given layout.
func (DateOrDateTime) IsZero ¶ added in v0.41.0
func (d DateOrDateTime) IsZero() bool
IsZero reports whether d represents the zero time instant.
func (DateOrDateTime) MarshalText ¶ added in v0.41.0
func (d DateOrDateTime) MarshalText() ([]byte, error)
MarshalText implements encoding.TextMarshaler. Values with zero hour/minute/second/nanosecond in UTC serialize as YYYY-MM-DD; all others serialize as RFC3339.
func (DateOrDateTime) Ptr ¶ added in v0.41.0
func (d DateOrDateTime) Ptr() *DateOrDateTime
Ptr returns a pointer to a copy of d.
func (DateOrDateTime) Time ¶ added in v0.41.0
func (d DateOrDateTime) Time() time.Time
Time returns the underlying time.Time value.
func (*DateOrDateTime) UnmarshalText ¶ added in v0.41.0
func (d *DateOrDateTime) UnmarshalText(data []byte) error
UnmarshalText implements encoding.TextUnmarshaler. Accepts YYYY-MM-DD and RFC3339 formats (delegated to libtime.ParseTime).
type Decision ¶ added in v0.21.0
type Decision struct {
// Frontmatter fields
NeedsReview bool `yaml:"needs_review"`
Reviewed bool `yaml:"reviewed,omitempty"`
ReviewedDate string `yaml:"reviewed_date,omitempty"`
Status string `yaml:"status,omitempty"`
Type string `yaml:"type,omitempty"`
PageType string `yaml:"page_type,omitempty"`
// Metadata — excluded from YAML serialization
Name string `yaml:"-"` // Relative path from vault root without .md extension
Content string `yaml:"-"` // Full markdown content including frontmatter
FilePath string `yaml:"-"` // Absolute path to file
}
Decision represents a markdown file in the vault that has needs_review frontmatter.
type DecisionID ¶ added in v0.21.0
type DecisionID string
DecisionID represents a decision identifier (relative vault path without .md extension).
func (DecisionID) String ¶ added in v0.21.0
func (d DecisionID) String() string
type Goal ¶
type Goal struct {
// Frontmatter fields
Status GoalStatus `yaml:"status"`
PageType string `yaml:"page_type"`
Theme string `yaml:"theme,omitempty"`
Priority Priority `yaml:"priority,omitempty"`
Assignee string `yaml:"assignee,omitempty"`
StartDate *time.Time `yaml:"start_date,omitempty"`
TargetDate *time.Time `yaml:"target_date,omitempty"`
Tags []string `yaml:"tags,omitempty"`
Completed *libtime.Date `yaml:"completed,omitempty"`
// Metadata
Name string `yaml:"-"` // Filename without extension
Content string `yaml:"-"` // Full markdown content including frontmatter
FilePath string `yaml:"-"` // Absolute path to file
Tasks []CheckboxItem `yaml:"-"` // Parsed checkbox tasks from content
ModifiedDate *time.Time `yaml:"-"` // File modification time, populated by storage layer
}
Goal represents a goal in the Obsidian vault with YAML frontmatter.
type GoalID ¶
type GoalID string
GoalID represents a goal identifier (filename without .md extension).
type GoalStatus ¶
type GoalStatus string
GoalStatus represents the status of a goal.
const ( GoalStatusActive GoalStatus = "active" GoalStatusCompleted GoalStatus = "completed" GoalStatusOnHold GoalStatus = "on_hold" )
type Objective ¶ added in v0.29.0
type Objective struct {
// Frontmatter fields
Status ObjectiveStatus `yaml:"status"`
PageType string `yaml:"page_type"`
Priority Priority `yaml:"priority,omitempty"`
Assignee string `yaml:"assignee,omitempty"`
StartDate *time.Time `yaml:"start_date,omitempty"`
TargetDate *time.Time `yaml:"target_date,omitempty"`
Tags []string `yaml:"tags,omitempty"`
Completed *libtime.Date `yaml:"completed,omitempty"`
// Metadata
Name string `yaml:"-"` // Filename without extension
Content string `yaml:"-"` // Full markdown content including frontmatter
FilePath string `yaml:"-"` // Absolute path to file
ModifiedDate *time.Time `yaml:"-"` // File modification time, populated by storage layer
}
Objective represents an objective in the Obsidian vault with YAML frontmatter.
type ObjectiveID ¶ added in v0.29.0
type ObjectiveID string
ObjectiveID represents an objective identifier (filename without .md extension).
func (ObjectiveID) String ¶ added in v0.29.0
func (o ObjectiveID) String() string
type ObjectiveStatus ¶ added in v0.29.0
type ObjectiveStatus string
ObjectiveStatus represents the status of an objective.
const ( ObjectiveStatusActive ObjectiveStatus = "active" ObjectiveStatusCompleted ObjectiveStatus = "completed" ObjectiveStatusOnHold ObjectiveStatus = "on_hold" )
type Priority ¶ added in v0.4.0
type Priority int
Priority represents a task priority value. Valid values are integers >= 0, or -1 for invalid/unparseable values.
func (*Priority) UnmarshalYAML ¶ added in v0.4.0
UnmarshalYAML implements custom YAML unmarshaling for Priority. If the value is a valid int, use it. Otherwise, set to -1 (invalid). This makes priority parsing non-fatal - files with string priority values won't cause YAML unmarshal to fail.
type RecurringInterval ¶ added in v0.12.0
RecurringInterval represents a time interval for recurring tasks.
func ParseRecurringInterval ¶ added in v0.12.0
func ParseRecurringInterval(s string) (RecurringInterval, error)
ParseRecurringInterval parses a recurring interval string into a RecurringInterval. Named aliases: daily, weekly, monthly, quarterly, yearly. Numeric shorthand: <N><unit> where unit is d, w, m, q, or y. Note: "weekdays" is NOT handled here — check for it before calling this function.
type Task ¶
type Task struct {
// Frontmatter fields
Status TaskStatus `yaml:"status"`
PageType string `yaml:"page_type"`
Goals []string `yaml:"goals,omitempty"`
Priority Priority `yaml:"priority,omitempty"`
Assignee string `yaml:"assignee,omitempty"`
DeferDate *DateOrDateTime `yaml:"defer_date,omitempty"`
Tags []string `yaml:"tags,omitempty"`
Phase string `yaml:"phase,omitempty"`
ClaudeSessionID string `yaml:"claude_session_id,omitempty"`
Recurring string `yaml:"recurring,omitempty"`
LastCompleted string `yaml:"last_completed,omitempty"`
CompletedDate string `yaml:"completed_date,omitempty"`
PlannedDate *DateOrDateTime `yaml:"planned_date,omitempty"`
DueDate *DateOrDateTime `yaml:"due_date,omitempty"`
// Metadata
Name string `yaml:"-"` // Filename without extension
Content string `yaml:"-"` // Full markdown content including frontmatter
FilePath string `yaml:"-"` // Absolute path to file
ModifiedDate *time.Time `yaml:"-"` // File modification time, populated by storage layer
}
Task represents a task in the Obsidian vault with YAML frontmatter.
type TaskID ¶
type TaskID string
TaskID represents a task identifier (filename without .md extension).
type TaskStatus ¶
type TaskStatus string
TaskStatus represents the status of a task.
const ( TaskStatusTodo TaskStatus = "todo" TaskStatusInProgress TaskStatus = "in_progress" TaskStatusBacklog TaskStatus = "backlog" TaskStatusCompleted TaskStatus = "completed" TaskStatusHold TaskStatus = "hold" TaskStatusAborted TaskStatus = "aborted" )
func NormalizeTaskStatus ¶ added in v0.10.8
func NormalizeTaskStatus(raw string) (TaskStatus, bool)
NormalizeTaskStatus converts alias status values to their canonical form. Returns the canonical status and true if valid, or empty and false if unknown.
func (*TaskStatus) UnmarshalYAML ¶ added in v0.10.8
func (s *TaskStatus) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML implements custom YAML unmarshaling that normalizes status values.
type Theme ¶
type Theme struct {
// Frontmatter fields
Status ThemeStatus `yaml:"status"`
PageType string `yaml:"page_type"`
Priority Priority `yaml:"priority,omitempty"`
Assignee string `yaml:"assignee,omitempty"`
StartDate *time.Time `yaml:"start_date,omitempty"`
TargetDate *time.Time `yaml:"target_date,omitempty"`
Tags []string `yaml:"tags,omitempty"`
// Metadata
Name string `yaml:"-"` // Filename without extension
Content string `yaml:"-"` // Full markdown content including frontmatter
FilePath string `yaml:"-"` // Absolute path to file
ModifiedDate *time.Time `yaml:"-"` // File modification time, populated by storage layer
}
Theme represents a theme in the Obsidian vault with YAML frontmatter.
type ThemeID ¶
type ThemeID string
ThemeID represents a theme identifier (filename without .md extension).
type ThemeStatus ¶
type ThemeStatus string
ThemeStatus represents the status of a theme.
const ( ThemeStatusActive ThemeStatus = "active" ThemeStatusCompleted ThemeStatus = "completed" ThemeStatusArchived ThemeStatus = "archived" )
type Vision ¶ added in v0.29.0
type Vision struct {
// Frontmatter fields
Status VisionStatus `yaml:"status"`
PageType string `yaml:"page_type"`
Priority Priority `yaml:"priority,omitempty"`
Assignee string `yaml:"assignee,omitempty"`
Tags []string `yaml:"tags,omitempty"`
// Metadata
Name string `yaml:"-"` // Filename without extension
Content string `yaml:"-"` // Full markdown content including frontmatter
FilePath string `yaml:"-"` // Absolute path to file
ModifiedDate *time.Time `yaml:"-"` // File modification time, populated by storage layer
}
Vision represents a vision in the Obsidian vault with YAML frontmatter.
type VisionID ¶ added in v0.29.0
type VisionID string
VisionID represents a vision identifier (filename without .md extension).
type VisionStatus ¶ added in v0.29.0
type VisionStatus string
VisionStatus represents the status of a vision.
const ( VisionStatusActive VisionStatus = "active" VisionStatusCompleted VisionStatus = "completed" VisionStatusArchived VisionStatus = "archived" )