aboutsummaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2019-10-10 15:38:52 +0000
committers-ol <s-ol@users.noreply.github.com>2019-10-10 15:38:52 +0000
commit9ab2f0fe3a1a043300536a057bafe5058d987d7f (patch)
treea655e2df23258103c783601547d3c5db0376ef8e /build
parentadd entr instructions (diff)
downloadmmm-9ab2f0fe3a1a043300536a057bafe5058d987d7f.tar.gz
mmm-9ab2f0fe3a1a043300536a057bafe5058d987d7f.zip
add $interactive facet with Browser
Diffstat (limited to 'build')
-rw-r--r--build/server.moon20
1 files changed, 20 insertions, 0 deletions
diff --git a/build/server.moon b/build/server.moon
index df18472..693f00c 100644
--- a/build/server.moon
+++ b/build/server.moon
@@ -12,6 +12,8 @@ require 'mmm'
import Key, dir_base, load_tree from require 'mmm.mmmfs.fileder'
import convert 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'
import decodeURI from require 'http.util'
lfs = require 'lfs'
@@ -45,6 +47,24 @@ class Server
switch method
when 'GET', 'HEAD'
val = switch facet.name
+ when '?interactive'
+ export BROWSER
+
+ root = load_tree @store
+ BROWSER = Browser root, path
+ render BROWSER\todom!, fileder, noview: true, scripts: "
+ <script type=\"application/lua\">
+ on_load = on_load or {}
+ table.insert(on_load, function()
+ local path = #{string.format '%q', path}
+ local browser = require 'mmm.mmmfs.browser'
+ local root = dofile '/$bundle.lua'
+ root:mount('', true)
+
+ BROWSER = browser.Browser(root, path, true)
+ end)
+ </script>"
+
when '?index', '?tree'
-- serve fileder index
-- '?index': one level deep