aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2020-09-04 12:14:46 +0000
committers-ol <s+removethis@s-ol.nu>2025-03-02 14:24:49 +0000
commit6946779f88fec479239b36128924996d0495dce6 (patch)
treea2f1ee6dc6d3fe60ba0d23cc169ca03e2b71b9c2 /docs
parenthave alv-lua modules return Results, not plain tables (diff)
downloadalive-6946779f88fec479239b36128924996d0495dce6.tar.gz
alive-6946779f88fec479239b36128924996d0495dce6.zip
update lib and docs to new module convention
Diffstat (limited to 'docs')
-rwxr-xr-xdocs/gen/index9
-rwxr-xr-xdocs/gen/module23
-rw-r--r--docs/gen/shim.moon21
3 files changed, 36 insertions, 17 deletions
diff --git a/docs/gen/index b/docs/gen/index
index 20fb3bd..1536645 100755
--- a/docs/gen/index
+++ b/docs/gen/index
@@ -2,6 +2,7 @@
require 'alv'
import render, layout, autoref, subnav from require 'docs.gen.layout'
import section, h1, h2, p, ul, li, a, code from require 'docs.gen.dom'
+import get_module from require 'docs.gen.shim'
import compile from require 'discount'
export OUT
@@ -20,9 +21,11 @@ spit = (file, str) ->
md = slurp file
for file in *arg[3,]
- if mod = file\match '/module/(.*)%.html'
- name = mod\gsub '/', '.'
- md ..= " - [`#{name}`](module/#{mod}.html)\n"
+ if name = file\match '/module/(.*)%.html'
+ modname = name\gsub '/', '.'
+ mod = get_module "alv-lib.#{modname}"
+ summary = if mod.meta then ": #{mod.meta.summary}" else ''
+ md ..= " - [`#{modname}`](module/#{name}.html)#{summary}\n"
content = compile (autoref md), 'githubtags', 'fencedcode'
sub = subnav [a for a in *arg[3,]]
diff --git a/docs/gen/module b/docs/gen/module
index 77336cf..7b94dff 100755
--- a/docs/gen/module
+++ b/docs/gen/module
@@ -1,17 +1,11 @@
#!/usr/bin/env moon
import Constant from require 'alv'
-import render, layout, subnav from require 'docs.gen.layout'
-import h2, h3, ul, li, code from require 'docs.gen.dom'
+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, require
-
-require = do
- old_require = require
- blacklist = {k, true for k in *{'osc', 'socket', 'system', 'luartmidi'}}
- (mod, ...) ->
- return {} if blacklist[mod]
- old_require mod, ...
+export OUT
slurp = (file) ->
file = io.open file, 'r'
@@ -26,18 +20,19 @@ spit = (file, str) ->
{ OUT, module, name } = arg
name or= module
-const = Constant.wrap require module
-module = const\unwrap!
+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 module.values
+ ul for key, node in opairs raw.values
li render key, node.result, nil, true
h3 'details'
- ul for key, node in opairs module.values
+ ul for key, node in opairs raw.values
li render key, node.result
}, ''
diff --git a/docs/gen/shim.moon b/docs/gen/shim.moon
new file mode 100644
index 0000000..01a96cc
--- /dev/null
+++ b/docs/gen/shim.moon
@@ -0,0 +1,21 @@
+import RTNode from require 'alv'
+
+export require
+
+require = do
+ old_require = require
+ blacklist = {k, true for k in *{'osc', 'socket', 'system', 'luartmidi'}}
+ (mod, ...) ->
+ return {} if blacklist[mod]
+ old_require mod, ...
+
+get_module = (name) ->
+ rtn_or_module = require name
+ if rtn_or_module.__class == RTNode
+ assert rtn_or_module.result
+ else
+ rtn_or_module
+
+{
+ :get_module
+}