+
+
diff --git a/scripts/fill_layout.lua b/scripts/fill_layout.lua
new file mode 100755
index 00000000..34219858
--- /dev/null
+++ b/scripts/fill_layout.lua
@@ -0,0 +1,19 @@
+#!/usr/bin/lua
+-- Filters the given file through markdown, inserts it into the template
+-- specified by stdin by replacing simple {{ variable }} tags, and outputs the
+-- result to stdout.
+
+-- Filter the file through markdown using TOC generation in order to get header
+-- anchors, but ignore the actual TOC.
+local name = arg[1]
+local f = io.open(name, 'r')
+local markdown = f:read('*a')
+f:close()
+local p = io.popen('markdown -f toc -T ' .. name)
+local html = p:read('*a'):match('^.-\n\n(.+)$')
+p:close()
+
+-- Fill in HTML layout (stdin) with markdown output and print the result.
+local title, content = '{{ page.title }}', '{{ content }}'
+io.write(io.stdin:read('*a'):gsub(title, html:match('([^<]+)')):
+ gsub(content, (html:gsub('%%', '%%%%'))))
diff --git a/scripts/gen_doc.lua b/scripts/gen_doc.lua
deleted file mode 100755
index fff69a12..00000000
--- a/scripts/gen_doc.lua
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/lua
--- Filters the given file through markdown, replaces simple {{ variable }}
--- templates, and saves the result to an HTML file of the same name for offline
--- documentation generation.
-
--- Filter the file through markdown using TOC generation in order to get header
--- anchors, but ignore the actual TOC.
-local name = arg[1]
-local f = io.open(name, 'r')
-local markdown = f:read('*a')
-f:close()
-local p = io.popen('markdown -f toc -T ' .. name)
-local html = p:read('*a'):match('^.-\n\n(.+)$')
-p:close()
-
--- Fill in HTML layout with markdown content.
-f = io.open('../docs/_layouts/default.html')
-html = f:read('*a'):gsub('{{ page.title }}', html:match('([^<]+)')):
- gsub('{{ content }}', (html:gsub('%%', '%%%%')))
-f:close()
-
--- Write to HTML file.
-io.open(name:gsub('^(.+)%.md$', '%1.html'), 'wb'):write(html):close()
diff --git a/src/Makefile b/src/Makefile
index 8e0a2b98..2ba21b2b 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -270,8 +270,11 @@ clean: ; rm -f *.o ../textadept*
ta_home = $(shell dirname `pwd`)
docs: manual luadoc
-manual: $(addprefix ../docs/,manual.md changelog.md faq.md media.md thanks.md)
- for file in $^; do ../scripts/gen_doc.lua $$file; done
+manual: $(addprefix ../docs/,manual.md changelog.md faq.md media.md thanks.md) \
+ | ../docs/_layouts/default.html
+ for file in $(basename $^); do \
+ cat $| | ../scripts/fill_layout.lua $$file.md > $$file.html; \
+ done
sed -i -e "s/Textadept Manual/Textadept $(subst _, ,$(version)) Manual/;" \
../docs/manual.html
luadoc: ../modules ../core ../lexers/lexer.lua | ../modules/lua/lua.luadoc
--
cgit v1.2.3