aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2019-10-09 12:08:41 +0000
committers-ol <s-ol@users.noreply.github.com>2019-10-09 12:08:41 +0000
commit97bc4a0d8d866026905eac6f0ba08b75f166219a (patch)
treec0dfc7b69d66a77ebf99fb9c0dcb65216006a84a
parentrename LFS to FS store (diff)
downloadmmm-97bc4a0d8d866026905eac6f0ba08b75f166219a.tar.gz
mmm-97bc4a0d8d866026905eac6f0ba08b75f166219a.zip
make live server load subtree just-in-time (for live refreshing)
-rw-r--r--build/server.moon7
-rw-r--r--mmm/mmmfs/layout.moon2
-rw-r--r--mmm/mmmfs/stores/init.moon6
3 files changed, 7 insertions, 8 deletions
diff --git a/build/server.moon b/build/server.moon
index 2906d9b..983b43b 100644
--- a/build/server.moon
+++ b/build/server.moon
@@ -34,7 +34,7 @@ tojson = (obj) ->
'null'
class Server
- new: (@tree, opts={}) =>
+ new: (@store, opts={}) =>
opts = {k,v for k,v in pairs opts}
opts.host = 'localhost' unless opts.host
opts.port = 8000 unless opts.port
@@ -51,7 +51,7 @@ class Server
assert @server\loop!
handle: (method, path, facet) =>
- fileder = @tree\walk path
+ fileder = load_tree @store, path -- @tree\walk path
switch method
when 'GET', 'HEAD'
if fileder and facet
@@ -168,6 +168,5 @@ class Server
{ store, host, port } = arg
store = get_store store
-tree = load_tree store
-server = Server tree, :host, port: port and tonumber port
+server = Server store, :host, port: port and tonumber port
server\listen!
diff --git a/mmm/mmmfs/layout.moon b/mmm/mmmfs/layout.moon
index 0fbf553..62ae2e8 100644
--- a/mmm/mmmfs/layout.moon
+++ b/mmm/mmmfs/layout.moon
@@ -130,7 +130,7 @@ render = (content, fileder, opts={}) ->
<html>
<head>
<link rel="stylesheet" type="text/css" href="/.static/main.css" />
- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,400" />
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,400,600" />
]]
buf ..= "
#{get_meta fileder}
diff --git a/mmm/mmmfs/stores/init.moon b/mmm/mmmfs/stores/init.moon
index 381c80b..64fc44d 100644
--- a/mmm/mmmfs/stores/init.moon
+++ b/mmm/mmmfs/stores/init.moon
@@ -4,7 +4,7 @@ require = relative ..., 0
-- e.g.: sql, fs:/path/to/root, sql:MEMORY, sql:db.sqlite3
get_store = (args='sql', opts={verbose: true}) ->
type, arg = args\match '(%w+):(.*)'
- type = arg unless type
+ type = args unless type
switch type\lower!
when 'sql'
@@ -18,11 +18,11 @@ get_store = (args='sql', opts={verbose: true}) ->
SQLStore opts
when 'fs'
- import LFSStore from require '.fs'
+ import FSStore from require '.fs'
opts.root = arg
- LFSStore opts
+ FSStore opts
else
warn "unknown or missing value for STORE: valid types values are sql, fs"