diff --git a/html_template/pkg.go b/html_template/pkg.go
index 9abfc12..a478789 100644
--- a/html_template/pkg.go
+++ b/html_template/pkg.go
@@ -11,6 +11,7 @@ import (
"net/http"
"os"
"regexp"
+ "sync"
)
type Engine struct {
@@ -22,6 +23,10 @@ type Engine struct {
DevMode bool
}
+var (
+ templateLock sync.Mutex
+)
+
func NewEngine(viewFS, staticFS fs.FS, devmode bool) (e Engine, err error) { // {{{
e.parsedTemplates = make(map[string]*template.Template)
e.viewFS = viewFS
@@ -62,7 +67,9 @@ func (e *Engine) getComponentFilenames() (files []string, err error) { // {{{
} // }}}
func (e *Engine) ReloadTemplates() { // {{{
+ templateLock.Lock()
e.parsedTemplates = make(map[string]*template.Template)
+ templateLock.Unlock()
} // }}}
func (e *Engine) StaticResource(w http.ResponseWriter, r *http.Request) { // {{{
@@ -119,7 +126,9 @@ func (e *Engine) getPage(layout, page string) (tmpl *template.Template, err erro
return
}
+ templateLock.Lock()
e.parsedTemplates[page] = tmpl
+ templateLock.Unlock()
return
} // }}}
func (e *Engine) Render(p Page, w http.ResponseWriter, r *http.Request) (err error) { // {{{
diff --git a/static/images/icon_table.svg b/static/images/icon_table.svg
new file mode 100644
index 0000000..9379dfc
--- /dev/null
+++ b/static/images/icon_table.svg
@@ -0,0 +1,49 @@
+
+
+
+
diff --git a/static/js/page_node.mjs b/static/js/page_node.mjs
index 86c29c0..753aa46 100644
--- a/static/js/page_node.mjs
+++ b/static/js/page_node.mjs
@@ -1,4 +1,4 @@
-import { ROOT_NODE, uuidv7, StoreFile } from 'node_store'
+import { ROOT_NODE, uuidv7 } from 'node_store'
import { CustomHTMLElement } from './lib/custom_html_element.mjs'
import { MarkedPosition } from './marked_position.mjs'
@@ -9,7 +9,7 @@ export class N2PageNodeUI extends CustomHTMLElement {