aboutsummaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2019-10-31 16:15:23 +0000
committers-ol <s-ol@users.noreply.github.com>2019-10-31 16:15:23 +0000
commit938a524f623ba08430085fe6c33fcc77f94b3127 (patch)
tree51ba95431a12e2d84e37697f56e8b8bcd56b1c57 /build
parentallow adding and removing of facets (diff)
downloadmmm-938a524f623ba08430085fe6c33fcc77f94b3127.tar.gz
mmm-938a524f623ba08430085fe6c33fcc77f94b3127.zip
add DEBUG pseudo-type for debugging conversion
Diffstat (limited to 'build')
-rw-r--r--build/server.moon10
1 files changed, 9 insertions, 1 deletions
diff --git a/build/server.moon b/build/server.moon
index fb6dca4..99076bf 100644
--- a/build/server.moon
+++ b/build/server.moon
@@ -10,7 +10,7 @@ add '?/init.server'
require 'mmm'
import dir_base, Key, Fileder from require 'mmm.mmmfs.fileder'
-import convert from require 'mmm.mmmfs.conversion'
+import convert, MermaidDebugger from require 'mmm.mmmfs.conversion'
import get_store from require 'mmm.mmmfs.stores'
import render from require 'mmm.mmmfs.layout'
import Browser from require 'mmm.mmmfs.browser'
@@ -88,6 +88,11 @@ class Server
end)
</script>"
+ handle_debug: (fileder, facet) =>
+ debugger = MermaidDebugger!
+ fileder\find facet, nil, nil, nil, debugger
+ convert 'text/mermaid-graph', 'text/html', debugger\render!, fileder, facet.name
+
handle: (method, path, facet, value) =>
fileder = Fileder @store, path
@@ -111,6 +116,9 @@ class Server
else
if facet.type == 'text/html+interactive'
@handle_interactive fileder, facet
+ else if base = facet.type\match '^DEBUG %-> (.*)'
+ facet.type = base
+ @handle_debug fileder, facet
else if not fileder\has_facet facet.name
404, "facet '#{facet.name}' not found in fileder '#{path}'"
else