diff options
| author | s-ol <s-ol@users.noreply.github.com> | 2018-11-23 06:25:09 +0000 |
|---|---|---|
| committer | s-ol <s-ol@users.noreply.github.com> | 2018-11-23 06:25:09 +0000 |
| commit | 05a92e841e36ff31010f52f29d42dfab8b24770f (patch) | |
| tree | 0421a7837c8ef7b80f82f6af27290de4dd2af0f4 /build | |
| parent | clean-ish header (diff) | |
| download | mmm-05a92e841e36ff31010f52f29d42dfab8b24770f.tar.gz mmm-05a92e841e36ff31010f52f29d42dfab8b24770f.zip | |
scss reorganize, add footer
Diffstat (limited to 'build')
| -rw-r--r-- | build/layout.moon | 44 | ||||
| -rw-r--r-- | build/render_fileder.moon | 57 |
2 files changed, 64 insertions, 37 deletions
diff --git a/build/layout.moon b/build/layout.moon new file mode 100644 index 0000000..6ff6feb --- /dev/null +++ b/build/layout.moon @@ -0,0 +1,44 @@ +import header, footer, div, h1, span, b, a, img from require 'mmm.dom' + +pick = (...) -> + num = select '#', ... + i = math.ceil math.random! * num + select i, ... + + +iconlink = (href, src, alt, style) -> a { + class: 'iconlink', + :href, + target: '_blank', + img :src, :alt, :style +} + +{ + header: header { + h1 { + span '\xe2\x98\x89', class: 'sun' + b! + span 'mmm', class: 'bold' + '.s-ol.nu' + } + span "fun stuff with code and wires" + -- pick 'fun', 'cool', 'weird', 'interesting', 'new' + -- pick 'stuff', 'things', 'projects', 'experiments', 'news' + -- "with" + -- pick 'mostly code', 'code and wires', 'silicon', 'electronics' + } + footer: footer { + span { + 'made with \xe2\x98\xbd by ' + a 's-ol', href: 'https://twitter.com/S0lll0s' + ", #{os.date '%Y'}" + } + div { + class: 'icons', + iconlink 'https://github.com/s-ol/mmm', 'https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/github.svg', + iconlink 'https://twitter.com/S0lll0s', 'https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/twitter.svg', + iconlink 'https://webring.xxiivv.com/#random', 'https://webring.xxiivv.com/icon.black.svg', 'webring', + { height: '1.3em', 'margin-left': '.3em', 'margin-top': '-0.12em' } + } + } +} diff --git a/build/render_fileder.moon b/build/render_fileder.moon index f8958aa..f3bae31 100644 --- a/build/render_fileder.moon +++ b/build/render_fileder.moon @@ -2,6 +2,7 @@ require 'mmm' import get_path from require 'build.util' import tohtml from require 'mmm.component' import Browser from require 'mmm.mmmfs.browser' +import header, footer from require 'build.layout' export BROWSER @@ -9,33 +10,29 @@ export BROWSER -- moon render.moon <path_to_root> { path_to_root } = arg -seed = (str) -> - len = #str - rnd = -> math.ceil math.random! * len - - math.randomseed len +assert path_to_root, "please specify the relative root path" +path = get_path path_to_root - return if len == 0 +do + seed = (str) -> + len = #str + rnd = -> math.ceil math.random! * len - upper, lower = 0, 0 - for i=1,4 - upper += str\byte rnd! - upper *= 0x100 + math.randomseed len - lower += str\byte rnd! - lower *= 0x100 + return if len == 0 - math.randomseed upper, lower + upper, lower = 0, 0 + for i=1,4 + upper += str\byte rnd! + upper *= 0x100 -pick = (...) -> - num = select '#', ... - i = math.ceil math.random! * num - select i, ... + lower += str\byte rnd! + lower *= 0x100 -assert path_to_root, "please specify the relative root path" -path = get_path path_to_root + math.randomseed upper, lower -seed path + seed path root = dofile '$bundle.lua' assert root, "couldn't load $bundle.lua" @@ -61,26 +58,12 @@ with io.open 'index.html', 'w' <link href=\"https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,400\" rel=\"stylesheet\"> </head> <body> - <header> - <h1> - <i class=\"sun\">☉</i> - <b></b> - <span class=\"bold\">mmm</span> - .s-ol.nu - </h1> - <span> - fun stuff with code and wires -<!-- - #{pick 'fun', 'cool', 'weird', 'interesting', 'new'} - #{pick 'stuff', 'things', 'projects', 'experiments', 'news'} - with - #{pick 'mostly code', 'code and wires', 'silicon', 'electronics'} ---> - </span> - </header> + #{header} #{assert (tohtml BROWSER), "couldn't render BROWSER"} + #{footer} + <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> |
