[첫화면으로]UseModWiki소스수정/Ditaa플러그인

마지막으로 [b]

1. Ditaa 플러그인
1.1. 사용법
1.2. wiki.pl 수정
1.3. 추가 업데이트 내역
1.4. 사용자 의견

1. Ditaa 플러그인

텍스트로 그린 플로우차트를 이미지로 변환해 주는 플러그인

 {{{#!ditaa
     +--------+   +-------+    +-------+
     | c897   +---+ ditaa +--->|       |
     |  Text  |   +-------+    |diagram|
     |Document|   |!magic!|    |       |
     |     {d}|   |  c978 |    | c789  |
     +---+----+   +-------+    +-------+
 }}}

ditaa diagram

1.1. 사용법

위에 소개한 것처럼 {{{#!ditaa ... }}} 블럭 안에 차트를 그리면 된다.

처음 한 번은 ditaa 사이트에서 이미지를 변환하고, 일단 변환된 이미지는 업로드디렉토리/ditaa 디렉토리 아래 저장되어 다음부터는 저장된 이미지를 바로 사용한다.

만일 LWP::Simple 모듈이 없다면 매번 ditaa 사이트에서 변환해서 가져오는데, 속도가 좀 느리다.

텍스트는 영문만 되고 한글이 들어가면 깨진다ㅠㅠ

1.2. wiki.pl 수정

plugin/ditaa.pl 파일 추가:

# ditaa plugin
# http://ditaa.org/ditaa/
# http://www.asciiflow.com/
#
# usage :
# {{{#!ditaa
# text art
# }}}

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">);

    # LWP::Simple이 없으면 ditaa.org의 주소를 바로 반환 - 느리다
    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. 추가 업데이트 내역

1.4. 사용자 의견

윽 한글... ㅠㅠ

-- 조프 2012-2-9 4:45 pm

안타깝지요ㅠㅠ
-- Raymundo 2012-2-9 5:15 pm

UTF-8 인코딩은 지원하는 모양인데.. 혹시 폰트 문제 아닌가요?

한글 지원 가능성은 없을까요?

http://vaslor.net/tech/ascii_chart

-- VL 2012-10-12 11:38 pm

저도 잘 모르겠네요 :-)
-- Raymundo 2012-10-12 11:53 pm

이런, ditta.org 없어졌나보네.

-- Raymundo 2014-6-11 4:57 pm
이름:  
Homepage:
내용:
 

위키위키분류

마지막 편집일: 2014-6-11 4:57 pm (변경사항 [d])
816 hits | Permalink | 변경내역 보기 [h] | 페이지 소스 보기