diff options
| author | s-ol <s-ol@users.noreply.github.com> | 2019-10-24 17:51:37 +0000 |
|---|---|---|
| committer | s-ol <s-ol@users.noreply.github.com> | 2019-10-24 17:51:37 +0000 |
| commit | 6ce64806736e8a043ba639eccd51896d6d09023c (patch) | |
| tree | 11d008e864cb18fefca7f00fd63c537c80099006 | |
| parent | add ba_log entry 2019-10-15 (diff) | |
| download | mmm-6ce64806736e8a043ba639eccd51896d6d09023c.tar.gz mmm-6ce64806736e8a043ba639eccd51896d6d09023c.zip | |
clean up JS deps for static builds
| -rw-r--r-- | build/server.moon | 11 | ||||
| -rw-r--r-- | mmm/highlighting.moon | 11 | ||||
| -rw-r--r-- | mmm/mmmfs/browser.moon | 16 | ||||
| -rw-r--r-- | mmm/mmmfs/layout.moon | 5 |
4 files changed, 23 insertions, 20 deletions
diff --git a/build/server.moon b/build/server.moon index aa7bf50..35cc82e 100644 --- a/build/server.moon +++ b/build/server.moon @@ -60,7 +60,16 @@ class Server root = Fileder @store BROWSER = Browser root, path, facet.name - render BROWSER\todom!, fileder, noview: true, scripts: " + + deps = [[ + <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/svg.js/2.6.6/svg.min.js"></script> + <script type="text/javascript" src="//unpkg.com/marked@0.7.0/marked.min.js"></script> + <script type="text/javascript" src="/static/fengari-web/:text/javascript"></script> + <script type="text/lua" src="/static/mmm/:text/lua"></script> + <script type="text/lua">require 'mmm'</script> + ]] + + render BROWSER\todom!, fileder, noview: true, scripts: deps .. " <script type=\"text/lua\"> on_load = on_load or {} table.insert(on_load, function() diff --git a/mmm/highlighting.moon b/mmm/highlighting.moon index 04ff603..e5082fa 100644 --- a/mmm/highlighting.moon +++ b/mmm/highlighting.moon @@ -1,15 +1,18 @@ import code from require 'mmm.dom' -local highlight trim = (str) -> str\match '^ *(..-) *$' -if MODE == 'SERVER' - highlight = (lang, str) -> +highlight = if MODE == 'SERVER' + (lang, str) -> assert str, 'no string to highlight' code (trim str), class: "hljs lang-#{lang}" else - highlight = (lang, str) -> + (lang, str) -> assert str, 'no string to highlight' + + if not window.hljs\getLanguage lang + lang = 'markdown' + result = window.hljs\highlight lang, (trim str), true with code class: "hljs lang-#{lang}" .innerHTML = result.value diff --git a/mmm/mmmfs/browser.moon b/mmm/mmmfs/browser.moon index 2287c4c..ffaefc0 100644 --- a/mmm/mmmfs/browser.moon +++ b/mmm/mmmfs/browser.moon @@ -13,20 +13,16 @@ keep = (var) -> last code_cast = (lang) -> + +casts = { { - inp: "text/#{lang}.*", + inp: 'text/.*', out: 'mmm/dom', cost: 0 - transform: (val) => languages[lang] val + transform: (val) => + lang = @from\match 'text/(.*)' + languages[lang] val } - -casts = { - code_cast 'javascript' - code_cast 'moonscript' - code_cast 'lua' - code_cast 'markdown' - code_cast 'html' - code_cast 'css' { inp: 'URL.*' out: 'mmm/dom' diff --git a/mmm/mmmfs/layout.moon b/mmm/mmmfs/layout.moon index 275aec3..7a1774d 100644 --- a/mmm/mmmfs/layout.moon +++ b/mmm/mmmfs/layout.moon @@ -144,12 +144,7 @@ render = (content, fileder, opts={}) -> " buf ..= [[ <script type="text/javascript" src="/static/highlight-pack/:text/javascript"></script> - <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/marked/0.5.1/marked.min.js"></script> - <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/svg.js/2.6.6/svg.min.js"></script> <script type="text/javascript" src="//platform.twitter.com/widgets.js" charset="utf-8"></script> - <script type="text/javascript" src="/static/fengari-web/:text/javascript"></script> - <script type="text/lua" src="/static/mmm/:text/lua"></script> - <script type="text/lua">require 'mmm'</script> ]] buf ..= opts.scripts |
