aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2019-10-24 18:14:58 +0000
committers-ol <s-ol@users.noreply.github.com>2019-10-24 18:14:58 +0000
commit8c4a3c747cb6d50e439c1819d6aecf299678c972 (patch)
treef85b6e0f224ac536eea8912e4ad1262f265c9b83
parentadd draft section of mmmfs (diff)
downloadmmm-8c4a3c747cb6d50e439c1819d6aecf299678c972.tar.gz
mmm-8c4a3c747cb6d50e439c1819d6aecf299678c972.zip
fix absoute paths in link_to, embed
-rw-r--r--build/server.moon10
-rw-r--r--mmm/mmmfs/browser.moon3
-rw-r--r--mmm/mmmfs/util.moon8
3 files changed, 13 insertions, 8 deletions
diff --git a/build/server.moon b/build/server.moon
index 4438836..33a985f 100644
--- a/build/server.moon
+++ b/build/server.moon
@@ -56,10 +56,8 @@ class Server
convert 'table', facet.type, index, fileder, facet.name
else
if facet.type == 'text/html+interactive'
- export BROWSER
-
root = Fileder @store
- BROWSER = Browser root, path, facet.name
+ browser = Browser root, path, facet.name
deps = [[
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/svg.js/2.6.6/svg.min.js"></script>
@@ -70,7 +68,7 @@ class Server
<script type="text/lua">require 'mmm'</script>
]]
- render BROWSER\todom!, fileder, noview: true, scripts: deps .. "
+ render browser\todom!, fileder, noview: true, scripts: deps .. "
<script type=\"text/lua\">
on_load = on_load or {}
table.insert(on_load, function()
@@ -84,8 +82,8 @@ class Server
local root = fileder.Fileder(store, store:get_index(nil, -1))
local err_and_trace = function (msg) return debug.traceback(msg, 2) end
- ok, BROWSER = xpcall(browser.Browser, err_and_trace, root, path, facet, true)
- if not ok then error(BROWSER) end
+ local ok, browser = xpcall(browser.Browser, err_and_trace, root, path, facet, true)
+ if not ok then error(browser) end
end)
</script>"
else if not fileder\has_facet facet.name
diff --git a/mmm/mmmfs/browser.moon b/mmm/mmmfs/browser.moon
index ffaefc0..f232f2a 100644
--- a/mmm/mmmfs/browser.moon
+++ b/mmm/mmmfs/browser.moon
@@ -34,8 +34,11 @@ casts = {
for convert in *converts
table.insert casts, convert
+export BROWSER
class Browser
new: (@root, path, facet, rehydrate=false) =>
+ BROWSER = @
+
-- root fileder
assert @root, 'root fileder is nil'
diff --git a/mmm/mmmfs/util.moon b/mmm/mmmfs/util.moon
index 9e0a0b0..176f4e6 100644
--- a/mmm/mmmfs/util.moon
+++ b/mmm/mmmfs/util.moon
@@ -14,8 +14,12 @@ tourl = (path) ->
find_fileder = (fileder, origin) ->
if 'string' == type fileder
- assert origin, "cannot resolve path '#{fileder}' without origin!"
- assert (origin\walk fileder), "couldn't resolve path '#{fileder}' from #{origin}"
+ if '.' == fileder\sub 1, 1
+ assert origin, "cannot resolve path '#{fileder}' without origin!"
+ assert (origin\walk fileder), "couldn't resolve path '#{fileder}' from #{origin}"
+ else
+ assert BROWSER and BROWSER.root, "cannot resolve path '#{fileder}' without BROWSER and root set!"
+ assert (BROWSER.root\walk fileder), "couldn't resolve path '#{fileder}' from #{origin}"
else
assert fileder, "no fileder passed."