diff options
| author | s-ol <s-ol@users.noreply.github.com> | 2019-10-24 18:14:58 +0000 |
|---|---|---|
| committer | s-ol <s-ol@users.noreply.github.com> | 2019-10-24 18:14:58 +0000 |
| commit | 8c4a3c747cb6d50e439c1819d6aecf299678c972 (patch) | |
| tree | f85b6e0f224ac536eea8912e4ad1262f265c9b83 | |
| parent | add draft section of mmmfs (diff) | |
| download | mmm-8c4a3c747cb6d50e439c1819d6aecf299678c972.tar.gz mmm-8c4a3c747cb6d50e439c1819d6aecf299678c972.zip | |
fix absoute paths in link_to, embed
| -rw-r--r-- | build/server.moon | 10 | ||||
| -rw-r--r-- | mmm/mmmfs/browser.moon | 3 | ||||
| -rw-r--r-- | mmm/mmmfs/util.moon | 8 |
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." |
