From 50996f28baf0361e2171a1f0cebdcc7106fef2ac Mon Sep 17 00:00:00 2001 From: Kurt Date: Sat, 4 May 2019 19:42:18 -0400 Subject: Use Pandoc to generate README and doc.go --- doc/doc.lua | 100 ------------------------------------------------------------ 1 file changed, 100 deletions(-) delete mode 100644 doc/doc.lua (limited to 'doc/doc.lua') 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') -- cgit v1.2.1-24-ge1ad