meetup

package
v0.0.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2024 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultTaskPrefix          = "- [ ] "
	DefaultTaskCompletedPrefix = "- [x] "
)
View Source
const (
	TemplateDirName = ".templates"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	RootDir         string   `yaml:"root_dir"`
	Editor          []string `yaml:"editor"`
	DefaultMetadata Metadata `yaml:"default_metadata"`
}

func DefaultConfig

func DefaultConfig() (Config, error)

type GroupStrategy

type GroupStrategy string
const (
	GroupByDomain GroupStrategy = "domain"
	GroupByDate   GroupStrategy = "date"

	MetadataFilename = ".metadata.yaml"
)

type JobFunc added in v0.0.2

type JobFunc func()

type JobQueue added in v0.0.2

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

JobQueue is a mindnummingly simple job queue, to support our minimal needs.

func NewJobQueue added in v0.0.2

func NewJobQueue(n int) *JobQueue

func (*JobQueue) Run added in v0.0.2

func (jq *JobQueue) Run(fn JobFunc)

type Manager

type Manager struct {
	Config
	// contains filtered or unexported fields
}

func NewManager

func NewManager(config Config) (Manager, error)

func (*Manager) AddTemplate

func (m *Manager) AddTemplate(paths ...string) error

func (*Manager) ListMeetings

func (m *Manager) ListMeetings(mw MeetingQuery) ([]Meeting, error)

func (*Manager) ListTemplates

func (m *Manager) ListTemplates() ([]string, error)

func (*Manager) OpenMeeting

func (m *Manager) OpenMeeting(meeting Meeting) error

OpenMeeting opens a meeting in the editor, and creates it if it doesn't not exist.

func (*Manager) RemoveMeeting

func (m *Manager) RemoveMeeting(meeting Meeting) error

func (*Manager) RemoveTemplate

func (m *Manager) RemoveTemplate(names ...string) error

func (*Manager) SyncMetadata

func (m *Manager) SyncMetadata() error

func (*Manager) Tasks

func (m *Manager) Tasks(query TaskQuery) ([]Task, error)

func (*Manager) UpdateMeetingGroupBy

func (m *Manager) UpdateMeetingGroupBy(newGs GroupStrategy) error

type Meeting

type Meeting struct {
	Name     string
	Date     string
	Domain   string
	Template string
}

func MeetingFromPath

func MeetingFromPath(gs GroupStrategy, p string) (Meeting, error)

MeetingFromPath attemps to construct a Meeting from its path in the meetup dir. todo: misses the Template field

func (Meeting) GetPath added in v0.0.3

func (m Meeting) GetPath(meetupDir string, gs GroupStrategy) string

GetPath retusn the path to the meeting with meetupDir as the root.

func (Meeting) String

func (m Meeting) String() string

func (Meeting) Title added in v0.0.6

func (m Meeting) Title() string

type MeetingQuery added in v0.0.1

type MeetingQuery struct {
	Name   glob.Glob
	Domain glob.Glob
	Date   glob.Glob
}

func (MeetingQuery) Match added in v0.0.1

func (mw MeetingQuery) Match(m Meeting) bool

type Metadata

type Metadata struct {
	GroupBy         GroupStrategy     `yaml:"group_by"`
	DomainTemplates map[string]string `yaml:"domain_templates"`
}

func DefaultMetadata

func DefaultMetadata() Metadata

type Task

type Task struct {
	Meeting     Meeting
	Complete    bool
	Description string
}

type TaskQuery

type TaskQuery struct {
	Meeting     MeetingQuery
	Complete    *bool
	Description glob.Glob
}

func (TaskQuery) Match added in v0.0.1

func (t TaskQuery) Match(task Task) bool

Jump to

Keyboard shortcuts

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