@@ -15,7 +15,7 @@ function CodeBlock(el)
1515end
1616
1717-- reads yaml to obtain desired header for code appendix
18- -- writes appendix to txt file if desired
18+ -- writes appendix to file
1919function Meta (m )
2020
2121 if m [" code-appendix-title" ] ~= nil then
@@ -30,19 +30,39 @@ function Meta(m)
3030 codeAppendixHeaderLevel = 1
3131 end
3232
33- -- write appendix to text file
3433 if m [" code-appendix-write" ] ~= nil then
34+ codeAppendixWrite = m [" code-appendix-write" ]
35+ else
36+ codeAppendixWrite = true
37+ end
38+
39+ -- write appendix to file
40+ if m [" code-appendix-file" ] ~= nil then
41+
42+ codeAppendixFile = pandoc .utils .stringify (m [" code-appendix-file" ])
43+ codeAppendixExt = codeAppendixFile :match (" %.[^.]+$" )
3544
36- codeAppendixWrite = pandoc .utils .stringify (m [" code-appendix-write" ])
45+ if codeAppendixExt == nil then
46+ codeAppendixExt = " .md"
47+ codeAppendixFile = codeAppendixFile .. codeAppendixExt
48+ end
3749
38- if codeAppendixWrite == " true" then
39- local f = io.open (pandoc .system .get_working_directory () .. ' /code-appendix.txt' , ' w' )
40- for index , value in ipairs (pandoc .List (appendix )) do
41- f :write (pandoc .List (appendix )[index ].text .. " \n\n " )
50+ local f = io.open (pandoc .system .get_working_directory () .. " /" .. codeAppendixFile , ' w' )
51+
52+ for index , value in ipairs (pandoc .List (appendix )) do
53+ if codeAppendixExt == " .md" or codeAppendixExt == " .qmd" then
54+ f :write (
55+ " ```" .. " \n " .. pandoc .List (appendix )[index ].text .. " \n " .. " ```" .. " \n\n "
56+ )
57+ else
58+ f :write (
59+ pandoc .List (appendix )[index ].text .. " \n\n "
60+ )
4261 end
43- f :close ()
4462 end
45-
63+
64+ f :close ()
65+
4666 end
4767
4868 return m
5171
5272-- append pandoc document with source code
5373function Pandoc (doc )
54-
55- appendixHeader = pandoc .Header (codeAppendixHeaderLevel , codeAppendixTitle )
56- doc .blocks :extend (pandoc .List ({appendixHeader }))
57- doc .blocks :extend (pandoc .List (appendix ))
74+
75+ if codeAppendixWrite then
76+ appendixHeader = pandoc .Header (codeAppendixHeaderLevel , codeAppendixTitle )
77+ doc .blocks :extend (pandoc .List ({appendixHeader }))
78+ doc .blocks :extend (pandoc .List (appendix ))
79+ end
5880
5981 return doc
6082
0 commit comments