aboutsummaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2018-11-23 06:25:09 +0000
committers-ol <s-ol@users.noreply.github.com>2018-11-23 06:25:09 +0000
commit05a92e841e36ff31010f52f29d42dfab8b24770f (patch)
tree0421a7837c8ef7b80f82f6af27290de4dd2af0f4 /build
parentclean-ish header (diff)
downloadmmm-05a92e841e36ff31010f52f29d42dfab8b24770f.tar.gz
mmm-05a92e841e36ff31010f52f29d42dfab8b24770f.zip
scss reorganize, add footer
Diffstat (limited to 'build')
-rw-r--r--build/layout.moon44
-rw-r--r--build/render_fileder.moon57
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>