· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Kldp Examples

LinuxDoc 예제 DocBookSgml 예제 DocBook 예제 (xml일 경우는 범용이고, 지정할 필요 없습니다) 예제들을 보면, 거의 위키문서와 1대1이 대응될 만한 간단한 문서들 뿐이네요 ^^;; 그 긴 페이지에 링크는 거의 안보이는 -_- --WkPark

설치: MoniWikiPds:moniwiki-1.0rc17-20030727.tgz
  • 받아서, wiki.php wikilib.php, plugins/processor/linuxdoc,jade.php를 복사해줍니다.

  • docbook-xml을 설치해야 DocBook Xml이 작동됩니다.

세팅 어제 #gnome에서 말씀드린 문법과 살짝 다릅니다 (특정 페이지의 포맷도 지정할 수 있게 했습니다. "plain/jade" 라는 식으로 지정합니다. 그 페이지 자체는 plain이요, 하위는 jade로 지정)
$pagetype=array("KldpDsl"=>"plain","ManPage"=>"/man",
 "DocBookSgml"=>"/jade","LinuxDoc"=>"/linuxdoc");

"DocbookSgml"=>"plain/jade" : 이 페이지 자체는 plain이요, 그 페이지 하위는 jade로 해석된다.

"LinuxDocSgml"=>"/linuxdoc" : 이 페이지 자체는 일반 위키 문서요, 하위는 linuxdoc이다.

/!\ 급하게 만들어서 문제가 발생할 수도 있습니다 ^^;; --WkPark

DocbookSgml에서 테스트 중인데 잘 안되네요. DocBook sgml 소스파일을 DocbookSgml이라는 이름으로 .../data/text/DocbookSgml로 저장해 두었고 파일의 소유자, 그룹은 www-data로 맞추어 두었습니다. config.php에는 다음과 같은 라인을 추가해 두었고요.

$pagetype=array("DocbookSgml"=>"/jade","ldsgml"=>"/linuxdoc","KldpDsl"=>"plain","ManPage"=>"/man");

그리고 해당 페이지 이름이 DocbookSgml이니 jade.php가 동작하기를 기대했는데 DocbookSgml의 내용 자체를 위키텍스트로 해석해서 내보내 버리더군요. 그래서 위 아래에 jade 매크로를 추가하고 테스트해 봤더니 jade.php가 동작은 하는 것 같은데 html출력이 나오지 않고 그냥 소스 자체를 그대로 내보냅니다. 7월 27일자 스냅샷에서 말씀하신 파일들은 모두 교체해서 넣었는데 별도로 설정해 주어야 하는 부분이 또 있는건 아닌가 하는 생각이 드네요.

"DocbookSgml"=>"/jade"라고 하면, DocbookSgml자체는 그냥 일반 위키 문서이고, 그 하위 문서가 *.sgml docbook문서가 됩니다.

그리고 jade.php를 봤는데 jade 옵션에 docbook.dsl을 지정하는 부분이 없는것 같더군요. 그래서 혹시나 하고 -d 옵션을 추가해서 jade.php를 다음과 같이 고쳐 봤지만 여전히 결과는 마찬가지네요. 콘솔에서 실행할 때는 이 -d 옵션을 추가해 주어야 html이 출력되더군요.

-d 옵션 없이 쓸 수도 있는데, Sgml파일의 상단에 다음 정보를 넣어주어야 합니다.
<?stylesheet href="KldpDsl" type="text/dsssl"?>
이렇게 하면, jade.php에서 이 부분을 <?stylesheet href="data/text/KldpDsl#html" type="text/dsssl"?>로 변경하고 -d 옵션 없이, 어떤 위키 쪽을 dsl파일로 참조하게 되며, Dsl파일도 편집할 수 있게 됩니다. --WkPark

  $args= "-V '(define %use-id-as-filename% #f)' ".
         "-t sgml -i html ".
         "-d /usr/lib/sgml/stylesheet/dsssl/docbook/nwalsh/html/docbook.dsl ".
         "-V nochunks -o /dev/stdout";

그냥 콘솔 상에서 위의 옵션을 모두 넣어 DocbookSgml 파일에 대해 다음과 같이 실행하면 기대했던 대로 표준출력으로 html변환 결과가 출력되는데 유독 위키 안에서는 제대로 동작하지 않네요.

jade -V '(define %use-id-as-filename% #f)' -t sgml -i html -d /usr/lib/sgml/stylesheet/dsssl/docbook/nwalsh/html/docbook.dsl -V nochunks -o /dev/stdout DocbookSgml

상황을 요약하자면,

  • DocbookSgml에 jade 매크로를 넣지 않아도 해당 페이지에 대해 jade.php가 수행되게 하는 방법
  • DocBook 소스를 그대로 보여주지 말고 html로 변환한 결과를 출력되게 하는 방법

    -- 권순선

    DocbookSgml 쪽은 해결이 되었습니다. jade.php에 http://docbook.kldp.org 에서 받아온 kldp.dsl을 박아 넣어 일괄적으로 처리하게 했습니다. 그래야 기존의 파일을 고칠 필요가 없지요. $args에 "-d /kldp/doc/plugin/processor/kldp.dsl#html " 를 추가하면 됩니다. MoniWiki 1.0릴리즈시에도 참고하세요. 감사합니다.... -- 권순선
    $default_dsssl같은 옵션을 넣어 두어야 하겠군요. dsl을 고쳐서 쓰는 경우, 출력을 미세하게 조절할 수 있기 때문에 docbook.php에서는 <stylesheet ...를 쓰도록 한 것입니다. stylesheet 옵션을 발견할 수 없을 때는 $default_dsssl 값을 이용하도록 해야겠군요. --WkPark

아참, 그리고 LinuxdocSgml도 테스트 중인데 docbook과 마찬가지로 config.php에 "LinuxdocSgml"=>"/linuxdoc" 이라고 넣어 주어도 자동으로 linuxdoc.php가 실행되지는 않았고요, 위아래에 linuxdoc 매크로를 추가하면(지금은 매크로를 추가해둔 상태입니다.) 보이기는 하는데 첫 페이지만 보입니다. --split=0 옵션이 들어간 것으로 아는데 콘솔상에서 테스트해 보면 분명 전체 페이지가 하나로 출력되는 반면 이곳에서는 그렇지 않네요. 좀더 살펴보고 추가할 내용이 있으면 추가하도록 하겠습니다. -- 권순선
위에 설명했습니다만, #gnome채널에서 제가 얘기한 것과 다릅니다. 그 페이지 자체의 포맷과 하위 포맷을 따로 따로 지정할 수 있게 했습니다.

LinuxdocSgml/Example linuxdoc 파서를 수정하셨나요 ? 에러가 뜨네요.

$args= "--split=0 --toc=2 "; 로 수정하니 잘 됩니다. 랭귀지 관련 옵션들이 문제였나 봅니다. --toc=2 옵션은 목차를 앞에 넣게 하는 옵션이고요. 그런데 한가지 문제가 있습니다. LinuxdocSgml/Example의 목차를 보시면 아시겠지만 목차에서 페이지 안의 링크가 제대로 되지 않습니다.
$cmd="cd /tmp;$sgml2html $args $tmpf".".sgml";
때문인데요. 실행할 때 $tmpf.sgml 이 아니라 원래 페이지 이름(LinuxdocSgml_2fExample.sgml)로 실행이 되면 목차에도 링크가 제대로 걸리게 될 것입니다. --toc=2 옵션을 아예 빼버리면 목차가 생성되지 않기 때문에 그런 문제를 피할 수 있어 일단은 그렇게 해 두었습니다. LinuxdocSgml/Example 는 --toc=2 인 경우의 예제로 남겨 두었고요. -- 권순선

레드헷의 sgml-tools는 --toc을 지원하지 않는군요. --WkPark
그렇군요. 그럴줄은 생각도 못했습니다. 일단은 당장 문서를 보는 것 자체는 문제가 없으니 이대로 유지해도 될것 같네요. -- 권순선

ID
Password
Join
He who invents adages for others to peruse takes along rowboat when going on cruise.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2003-08-10 11:52:29
Processing time 0.0021 sec