diff options
| author | s-ol <s-ol@users.noreply.github.com> | 2018-10-27 05:26:00 +0000 |
|---|---|---|
| committer | s-ol <s-ol@users.noreply.github.com> | 2018-10-27 05:38:27 +0000 |
| commit | f7f24976e670deda22e3537c4f5c3845119b3399 (patch) | |
| tree | 1ab16d7a336f3e3447c4a350ef246a891630b2f2 /app/tablefs/init.moon | |
| parent | fix tablefs on client (diff) | |
| download | mmm-f7f24976e670deda22e3537c4f5c3845119b3399.tar.gz mmm-f7f24976e670deda22e3537c4f5c3845119b3399.zip | |
lot more writing about tablefs
Diffstat (limited to 'app/tablefs/init.moon')
| -rw-r--r-- | app/tablefs/init.moon | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/app/tablefs/init.moon b/app/tablefs/init.moon index 5f31781..9ad6fb9 100644 --- a/app/tablefs/init.moon +++ b/app/tablefs/init.moon @@ -6,10 +6,6 @@ on_client ((...) -> name: 'moon', transform: (method) => method @ }, - { - name: 'http', - transform: (...) -> ... -- @TODO - }, } split = (str, delim='->') -> @@ -49,7 +45,7 @@ on_client ((...) -> error "interp not found: '#{_name}'" - transforms = { + converts = { { inp: 'mmm/dom', out: 'text/html', @@ -74,7 +70,7 @@ on_client ((...) -> }, } - table.insert transforms, { + table.insert converts, { inp: 'text/html', out: 'mmm/dom', transform: if MODE == 'SERVER' @@ -87,21 +83,31 @@ on_client ((...) -> } do - success, discount = pcall require, 'discount' - if success - table.insert transforms, { + local markdown + if MODE == 'SERVER' + success, discount = pcall require, 'discount' + markdown = discount if success + else + markdown = window and window\marked + + if markdown + table.insert converts, { inp: 'text/markdown', out: 'text/html', - transform: discount, + transform: markdown, } - if MODE == 'SERVER' - -- @TODO chained w above - table.insert transforms, { - inp: 'text/markdown', - out: 'mmm/dom', - transform: discount, - } + -- @TODO chained w above + table.insert converts, { + inp: 'text/markdown', + out: 'mmm/dom', + transform: if MODE == 'SERVER' + (md) -> markdown md + else + (md) -> + with document\createElement 'div' + .innerHTML = markdown md + } class Fileder new: (props, @children) => @@ -127,13 +133,13 @@ on_client ((...) -> return interp @, value if not overrides - -- second pass, interps + transforms + -- second pass, interps + converts for key, value in pairs @props continue unless key.name == name interp = key\get_interp! - for { :inp, :out, :transform } in *transforms + for { :inp, :out, :transform } in *converts return transform interp @, value if inp == key.type and out == type nil, "node doesn't have value for #{name}:#{type}" |
