[첫화면으로]UseModWiki소스수정/Memo매크로

마지막으로 [b]

<memo()>, </memo> 매크로

Jof:UseModWiki소스수정/내용숨기기 를 수정해서 적용함. 스포일러 등을 적을 때 유용하다.

<memo(제목)>
내용 (내용은 두 줄 이상 가능. 위키 문법도 - 아마도 제대로 - 적용될 것임)
</memo>
위와 같이 하면 아래와 같이 보인다.

wikiscript.js 수정

다음 함수 추가
function onMemoToggle(id)
{
    if (document.getElementById(id).style.display == "none")
    {
        document.getElementById(id).style.display = "block";
    }
    else
    {
        document.getElementById(id).style.display = "none";
    }
    return false;
}

wiki.pl 수정

MemoID 라는 전역 변수 추가
### 패치를 위해 추가된 내부 전역 변수
use vars qw(%RevisionTs $FS_lt $FS_gt $StartTime $Sec_Revision $Sec_Ts
    ... $MemoID

매크로 추가
sub MacroSubst {
    ...
### <memo(제목)></memo> from Jof
    $txt =~ s/(&__LT__;memo\(([^\n]+?)\)&__GT__;((.)*?)&__LT__;\/memo&__GT__;)/&MacroMemo($1, $2, $3)/geis;
###
###############
    return $txt;
}

다음 함수 통채로 추가
sub MacroMemo {
    my ($itself, $title, $text, $class) = @_;

    $class = "memo" if ($class eq '');
    $title = &RemoveLink($title);
    $MemoID++;

    my $memo_id = "__MEMO__$MemoID";

    return "<A class=\"$class\" href=\"#\" onClick=\"" .
        "return onMemoToggle('$memo_id');\">" .
        $title .
        "</A>" .
        "<DIV class=\"$class\" id=\"$memo_id\" style=\"display:none\">" .
        $text .
        "</DIV>";
}

wiki.css 수정

다음의 내용을 추가. 입맛에 맞도록 수정한다.
/* memo 매크로 링크 */
A.memo:link, A.memo:active, A.memo:visited, A.memo:hover {
    background: transparent;
    color: blue;
    text-decoration: none;
}
A.memo:hover
{
    text-decoration: underline;
}

DIV.memo {
    background-color:#F8F8F8;
    color:#000;
    border:1px solid silver;
    padding:5px;
}

추가 업데이트 내역

ext1.55a - Mozilla Firebird 에서도 지원되도록 고쳤습니다. 그 외 다른 브라우저는 테스트하지 못했습니다. (도움주신 WikiX 개발자 조희대님께 감사합니다)

ext1.61 (thanks to 조프)

ext1.61c

사용자 의견

IE 가 아닌 다른 브라우저에서 어떻게 보이는지 알려 주세요~ 저는 집에 깔린 리눅스를 새로 설치하면서 X가 뜨지 않아서... -_-;
-- Raymundo 2004-1-27 9:13 pm

집에서 윈도용 파이어버드0.6으로 테스트 해봤는데 안되는군요.
연습장에 click here 랑 [1] 두개다 클릭해봤습니다.
-- Bab2 2004-1-27 10:28 pm

이런, 결국 IE 전용인 건가요.. -_-; 테스트해주셔서 감사합니다.
-- Raymundo 2004-1-27 10:51 pm

Bab2님, [여기]도 한 번만 해 봐 주시겠어요? display 대신 visibility 속성을 사용한 것인데, 사실 속성의 문제가 아니라 자바스크립트 지원의 문제라고 생각되기 때문에 똑같이 안 될 것이라 예상하고 있습니다만... 아, 그리고 '안 된다'는 것은 내용 부분이 아예 보이지 않는다는 것인가요, 아니면 처음부터 내용 부분이 보인 채로 있는다는 것인가요?
-- Raymundo 2004-1-27 11:08 pm

사실 제가 처음 만들고 써놨듯이 오브젝트에 접근하는 방법 차이 때문에 다른 브라우저에서는 잘 안될겁니다. (이렇게 구체적으로 쓰진 않았지만 -_- ) 오페라는 역시 되더군요. 그걸 해결하려면 좀 찾아서 뒤지면 되겠지만 소스가 대왕 복잡해질 것이므로 역시 자바스크립트 파일로 빼는게 좋지 않을까 싶습니다. 구현은? 슬슬 하지요.
-- 조프 2004-1-28 2:31 am

자바 스크립트에 대해서는 아는게 전무한터라... 위의 함수를 화일로 빼면 해결된다는 말씀이신가요?
-- Raymundo 2004-1-28 2:34 am

아뇨. 브라우저별로 대응해야하기 때문에 소스가 열라 길어지게 되고. 그러니까 파일로 빼야 한다는 암담한 얘기입니다... -_-;
-- 조프 2004-1-28 3:15 am

윽, 정말 암담하군요.
-- Raymundo 2004-1-28 12:12 pm

빠여버드가 DIV태그를 지원을 지독시럽게 못해서 혹시나하고 0.7버전을 깔아봤는데, 마찬가지네요 ㅡ.,ㅡ;
위에서 말씀하신 테스트페이지도 마찬가지네요.
링크를 클릭하면 아무런 일도 생기지 않습니다 ㅡ.,ㅡa
펼쳐지기라도 한다면 정말 좋을뻔 했죠.. 쿨럭~ ==;
-- Bab2 2004-1-28 6:57 pm

Bab2님, http://cartoon.daganda.com 에서 왼쪽 메뉴가 열리나 한 번 확인해주시겠어요?
-- 조프 2004-1-28 7:18 pm

헉. 그새 구조를 바꿨군요... -_-;
-- 조프 2004-1-28 7:19 pm

말씀하신 사이트에 가봤는데, 펼침링크에 올려놨을 때 빠여버드에서 마우스포인터가 링크가 아닌 텍스트 형태로 뜨네요.
[이런식]으로 만들 수는 있을까요?
http://jof4002.net 에서 본 링크 내용을 복사해둔 거거든요. ㅡ,.ㅡ;;
자바의 자도 모르니 도움이 되고 싶어도... 크흙..ㅜㅡ
-- bab2 2004-1-28 8:06 pm

Bab2님, 위에 소스코드에서 </A> 와 </DIV> 를 소문자로 바꾸셨던데, (리비전 19와 20사이) 달리 이유가 있는 것 같지는 않고, 혹시 저번처럼 사용하시는 브라우저가 멋대로 한 건가요? 아니면 어떤 심오한 뜻이라도.. :-)
-- Raymundo 2004-1-28 9:47 pm

지난번에도 그랬듯이 브라우저가 멋대로 바꿔버린것이죠.. ㅜㅡ
-- Bab2 2004-1-28 9:53 pm

네, 저도 계속 남에게 부탁할수가 없어서 파이어버드 0.7을 방금 깔았습니다. 편집 모드로 들어갈 때 소문자로 바꾸어 버리는군요. ^^ 그리고 메모매크로 해결방안을 찾은 것 같습니다. 잠시 후에 고친 것을 올리겠습니다.
-- Raymundo 2004-1-28 10:06 pm

WikiX:MemoMacro 에 힘입어 고쳤습니다. (조희대님께 감사) 그 외 브라우저나 리눅스 등에서 웹서핑하시는 분 계시면 테스트 부탁합니다~
-- Raymundo 2004-1-28 10:14 pm

오 저도 막 고쳐서 올리려고 하는 틈이었는데 벌써 올리셨군요.
-- 조프 2004-1-28 10:47 pm

우왓 잘됩니다. 잘 쓰겠습니다. ^^
-- bab2 2004-1-28 10:49 pm

흐음... comments 나 longcomments 안에서 부등호를 쓰지 못하게 해 놨는데, 이 매크로를 쓰지 못하는 게 좀 아쉽긴 하군요. 그렇다고 부등호를 가능하게 하면 다른 태그들의 남용이 걱정이고...
-- Raymundo 2004-1-29 5:55 am
이름:  
Homepage:
내용:
 

위키위키분류

마지막 편집일: 2007-1-8 12:19 pm (변경사항 [d])
1836 hits | Permalink | 변경내역 보기 [h] | 페이지 소스 보기