summaryrefslogtreecommitdiff
path: root/model_drafts.go
diff options
context:
space:
mode:
authoreltrac <hi@eltr.ac>2026-03-04 11:07:09 +0800
committereltrac <hi@eltr.ac>2026-03-04 11:07:09 +0800
commita5da7777274a108caaa7e360d4986a0457ea8239 (patch)
tree62300852c758d800c7b9f984fc8565035ae96d6d /model_drafts.go
parent251c3db8a16b433f840b2d836303a72a4a97ddd2 (diff)
feat: support listing all, expired, future and published posts
Diffstat (limited to 'model_drafts.go')
-rw-r--r--model_drafts.go76
1 files changed, 0 insertions, 76 deletions
diff --git a/model_drafts.go b/model_drafts.go
deleted file mode 100644
index c796e98..0000000
--- a/model_drafts.go
+++ /dev/null
@@ -1,76 +0,0 @@
-package main
-
-import (
- "encoding/csv"
- "os"
- "os/exec"
- "strings"
-
- tea "charm.land/bubbletea/v2"
-)
-
-type model struct {
- choices [][]string
- cursor int
- selected map[int]struct{}
-}
-
-func initialModel() model {
- out, err := exec.Command("hugo", "list", "drafts").Output()
- if err != nil {
- println("Error fetching Hugo drafts: Is this a Hugo site? Is Hugo installed?")
- os.Exit(1)
- }
-
- csvReader := csv.NewReader(strings.NewReader(string(out)))
- records, err := csvReader.ReadAll()
- if err != nil {
- println("Error parsing draft list.")
- os.Exit(1)
- }
- if len(records) <= 1 {
- println("No drafts found.")
- os.Exit(1)
- }
-
- return model{
- choices: records,
- selected: make(map[int]struct{}),
- }
-}
-
-func (m model) Init() tea.Cmd {
- return nil
-}
-
-func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
- switch msg := msg.(type) {
- case tea.KeyPressMsg:
- switch msg.String() {
- case "ctrl+c", "q":
- return m, tea.Quit
- case "up", "k":
- if m.cursor > 0 {
- m.cursor--
- }
- case "down", "j":
- if m.cursor < len(m.choices)-1 {
- m.cursor++
- }
- case "enter":
- choice := m.choices[m.cursor]
- path := choice[0]
- return m, openEditor(path)
- case "space":
- _, ok := m.selected[m.cursor]
- if ok {
- delete(m.selected, m.cursor)
- } else {
- m.selected[m.cursor] = struct{}{}
- }
- }
- case editorFinishedMsg:
- return m, tea.Quit
- }
- return m, nil
-}