<memo()>, </memo> 매크로
UseModWiki소스수정/내용숨기기 를 수정해서 적용함. 스포일러 등을 적을 때 유용하다.
<memo(제목)>
내용 (내용은 두 줄 이상 가능. 위키 문법도 - 아마도 제대로 - 적용될 것임)
</memo>
위와 같이 하면 아래와 같이 보인다.
제목
내용 (내용은 두 줄 이상 가능. 위키 문법도 - 아마도 제대로 - 적용될 것임)
제목은 A class="memo" 로 링크가 생긴다. UseModWiki스타일쉬트 에 A.memo 를 정의하여 사용하도록 한다.
내용 부분은 DIV class="memo" 태그로 둘러쌓인다. UseModWiki스타일쉬트 에 DIV.memo 를 정의하여 사용하도록 한다.
제목에는 URL 이나 [[링크]] 등과 같이 특수하게 적으면 제대로 동작하지 않는다. 평범한 문자열만 사용하는 것을 권장
태그를 포함해서 두 줄 이상이 되면 리스트나 표 안에서 쓸 수는 없다. 그러길 원한다면 <memo(.. 부터 </memo> 까지를 한 줄로 적으면 된다.
당연한 얘기지만, diff 에는 페이지 소스가 다 보이니 요약란에 경고문을 넣어 줍시다. :-)
중첩해서 사용할 수는 없음.
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 수정
M emoID 라는 전역 변수 추가
use vars qw( %RevisionTs $FS_lt $FS_gt $StartTime $Sec_Revision $Sec_Ts
... $MemoID
매크로 추가
sub MacroSubst {
...
$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 조프 )
소스 내에 들어가는 자바스크립트를 별도로 함수로 분리하여 /JavaScript파일 로 이동함.
메모 아이디를 일련번호로 붙이게 함. 이제는 한 페이지 내에 동일한 제목의 메모들이 있어도 제대로 동작함
ext1.61c
M acroMemo 함수에 네번째 인자로 스타일쉬트 클래스를 줄 수 있게 함.
다른 매크로에서 이 함수를 재사용하기 위함
주지 않으면 기본값은 "memo"
사용자 의견
IE 가 아닌 다른 브라우저에서 어떻게 보이는지 알려 주세요~ 저는 집에 깔린 리눅스를 새로 설치하면서 X가 뜨지 않아서... -_-;
집에서 윈도용 파이어버드0.6으로 테스트 해봤는데 안되는군요.
연습장에 click here 랑 [1] 두개다 클릭해봤습니다. --
Bab2 2004-1-27 10:28 pm
이런, 결국 IE 전용인 건가요.. -_-; 테스트해주셔서 감사합니다.
Bab2 님, [여기] 도 한 번만 해 봐 주시겠어요? display 대신 visibility 속성을 사용한 것인데, 사실 속성의 문제가 아니라 자바스크립트 지원의 문제라고 생각되기 때문에 똑같이 안 될 것이라 예상하고 있습니다만... 아, 그리고 '안 된다'는 것은 내용 부분이 아예 보이지 않는다는 것인가요, 아니면 처음부터 내용 부분이 보인 채로 있는다는 것인가요?
사실 제가 처음 만들고 써놨듯이 오브젝트에 접근하는 방법 차이 때문에 다른 브라우저에서는 잘 안될겁니다. (이렇게 구체적으로 쓰진 않았지만 -_- ) 오페라는 역시 되더군요. 그걸 해결하려면 좀 찾아서 뒤지면 되겠지만 소스가 대왕 복잡해질 것이므로 역시 자바스크립트 파일로 빼는게 좋지 않을까 싶습니다. 구현은? 슬슬 하지요.
자바 스크립트에 대해서는 아는게 전무한터라... 위의 함수를 화일로 빼면 해결된다는 말씀이신가요?
아뇨. 브라우저별로 대응해야하기 때문에 소스가 열라 길어지게 되고. 그러니까 파일로 빼야 한다는 암담한 얘기입니다... -_-;
윽, 정말 암담하군요.
빠여버드가 DIV태그를 지원을 지독시럽게 못해서 혹시나하고 0.7버전을 깔아봤는데, 마찬가지네요 ㅡ.,ㅡ;
위에서 말씀하신 테스트페이지도 마찬가지네요.
링크를 클릭하면 아무런 일도 생기지 않습니다 ㅡ.,ㅡa
펼쳐지기라도 한다면 정말 좋을뻔 했죠.. 쿨럭~ ==; --
Bab2 2004-1-28 6:57 pm
Bab2님, http://cartoon.daganda.com 에서 왼쪽 메뉴가 열리나 한 번 확인해주시겠어요?
헉. 그새 구조를 바꿨군요... -_-;
말씀하신 사이트에 가봤는데, 펼침링크에 올려놨을 때 빠여버드에서 마우스포인터가 링크가 아닌 텍스트 형태로 뜨네요.
[이런식] 으로 만들 수는 있을까요?
http://jof4002.net 에서 본 링크 내용을 복사해둔 거거든요. ㅡ,.ㅡ;;
자바의 자 자도 모르니 도움이 되고 싶어도... 크흙..ㅜㅡ --
bab2 2004-1-28 8:06 pm
Bab2 님, 위에 소스코드에서 </A> 와 </DIV> 를 소문자로 바꾸셨던데, (리비전 19와 20사이) 달리 이유가 있는 것 같지는 않고, 혹시 저번처럼 사용하시는 브라우저가 멋대로 한 건가요? 아니면 어떤 심오한 뜻이라도.. :-)
지난번에도 그랬듯이 브라우저가 멋대로 바꿔버린것이죠.. ㅜㅡ --
Bab2 2004-1-28 9:53 pm
네, 저도 계속 남에게 부탁할수가 없어서 파이어버드 0.7을 방금 깔았습니다. 편집 모드로 들어갈 때 소문자로 바꾸어 버리는군요. ^^ 그리고 메모매크로 해결방안을 찾은 것 같습니다. 잠시 후에 고친 것을 올리겠습니다.
MemoMacro 에 힘입어 고쳤습니다. (조희대님께 감사) 그 외 브라우저나 리눅스 등에서 웹서핑하시는 분 계시면 테스트 부탁합니다~
오 저도 막 고쳐서 올리려고 하는 틈이었는데 벌써 올리셨군요.
우왓 잘됩니다. 잘 쓰겠습니다. ^^ --
bab2 2004-1-28 10:49 pm
흐음... comments 나 longcomments 안에서 부등호를 쓰지 못하게 해 놨는데, 이 매크로를 쓰지 못하는 게 좀 아쉽긴 하군요. 그렇다고 부등호를 가능하게 하면 다른 태그들의 남용이 걱정이고...
위키위키분류