창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳
다운로드
https://github.com/lunarmodules/LDoc
penlight 설치가 필요
luarocks install penlight
프로젝트가 있는 폴더에서 아래의 명령행을 실행
lua /path/to/ldoc/ldoc.lua $*
https://stevedonovan.github.io/ldoc/manual/doc.md.html
문서 코멘트라는걸 작성하면 나중에 문서로 취합해줌
모든 문서 코멘트는 세 개의 하이픈(---)으로 시작
--- 예시 문서 코멘트
-- @tag 태그1
-- @tag 태그2
자주 사용하는 태그의 종류로는
@module - 모듈
@script - 루아 프로그램
@author, copyright, license, release - 프로젝트 레벨 태그들에 쓰이는 태그 (예: @module)
@function - 함수
@param - 파라미터 (여러개 가능)
@return - 함수의 리턴값 (여러개 가능)
@usage - 예제 사용법
@table - 루아 테이블
@fixme, todo, warning - 안내를 위한 주석
모듈에 적용
--- a test module
-- @module test
local test = {}
function test.my_module_function_1()
...
end
...
return test
함수에 적용
--- foo explodes text.
-- It is a specialized splitting operation on a string.
-- @param text the string
-- @return a table of substrings
function foo (text)
....
end
파라미터와 리턴값
-- @param name_of_parameter the description of this parameter as verbose text
-- @return the description of the return value
타입을 지정하고 싶을 경우 tparam, treturn 태그를 사용하면 됨
-- @tparam string text this parameter is named 'text' and has the fixed type 'string'
-- @treturn {string,...} a table of substrings
--- solve a quadratic equation.-- @param a first coeff-- @param b second coeff-- @param c third coeff-- @return first root, or nil-- @return second root, or imaginary root errorfunction solve (a,b,c)local disc = b^2 - 4*a*cif disc < 0 thenreturn nil,"imaginary roots"elsedisc = math.sqrt(disc)return (-b + disc)/2*a,(-b - disc)/2*aendend...
--- Testing annotations-- @module annot1...--- first function.-- @todo check if this works!function annot1.first ()if boo thenend--- @fixme what about else?end
D:\dev\lua\LDoc\tests> ldoc --tags todo,fixme annot1.luad:\dev\lua\ldoc\tests\annot1.lua:14: first: todo check if this works!d:\dev\lua\ldoc\tests\annot1.lua:19: first-fixme1: fixme what about else?