-
- 1. Ditaa 플러그인
-
-
- 1.1. 사용법
-
- 1.2. wiki.pl 수정
-
- 1.3. 추가 업데이트 내역
-
- 1.4. 사용자 의견
-
1. Ditaa 플러그인
텍스트로 그린 플로우차트를 이미지로 변환해 주는 플러그인
-
{{{#!ditaa
+--------+ +-------+ +-------+
| c897 +---+ ditaa +--->| |
| Text | +-------+ |diagram|
|Document| |!magic!| | |
| {d}| | c978 | | c789 |
+---+----+ +-------+ +-------+
}}}
- 필수 요구 사항: 없음
- 선택 요구 사항: LWP::Simple 모듈이 있어야 이미지를 캐시로 가져올 수 있음
위에 소개한 것처럼 {{{#!ditaa ... }}}
블럭 안에 차트를 그리면 된다.
처음 한 번은 ditaa 사이트에서 이미지를 변환하고, 일단 변환된 이미지는 업로드디렉토리/ditaa
디렉토리 아래 저장되어 다음부터는 저장된 이미지를 바로 사용한다.
만일 LWP::Simple 모듈이 없다면 매번 ditaa 사이트에서 변환해서 가져오는데, 속도가 좀 느리다.
텍스트는 영문만 되고 한글이 들어가면 깨진다ㅠㅠ
1.2. wiki.pl 수정
plugin/ditaa.pl
파일 추가:
sub plugin_ditaa {
my ($content, @opt) = @_;
my $img;
require Digest::MD5;
my $hash = Digest::MD5::md5_hex($content);
my $imgfile = "$hash.png";
my $dir = "$UploadDir/ditaa";
my $url = "$UploadUrl/ditaa";
my $alt = "ditaa diagram";
my $img_cached = qq(<img src="$url/$imgfile" alt="$alt">);
if ( -f "$dir/$imgfile" ) {
return $img_cached;
}
my $enc = EncodeUrl($content);
my $ditaa = "http://ditaa.org/ditaa/render?grid=$enc";
my $img_ditaa = qq(<img src="$ditaa" alt="$alt">);
if ( not eval { require LWP::Simple } ) {
return $img_ditaa;
}
CreateDir($UploadDir);
CreateDir($dir);
my $res = LWP::Simple::getstore($ditaa, "$dir/$imgfile");
if ( $res eq "200" ) {
return $img_cached;
}
else {
return $img_ditaa;
}
}
1;
1.3. 추가 업데이트 내역
윽 한글... ㅠㅠ
- 안타깝지요ㅠㅠ
UTF-8 인코딩은 지원하는 모양인데.. 혹시 폰트 문제 아닌가요?
한글 지원 가능성은 없을까요?
http://vaslor.net/tech/ascii_chart -- VL 2012-10-12 11:38 pm
- 저도 잘 모르겠네요 :-)
이런, ditta.org 없어졌나보네.
위키위키분류