From 72bdac3036cdab7c7fa3b02b5c7ac8ee93350cef Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sun, 22 Apr 2018 11:36:47 -0700 Subject: New README template, take in/out formats from manual. --- tools/update-readme.lua | 48 ++++++++++++++++-------------------------------- 1 file changed, 16 insertions(+), 32 deletions(-) (limited to 'tools') diff --git a/tools/update-readme.lua b/tools/update-readme.lua index 4f77c59c2..eabaf2285 100644 --- a/tools/update-readme.lua +++ b/tools/update-readme.lua @@ -1,38 +1,22 @@ -- update README.md based on MANUAL.txt --- assumes that the README.md has a div with id 'description'. --- this gets replaced by the contents of the 'description' section --- of the manual. +-- inserts contents of input-formats and output-formats + +local f = assert(io.open("MANUAL.txt", "r")) +local manual = f:read("*all") +mdoc = pandoc.read(manual, "markdown") +f:close() +result = {} function Div(elem) - if elem.classes[1] and elem.classes[1] == 'description' then - local f = assert(io.open("MANUAL.txt", "r")) - local manual = f:read("*all") - f:close() - local description = {} - local i = 1 - local include = false - local mdoc = pandoc.read(manual, "markdown") - local blocks = mdoc.blocks - while blocks[i] do - if blocks[i].t == 'Header' then - include = false - end - if include then - table.insert(description, pandoc.walk_block(blocks[i], - -- remove internal links - { Link = function(el) - if el.target:match("^#") then - return el.content - end - end })) - end - if blocks[i].t == 'Header' and - blocks[i].identifier == 'description' then - include = true - end - i = i + 1 - end - return pandoc.Div(description, pandoc.Attr("description",{},{})) + local ident = elem.identifier or "" + local get = function(el) + if el.identifier == ident then + result = el + end + end + if ident == 'input-formats' or ident == 'output-formats' then + pandoc.walk_block(pandoc.Div(mdoc.blocks), { Div = get }) + return result end end -- cgit v1.2.3