feat: list notes, create dailly note using a template.
This commit is contained in:
parent
407614b72e
commit
dfbd324e0d
1 changed files with 44 additions and 2 deletions
46
main.go
46
main.go
|
|
@ -1,10 +1,15 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"flag"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"os/exec"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
|
@ -14,10 +19,12 @@ func main() {
|
|||
|
||||
func ParseFlags(sb string) {
|
||||
note := sb + "/notes"
|
||||
// daily := sb + "/periodic/daily"
|
||||
// templates := sb + "/templates"
|
||||
daily := sb + "/periodic/daily"
|
||||
templates := sb + "/templates"
|
||||
|
||||
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()
|
||||
|
||||
|
|
@ -29,6 +36,41 @@ func ParseFlags(sb string) {
|
|||
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 {
|
||||
fmt.Println("You didn't specify a note name")
|
||||
os.Exit(1)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue