닥북 한국의 Win32용 닥북 모음집 1.0.0(dbkpack-1.0.0)에는 dbkshell.bat으로 띄우는 Windows 명령행 환경의 부족한 셸 스크립팅 기능을 보충하기 위한 루아(Lua) 실행 환경과 몇 가지 편리한 루아 스크립트 들이 포함되어 있습니다.
각 파일의 사용권은 특별한 언급이 없는 한 해당 패키지의 사용권을 따릅니다.
모음집과 함께 설치됩니다. 추가로 설정해야 할 것은 없습니다.
아래의 스크립트 추가 설명에서 이야기하는 몇 가지 루아 스크립트들이 들어 있습니다. 이 스크립트들은 모두 닥북 한국이 제작했습니다.
DocbooktoManual을 보세요.
software/luascripts에 있는 스크립트들은 bin/runlua.bat를 이용해서 편하게 실행할 수 있습니다.
사용법: runlua 스크립트이름 [옵션들]
스크립트 이름에 .lua를 붙이면 안 됩니다.
"스크립트이름"이 가리키는 것이 lua 파일이 아니라 software/luascripts/의 하위 디렉터리 이름인 경우 runlua는 그 하위 디렉터리에 있는 같은 이름의 lua 파일을 실행합니다. 예를 들어 runlua xslt 는 software/luascripts/xslt/xslt.lua를 실행합니다. 여러 개의 파일들로 된 루아 응용 프로그램인 경우 이런 식으로 하위 디렉터리를 만들면 software/luascripts/를 깔끔하게 유지하는 데 도움이 됩니다.
runlua.bat은 software/luascripts/run.lua 스크립트를 이용합니다.
software/luascripts/lfsutils.lua는 직접 실행할 수 있는 스크립트는 아니고, 아래의 스크립트들이 사용하는 파일 시스템관련 라이브러리입니다.
특정 디렉터리에 있는 특정한 형태의 파일들 전체에 동일한 명령을 수행하는 데 사용하는 유틸리티입니다.
사용법: runlua foreach [-n|--nosub] 파일_패턴 디렉터리 명령
전체 경로 이름이 c:\docs\test.xml 이라 할 때 %F는 test.xml, %f는 test, %e는 xml, %p는 c:\docs, %P는 c:\docs\test.xml
[예]runlua foreach *.xml c:\docs docbook2pdf %P %p\%f.pdf
파일에 담긴 매개변수들을 이용해서 xsltproc를 실행합니다.
사용법: runlua xslt [-c 설정파일] xsl_파일 xml_파일
설정파일은 다음 항목들이 한 줄에 하나씩 있는 텍스트 파일이어야 합니다.
매개변수이름 = 값설정 파일의 예
#로 시작하는 줄은 주석 # 목차 관련 toc.section.depth=2 section.autolabel=1 # css html.stylesheet.type = text/css html.stylesheet = dbk.css css.decoration = 0
xsl_파일 지정 시 파일 이름을 꺾음괄호로 감싸면 닥북 모음집 stylesheet 디렉터리가 자동으로 지정됩니다. 예를 들어 닥북 모음집이 c:\docbook 에 있다고 할 때, 다음을
>runlua xslt c:\docbook\stylesheet\dbk-html-chunk.xsl my.xml
다음과 같이 짧게 실행할 수 있습니다.
>runlua xslt {dbk-html-chunk} my.xml
위의 예에서 보듯이 확장자 .xsl도 생략할 수 있습니다.
wget을 이용해서 위키 페이지의 XML 파일과 이미지 파일들을 가져옵니다. 이미지 파일들은 files 하위 디렉터리에 저장됩니다.
사용법: runlua wgetdbwiki 페이지이름 [위키_기준_URL]
[위키_기준_URL]은 페이지 이름을 제외한 위키 URL. 생략시 닥북 한국 위키 주소가 쓰입니다.
[예]runlua wgetdbwiki DocBookExample http://docbook.kr/wiki/index.php/
이 스크립트는 닥북 한국 위키 UsingWgetWithDbWiki에 나온 과정을 자동화한 것입니다.
2008년 12월에 닥북 한국 위키 주소가 변경되었습니다. software/luascripts/wgetdbwiki.lua 의
wiki_url = "http://docbook.or.kr/wiki/index.php/"
를
wiki_url = "http://docbook.kr/wiki/index.php/"
로 바꾸어야 합니다.
루아 프로그래밍 방법과 활용에 대해서는 나중에 문서화하겠습니다. 일단,
참고하세요. software/luascripts/lfsutils.lua, software/luascripts/foreach.lua도 좋은 참고가 될 것입니다.