diff --git a/fstree.go b/fstree.go index fcf84b9..29cb503 100644 --- a/fstree.go +++ b/fstree.go @@ -42,7 +42,11 @@ type FsNode struct { } func (n *FsNode) FileName() string { - return filepath.Base(n.path) + name := filepath.Base(n.path) + if n.nodeType == FileNode { + return strings.TrimSuffix(name, ".md") + } + return name } // ================== messages =================== @@ -425,6 +429,10 @@ func (t *FsTree) CreateNode(folder *FsNode, name string, nodeType FsNodeType) er return errors.New("node name cannot be empty") } + if nodeType == FileNode && !strings.HasSuffix(name, ".md") { + name += ".md" + } + path := filepath.Join(folder.path, name) // materialise it first switch nodeType {