aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2019-10-07 14:56:32 +0000
committers-ol <s-ol@users.noreply.github.com>2019-10-07 14:56:32 +0000
commit5e145f9607a52d0911e1101f6f906d965499f909 (patch)
treeb3b03f618ccf3355117bc22e7c162f0757810c48
parentSQL import and loading (diff)
downloadmmm-5e145f9607a52d0911e1101f6f906d965499f909.tar.gz
mmm-5e145f9607a52d0911e1101f6f906d965499f909.zip
clean up a little
-rw-r--r--.gitignore1
-rw-r--r--build/bundle_fileder.moon155
-rw-r--r--build/import_all.moon (renamed from import_all.moon)0
-rw-r--r--build/render_all.moon (renamed from render_all.moon)0
-rw-r--r--build/render_fileder.moon93
5 files changed, 1 insertions, 248 deletions
diff --git a/.gitignore b/.gitignore
index 26b821c..352e83e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
dist
out
+db.sqlite3
##### TUP GITIGNORE #####
##### Lines below automatically generated by Tup.
##### Do not edit.
diff --git a/build/bundle_fileder.moon b/build/bundle_fileder.moon
deleted file mode 100644
index c9f8c35..0000000
--- a/build/bundle_fileder.moon
+++ /dev/null
@@ -1,155 +0,0 @@
-require 'mmm'
-import get_path from require 'build.util'
-import Fileder, Key from require 'mmm.mmmfs.fileder'
-import opairs from require 'mmm.ordered'
-import to_lua from require 'moonscript.base'
-
--- usage:
--- moon bundle_fileder.moon <path_to_root> <dirname> <facets>... -- <children>...
-{ path_to_root, dirname } = arg
-
-assert path_to_root, "please specify the relative root path"
-assert dirname, "please specify the fileder dirname"
-path = get_path path_to_root
-
-facets = {}
-children_bundles = {}
-
-do
- addto = facets
- for file in *arg[3,]
- continue if file == 'Tupdefault.lua'
-
- if file == '--'
- addto = children_bundles
- continue
- table.insert addto, file
-
--- load a fs file as a fileder facet
-load_facet = (filename) ->
- key = (filename\match '(.*)%.%w+') or filename
- key = Key key\gsub '%$', '/'
- key.filename = filename
-
- file = assert (io.open filename, 'r'), "couldn't open facet file '#{filename}'"
- value = file\read '*all'
- file\close!
-
- key, value
-
--- escape a string for lua aparser
-escape = (str) -> string.format '%q', tostring str
-
--- dump a fileder subtree as Lua source
-dump_fileder = do
- _dump = (fileder, root=false) ->
- code = "Fileder {"
-
- for key, val in pairs fileder.facets
- if key.original
- key = "fromcache(#{escape key}, #{escape key.original})"
- else
- key = escape key
- code ..= "\n[#{key}] = #{escape val},"
-
- for child in *fileder.children
- code ..= "\n#{_dump child},"
-
- code ..= "\n}"
- code
-
-
- (fileder) -> "
-local mmmfs = require 'mmm.mmmfs'
-local Key, Fileder = mmmfs.Key, mmmfs.Fileder
-local function fromcache(str, orig)
- local key = Key(str)
- key.original = Key(orig)
- return key
-end
-
-return #{_dump fileder, true}
- "
-
-renders = {
- {
- inp: '^text/moonscript %-> (.*)'
- out: 'text/lua -> %1'
- render: (val, fileder, old, new) ->
- lua, err = to_lua val
-
- if not lua
- error "Error compiling #{old}: #{err}"
-
- "-- this moonscript facet has been transpiled to
--- '#{new}' for execution in the browser.
--- refer to the original facet as the source.
-#{lua}"
- },
- {
- inp: '^image/'
- out: 'URL -> %0'
- render: (val, fileder, old, new) -> "#{fileder.path}/#{old.filename}", "[binary removed]"
- },
- {
- inp: '^video/'
- out: 'URL -> %0'
- render: (val, fileder, old, new) -> "#{fileder.path}/#{old.filename}", "[binary removed]"
- },
-}
-
-with io.open '$bundle.lua', 'w'
- \write dump_fileder with fileder = Fileder 'name: alpha': dirname
- \mount path, true
-
- order = nil
- children = {}
-
- for facet in *facets
- if facet == '$order'
- order = [line for line in io.lines facet]
- continue
- key, value = load_facet facet
- .facets[key] = value
-
- extra_facets = {}
- for key, value in pairs .facets
- for { :inp, :out, :render } in *renders
- continue unless key.type\match inp
-
- built_key = Key key.name, key.type\gsub inp, out
- built_key.original = key
-
- -- dont overwrite existing keys
- continue if \has built_key
-
- rendered, replace = render value, fileder, key, built_key
-
- extra_facets[built_key] = rendered
- .facets[key] = replace if replace
-
- break
-
- for k,v in pairs extra_facets
- .facets[k] = v
-
- for child in *children_bundles
- -- @BUG: child bundles are malformed due to Tup bug ($ symbol)
- child = child\gsub '/%.lua$', '/$bundle.lua'
-
- dirname = assert child\match '^([%w-_%.]+)/%$bundle%.lua$'
- children[dirname] = dofile child
-
- if order
- -- order from order file
- for i, name in pairs order
- child = assert children[name], "child in $order but not fs: #{name}"
- table.insert .children, child
- children[name] = nil
-
- -- sort remainder alphabeticalally
- for name, child in opairs children
- table.insert .children, child
- warn "child #{name} not in $order!" if order
-
- \close!
diff --git a/import_all.moon b/build/import_all.moon
index 3a2ac61..3a2ac61 100644
--- a/import_all.moon
+++ b/build/import_all.moon
diff --git a/render_all.moon b/build/render_all.moon
index e2f171e..e2f171e 100644
--- a/render_all.moon
+++ b/build/render_all.moon
diff --git a/build/render_fileder.moon b/build/render_fileder.moon
deleted file mode 100644
index 76c7856..0000000
--- a/build/render_fileder.moon
+++ /dev/null
@@ -1,93 +0,0 @@
-require 'mmm'
-import get_path from require 'build.util'
-import tohtml from require 'mmm.component'
-import Browser from require 'mmm.mmmfs.browser'
-import get_meta, header, footer from require 'build.layout'
-
-export BROWSER
-
--- usage:
--- moon render.moon <path_to_root>
-{ path_to_root } = arg
-
-assert path_to_root, "please specify the relative root path"
-path = get_path path_to_root
-
-do
- seed = (str) ->
- len = #str
- rnd = -> math.ceil math.random! * len
-
- math.randomseed len
-
- return if len == 0
-
- upper, lower = 0, 0
- for i=1,4
- upper += str\byte rnd!
- upper *= 0x100
-
- lower += str\byte rnd!
- lower *= 0x100
-
- math.randomseed upper, lower
-
- seed path
-
-root = dofile '$bundle.lua'
-assert root, "couldn't load $bundle.lua"
-root\mount path, true
-
-BROWSER = Browser root, path
-
-with io.open 'index.html', 'w'
- \write [[
-<!DOCTYPE html>
-<html>
- <head>
- <link rel="stylesheet" type="text/css" href="/main.css" />
- <!--
- <link rel="preload" as="fetch" href="/mmm/dom/init.lua" />
- <link rel="preload" as="fetch" href="/mmm/component/init.lua" />
- <link rel="preload" as="fetch" href="/mmm/mmmfs/init.lua" />
- <link rel="preload" as="fetch" href="/mmm/mmmfs/fileder.lua" />
- <link rel="preload" as="fetch" href="/mmm/mmmfs/browser.lua" />
- -->
-
- <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,400" rel="stylesheet">
- ]]
- \write "
- #{get_meta root}
- </head>
- <body>
- #{header}
-
- #{assert (tohtml BROWSER), "couldn't render BROWSER"}
-
- #{footer}
- "
- \write [[
- <script src="/highlight.pack.js"></script>
- <script src="//cdnjs.cloudflare.com/ajax/libs/marked/0.5.1/marked.min.js"></script>
- <script src="//cdnjs.cloudflare.com/ajax/libs/svg.js/2.6.6/svg.min.js"></script>
- <script src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
- <script src="/fengari-web.js"></script>
- <script type="application/lua" src="/mmm.bundle.lua"></script>
- <script type="application/lua">require 'mmm'</script>
- ]]
- \write "
- <script type=\"application/lua\">
- on_load = on_load or {}
- table.insert(on_load, function()
- local path = #{string.format '%q', path}
- local browser = require 'mmm.mmmfs.browser'
- local root = dofile '/$bundle.lua'
- root:mount('', true)
-
- BROWSER = browser.Browser(root, path, true)
- end)
- </script>
- </body>
-</html>
- "
- \close!