mirror of
https://github.com/lancatlin/mdsh.git
synced 2026-11-05 19:30:12 +08:00
template with sh func
This commit is contained in:
commit
121f5a4511
3 files changed
+69
No files matched your search
@@ -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
@@ -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}}
|
||||
Reference in new issue
Block a user