DbWiki에서 글을 작성하고, 로컬에서 HTML이나 PDF 등으로 변환하고자 할 때, 글의 XML 자체는 DbWiki에서 직접 얻을 수 있습니다. (URL에 ?action=docbookxml를 추가해서요. 페이지 상단 왼쪽의 [XML] 링크가 바로 그것입니다). 그러나 글이 사용하는 이미지들은 일일이 다운을 받아서 저장을 해야 하는데, 이미지가 많다면 상당히 번거로운 일입니다.

wget과 DbWiki의 최신 기능인 이미지 디렉터리 강제 지정 기능을 이용하면 훨씬 더 편하게 할 수 있습니다.

DbkWiki:ThunderBird 를 예로 들겠습니다.

파일들을 저장할 적당한 디렉터리로 가서요. 먼저 이미지 파일들을 받습니다.

 > wget -F -E -Pfiles -H -nH -nd -k -p http://docboook.or.kr/wiki/index.php/ThunderBird

이렇게 하면 ThunderBird 페이지 자체와 그 페이지를 표시하는 데 필요한 모든 이미지 파일들이 현재 디렉터리의 files(-P 옵션) 하위 디렉터리에 저장됩니다.

이제 DocBook XML 소스를 받습니다.

 >wget -O ThunderBird.xml "http://docboook.or.kr/wiki/index.php/ThunderBird?action=docbookxml&imgdir=files"

이 명령이 성공적으로 실행되면 현재 디렉터리에 ThunderBird.xml(-O로 지정한 이름입니다)이 저장됩니다.

URL을 따옴표로 감쌌는데, 이는 윈도우즈 명령행이 &를 특별한 명령으로 취급하지 못하게 하기 위한 것입니다.

action=dcobookxml은 해당 페이지의 닥북 XML 소스를 가져온다는 뜻이고요. imgdir=files는 닥북 XML 생성 시 이미지 파일들의 경로를 무조건 files로 하라는 뜻입니다. 이에 의해, 예를 들어 href="http://example.com/img.png"는 href=files/img.png가 됩니다. 이 files가 위에서 이미지 파일들을 얻을 때 -P 옵션에 사용한 files와 같다는 점이 핵심입니다.

imgdir=files 는 DbWiki 2005년 2월 이후 버전들부터 지원합니다.

파일들을 가져오는 과정을 하나의 일괄 파일로 만든다면 이렇게 됩니다.

@echo off
REM WgetAll.bat 페이지이름

REM 닥북 한국 위키가 아니라면 위키 주소를 적절히 변경하세요.
set WIKIURL=http://docbook.or.kr/wiki/index.php

set PAGEURL=%WIKIURL%/%1

REM %1은 명령줄에 입력된 페이지 이름

wget -F -E -Pfiles -H -nH -nd -k -p %PAGEURL%

wget -O %1.xml "%PAGEURL%?action=docbookxml&imgdir=files"