summaryrefslogtreecommitdiff
path: root/doc/doc.lua
diff options
context:
space:
mode:
authorKurt <kurt.w.jung@gmail.com>2019-05-04 19:42:18 -0400
committerKurt <kurt.w.jung@gmail.com>2019-05-04 19:42:18 -0400
commit50996f28baf0361e2171a1f0cebdcc7106fef2ac (patch)
treef29daed80669dedd5a23e527ac4ffdec91e1ddd5 /doc/doc.lua
parent8b09ffb30d9a8716107d250631b3c580aa54ba04 (diff)
Use Pandoc to generate README and doc.go
Diffstat (limited to 'doc/doc.lua')
-rw-r--r--doc/doc.lua100
1 files changed, 0 insertions, 100 deletions
diff --git a/doc/doc.lua b/doc/doc.lua
deleted file mode 100644
index dbe87c1..0000000
--- a/doc/doc.lua
+++ /dev/null
@@ -1,100 +0,0 @@
--- This script reads a single page of Markdown-like documentation and generates
--- output in three different forms: gofmt, git-flavored markdown, and
--- standard markdown.
-
-local gsub, match, len, find, concat, insert =
-string.gsub, string.match, string.len, string.find, table.concat, table.insert
-
-local function write(filestr, str)
- local f = io.open(filestr, 'w+')
- if f then
- f:write(str)
- f:close()
- end
-end
-
-local function codeblock(tbl, mode)
- local newtbl = {}
- local incode = false
- local pos1, pos2, prefix, syntax
- for j, str in ipairs(tbl) do
- prefix, syntax = match(str, '^(```)(%a*)')
- if prefix and len(syntax) > 0 then
- incode = true
- if mode == 'r' then
- insert(newtbl, str)
- end
- elseif prefix then
- incode = false
- if mode == 'r' then
- insert(newtbl, str)
- end
- else
- if incode and mode ~= 'r' then
- str = '\t' .. str
- end
- insert(newtbl, str)
- end
- end
- return newtbl
-end
-
-local function markdownwrite(tbl, filestr)
- tbl = codeblock(tbl, 'm')
- local str = concat(tbl, '\n')
- write(filestr, str)
-end
-
-local function readmewrite(tbl, filestr)
- tbl = codeblock(tbl, 'r')
- local str = concat(tbl, '\n')
- str = gsub(str, '\n%> ', '\n')
- -- str = gsub(str, '%b<>', '')
- write(filestr, str)
-end
-
-local function godocwrite(tbl, filestr)
- tbl = codeblock(tbl, 'g')
- for j, str in ipairs(tbl) do
- str = gsub(str, '^#+ *', '')
- tbl[j] = gsub(str, '^* ', '\n• ')
- end
- local str = concat(tbl, '\n')
- str = gsub(str, '\n\n\n+', '\n\n')
- str = gsub(str, '\n%> ', '\n')
- str = gsub(str, '`', '')
- str = gsub(str, '/%*', '\x01')
- str = gsub(str, '%*', '')
- str = gsub(str, '\x01', '\x2f*')
- -- str = gsub(str, '%b<>', '')
- -- replace [foo][bar] with foo
- str = gsub(str, '%[(%C-)%]%[%C-%]', '%1')
- str = '/*\n' .. str .. '\n*/\npackage gofpdf\n'
- write(filestr, str)
-end
-
-local godoc, markdown, readme = {}, {}, {}
-local modeg, modem, moder
-
-for str in io.lines('document.md') do
- local mode = string.match(str, '^~(%a*)~$')
- if mode then
- modeg = find(mode, 'g') ~= nil
- moder = find(mode, 'r') ~= nil
- modem = find(mode, 'm') ~= nil
- else
- if modeg then
- insert(godoc, str)
- end
- if modem then
- insert(markdown, str)
- end
- if moder then
- insert(readme, str)
- end
- end
-end
-
-markdownwrite(markdown, 'doc/body.md')
-godocwrite(godoc, 'doc.go')
-readmewrite(readme, 'README.md')