template with sh func

This commit is contained in:
Justin Lin committed 2025-07-25 00:49:33 +10:00
commit 121f5a4511
3 files changed
+69

No files matched your search

+3
View File
@@ -0,0 +1,3 @@
module github.com/lancatlin/mdsh-go
go 1.24.5
+34
View File
@@ -0,0 +1,34 @@
package main
import (
"fmt"
"os"
"os/exec"
"strings"
"text/template"
)
var tmpl = `
Hello this is the text:
{{ sh "hledger bal assets" }}
`
func sh(command string) string {
args := strings.Split(command, " ")
out, err := exec.Command(args[0], args[1:]...).Output()
if err != nil {
return fmt.Sprintf("> Failed to execute the command:\n> %s\n", err.Error())
}
return fmt.Sprintf("\n```\n%s\n```\n", string(out))
}
func main() {
funcMap := template.FuncMap{
"sh": sh,
}
t, err := template.New("foo").Funcs(funcMap).Parse(tmpl)
if err != nil {
panic(err)
}
t.Execute(os.Stdout, "hledger is awesome")
}
+32
View File
@@ -0,0 +1,32 @@
---
name: "reports/${from}.md"
params:
from:
required: true
to:
required: true
file:
default: ~/.hledger.journal
---
# Finance Report from {from} to {to}
## Previous status:
{{hledger -f $file balancesheet -e $from }}
## Expenses:
### Expense Summary by Category
{{hledger -f $file bal expenses -b $from -e $to --depth 3 --sort amount}}
{{hledger -f $file bal expenses -b $from -e $to --depth 2 --sort amount}}
## Net Income:
{{hledger -f $file income -b $from -e $to --monthly}}
## Ending balance:
{{hledger -f $file balancesheet -e $to}}