aboutsummaryrefslogtreecommitdiffstats
path: root/docs/gen/module
blob: 7b94dff1d3cf3b1f3a943d5760127a83f12cfc7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env moon
import Constant from require 'alv'
import render, render_meta, layout, subnav from require 'docs.gen.layout'
import h2, h3, p, ul, li, code from require 'docs.gen.dom'
import get_module from require 'docs.gen.shim'
import opairs from require 'alv.util'

export OUT

slurp = (file) ->
  file = io.open file, 'r'
  with file\read '*all'
    file\close!

spit = (file, str) ->
  file = io.open file, 'w'
  file\write str
  file\close!
  
{ OUT, module, name } = arg

name or= module
module = get_module module
raw = module!

spit OUT, layout
  title: "#{name} module reference"
  body: table.concat {
    subnav [a for a in *arg[4,]]
    h2 (code name), ' module reference'
    p if m = module.meta then m.summary else ''
    h3 'index'
    ul for key, node in opairs raw.values
      li render key, node.result, nil, true
    h3 'details'
    ul for key, node in opairs raw.values
      li render key, node.result
  }, ''