feat: list notes, create dailly note using a template.

This commit is contained in:
CronyAkatsuki 2025-10-25 22:53:28 +02:00
parent 407614b72e
commit dfbd324e0d

46
main.go
View file

@ -1,10 +1,15 @@
package main package main
import ( import (
"bytes"
"errors"
"flag" "flag"
"fmt" "fmt"
"log"
"os" "os"
"os/exec" "os/exec"
"strings"
"time"
) )
func main() { func main() {
@ -14,10 +19,12 @@ func main() {
func ParseFlags(sb string) { func ParseFlags(sb string) {
note := sb + "/notes" note := sb + "/notes"
// daily := sb + "/periodic/daily" daily := sb + "/periodic/daily"
// templates := sb + "/templates" templates := sb + "/templates"
quickPtr := flag.Bool("q", false, "Open quick file for notes") quickPtr := flag.Bool("q", false, "Open quick file for notes")
listPtr := flag.Bool("l", false, "List files in notes directory")
dailyPtr := flag.Bool("d", false, "Create/Edit daily journal entry")
flag.Parse() flag.Parse()
@ -29,6 +36,41 @@ func ParseFlags(sb string) {
os.Exit(0) os.Exit(0)
} }
if *listPtr {
files, err := os.ReadDir(note)
if err != nil {
log.Fatal(err)
}
for _, f := range files {
file := f.Name()
fmt.Println(strings.ReplaceAll(file, ".md", ""))
}
os.Exit(0)
}
if *dailyPtr {
date := time.Now().Local().Format("2006-01-02")
file := daily + "/" + date + ".md"
dailyTemplate := templates + "/daily.md"
// If the file doesn't exist, create it
if _, err := os.Stat(file); errors.Is(err, os.ErrNotExist) {
// Read template file
t, _ := os.ReadFile(dailyTemplate)
// Replace yesterday and tomorrow with specific dates
t = bytes.ReplaceAll(t, []byte("YESTERDAY"), []byte(time.Now().Local().AddDate(0, 0, -1).Format("2006-01-02")))
t = bytes.ReplaceAll(t, []byte("TOMORROW"), []byte(time.Now().Local().AddDate(0, 0, 1).Format("2006-01-02")))
// write the file
os.WriteFile(file, t, 0644)
}
OpenNvim(file)
os.Exit(0)
}
if len(fileName) == 0 { if len(fileName) == 0 {
fmt.Println("You didn't specify a note name") fmt.Println("You didn't specify a note name")
os.Exit(1) os.Exit(1)