todo.txt integration

This commit is contained in:
2026-07-03 11:08:27 +02:00
parent 8c9b448bdc
commit 5e72b073b8
9 changed files with 458 additions and 36 deletions
+11 -5
View File
@@ -36,12 +36,17 @@ func hashAsset(name string) string {
return hex.EncodeToString(sum[:])[:12]
}
// tmplFuncs is shared by every layout-based template: layout.html renders the
// bundle version as a data attribute on <body> so global JS (todo-rail.js) can
// cache-bust its lazy bundle load the same way the edit template does.
var tmplFuncs = template.FuncMap{
"editorBundleVersion": func() string { return editorBundleVersion },
}
var (
pageTmpl = template.Must(template.ParseFS(assets, "assets/layout.html", "assets/page/main.html"))
editTmpl = template.Must(template.New("edit").Funcs(template.FuncMap{
"editorBundleVersion": func() string { return editorBundleVersion },
}).ParseFS(assets, "assets/layout.html", "assets/editor/main.html"))
searchTmpl = template.Must(template.ParseFS(assets, "assets/layout.html", "assets/search/main.html"))
pageTmpl = template.Must(template.New("page").Funcs(tmplFuncs).ParseFS(assets, "assets/layout.html", "assets/page/main.html"))
editTmpl = template.Must(template.New("edit").Funcs(tmplFuncs).ParseFS(assets, "assets/layout.html", "assets/editor/main.html"))
searchTmpl = template.Must(template.New("search").Funcs(tmplFuncs).ParseFS(assets, "assets/layout.html", "assets/search/main.html"))
)
// specialPage is the result returned by a pageTypeHandler.
@@ -119,6 +124,7 @@ func main() {
http.HandleFunc("/_logout", h.handleLogout)
http.HandleFunc("/_reindex", h.handleReindex)
http.HandleFunc("/_search", h.handleSearchSuggest)
http.HandleFunc("/_todo", h.handleTodo)
http.HandleFunc("/quickadd", h.handleQuickAdd)
http.Handle("/", h)