Great ... that's exactly what I needed ... Thanks very much Wolfgang. It can be somewhere on similar techniques to read more? Just links to some sample files to the dissected ... Thanks a lot Jaroslav Dne 19.7.2011 14:39, Wolfgang Schuster napsal(a):
Am 19.07.2011 um 14:27 schrieb Jaroslav Hajtmar:
Hello ConTeXist.
I have done the module (for context), which is entirely written in Lua (ConTeXt definitions are done through Lua too).
I wonder how it can be loaded into ConTeXt file. Have I to use the beginning of the file: \startluacode dofile ("my-module.lua") \stopluacode
to loading the module? I would like to use \usemodule [my-module.lua], but there is a problem, that code must be inside \startluacode ... \stopluacode environment. But when I put my luacode into \startluacode ... \stopluacode into my-module.mkiv file, then I have a problem with catcodes inside strings defining by [[ ... ]].
Or must be module consists of two separate files (my-module.lua and my-module.mkiv)? Must I to load the Lua module file (my-module.lua) into ConTeXt module file (my-module.mkiv) by command \ctxlua{dofile("my-module.lua ");} and then load module file (my-module.mkiv) into my user file by command \usemodule[my-module]?
Is there something like \useluamodule[....] or \usemodule[anyluaswitch][modulefile] ???
How to proceed in these cases? I find it inappropriate to divide the module into two separate files.
Use \usemodule:
<example> \startbuffer[test] function test(argument) context.quotation(argument) end
interfaces.definecommand { name = "test", arguments = { { "content", "string" }, }, macro = test, } \stopbuffer
\savebuffer[test][p-test.lua]
\usemodule[test]
\starttext \test{Hello} \stoptext </example>
Wolfgang