1

주제: 새창 띄우기, 라이센스 표시 플러그

의외로 새창띄우기를 원하시는 분들이 많더군요.
그래서 간단하게 만들어볼까 합니다. 포스트 내의 a 태그를 조사해서 원래의 a태그를 그대로 두고 옆에 새창 아이콘이나 텍스트를 넣어 그걸 클릭하면 새창이 뜨게 하려고 합니다. (새창 뜨지 않게 한 것이 원래 의도였던 데다 target이 XHTML 표준으로도 맞지 않으니까요.)

그리고, CCL이라든가 GFDL과 같이 몇 가지 문서용 라이센스를 조사해서 플러그인에서 간단히 설정하고 스킨에 치환자만 삽입하면 되는 플러그인도 만들어볼까 합니다.
역시 시험 기간엔 말려주는 센스가..-_-;

문제의 답은 우리 안에 있다.
내면에 귀를 기울여 보자.

2

답글: 새창 띄우기, 라이센스 표시 플러그

근데 이거 만들다보니까, config.php에 설정된 $service['language']를 참조하여 영문/한글을 전환해서 보여주려고 하는데, 항상 'ko'로만 설정되어 있습니다. 여기서 설정되는 건 언어별 배포판에 따른 것인가요?

그렇다면 환경설정에서 설정하는 언어는 무엇으로 접근할 수 있는지요?

--

자문자답 : BlogSetting이라는 클래스가 있길래 new BlogSetting()했더니 아무것도 안 뜨길래;; 좀 뒤져보니까 getBlogSetting라는 함수가 있더군요. 플러그인의 scope에서 보이는 변수·함수들에는 어떤 것들이 있는지 알 수 있는 레퍼런스가 필요할 것 같습니다.;

daybreaker (2006-06-16 00:15:24)에 의해 마지막으로 수정

문제의 답은 우리 안에 있다.
내면에 귀를 기울여 보자.

3

답글: 새창 띄우기, 라이센스 표시 플러그

daybreaker 작성:

플러그인의 scope에서 보이는 변수·함수들에는 어떤 것들이 있는지 알 수 있는 레퍼런스가 필요할 것 같습니다.;

저의 차기 작업 중 하나가 태터툴즈 레퍼런스입니다. 전체 소스 코드를 파악할 겸(뒷북치다가 교주님한테 '그거 있는데요?' 소리를 하도 들어놔서...:P), DB로 레퍼런스를 개발해 기존 개발자의 개발편의를 도모하고, 새 개발자의 진입장벽을 낮추기 위해서이지요. 다만, 저도 얼마 후부터 새 일을 시작하기 때문에 작업이 그렇게 빠를 것 같지는 않군요. 현재로서는 2~4달로 잡고 있어요.

graphittie (2006-06-16 00:49:20)에 의해 마지막으로 수정

4

답글: 새창 띄우기, 라이센스 표시 플러그

오오, 역시 그라피티에님 쵝오! +_+
(이래놓고 막상 다 떠넘기는 거 아닌가 해서 괜시리 죄송스럽기도..)

문제의 답은 우리 안에 있다.
내면에 귀를 기울여 보자.

5

답글: 새창 띄우기, 라이센스 표시 플러그

링크 새창 띄우기는.. 어떤 분이 태터툴즈 홈에 플러그인으로 만들어서 올리셨네요 ^^
http://www.tattertools.com/bbs/view.php … amp;no=210

여기서 의도한 바와는 조금 다른 듯 보이지만.... 한번 살펴보세요 ^^a

6

답글: 새창 띄우기, 라이센스 표시 플러그

유마 작성:

링크 새창 띄우기는.. 어떤 분이 태터툴즈 홈에 플러그인으로 만들어서 올리셨네요 ^^
http://www.tattertools.com/bbs/view.php … amp;no=210

여기서 의도한 바와는 조금 다른 듯 보이지만.... 한번 살펴보세요 ^^a

그 분이 이 분이십니다. 아침놀 = daybreaker. 크크크...:cool:

7

답글: 새창 띄우기, 라이센스 표시 플러그

graphittie 작성:
유마 작성:

링크 새창 띄우기는.. 어떤 분이 태터툴즈 홈에 플러그인으로 만들어서 올리셨네요 ^^
http://www.tattertools.com/bbs/view.php … amp;no=210

여기서 의도한 바와는 조금 다른 듯 보이지만.... 한번 살펴보세요 ^^a

그 분이 이 분이십니다. 아침놀 = daybreaker. 크크크...:cool:

헉쑤;;;; 맨날 영문 ID만 보다가;;;; 한글명을 보니;;;

8

답글: 새창 띄우기, 라이센스 표시 플러그

새 창 띄우기 정말 want 합니다 smile
다른 블로그에서 글 읽다가 중간에 링크 클릭했는데 같은 페이지에서 이동이 되어 버리면 짜증이 올라가더라구요.-_-;
저도 글 쓸때마다 일일이 target 넣기도 귀찮고..

그래서 간단하게 만들어볼까 합니다. 포스트 내의 a 태그를 조사해서 원래의 a태그를 그대로 두고 옆에 새창 아이콘이나 텍스트를 넣어 그걸 클릭하면 새창이 뜨게 하려고 합니다. (새창 뜨지 않게 한 것이 원래 의도였던 데다 target이 XHTML 표준으로도 맞지 않으니까요.)

위 방식 좋네요. cool

9

답글: 새창 띄우기, 라이센스 표시 플러그

"새창 아이콘이나 텍스트" 없이 기존 링크를 모두 새창으로 띄우게 하는 옵션도 있으면 좋지 않을까요? 웹표준을 중요시 하는 분도 있겠지만 또 새창에 익숙해져 있는 분도 있을것 같아서요.

10

답글: 새창 띄우기, 라이센스 표시 플러그

lunamoth 작성:

"새창 아이콘이나 텍스트" 없이 기존 링크를 모두 새창으로 띄우게 하는 옵션도 있으면 좋지 않을까요?

플러그인 코드를 고치면 얼마든지 가능합니다만 플러그인의 환경설정 페이지를 어떻게 만들 수 있는지 몰라서(소스 뒤져보니까 얼핏 plugin/xxx로 접근했을 때의 이벤트가 있는 것 같기도 하던데..) 따로 옵션을 넣지 않았습니다. 고려하겠습니다;

ps. 이거 플러그인 코드가 정말 너무너무 간단해서..-_-; 사실 상 preg_replace 한 줄로 끝나는 녀석이거든요. 그 안에 들어갈 $replacement 문자열만 잘 조작해주면 됩니다.;;

daybreaker (2006-06-16 12:05:32)에 의해 마지막으로 수정

문제의 답은 우리 안에 있다.
내면에 귀를 기울여 보자.

11

답글: 새창 띄우기, 라이센스 표시 플러그

1.0 XHTML tr에서는 target 지정 상관없습니다만
1.1 XHTML St에서는 문제가 되죠.

그래서 전 꼼수로 Javascript를 사용해서 새창 띄우고 있습니다.. ( ..)

하늘은 스스로 삽질하는 자를 삽으로 팬다

12

답글: 새창 띄우기, 라이센스 표시 플러그

graphittie 작성:
daybreaker 작성:

플러그인의 scope에서 보이는 변수·함수들에는 어떤 것들이 있는지 알 수 있는 레퍼런스가 필요할 것 같습니다.;

저의 차기 작업 중 하나가 태터툴즈 레퍼런스입니다. 전체 소스 코드를 파악할 겸(뒷북치다가 교주님한테 '그거 있는데요?' 소리를 하도 들어놔서...:P), DB로 레퍼런스를 개발해 기존 개발자의 개발편의를 도모하고, 새 개발자의 진입장벽을 낮추기 위해서이지요. 다만, 저도 얼마 후부터 새 일을 시작하기 때문에 작업이 그렇게 빠를 것 같지는 않군요. 현재로서는 2~4달로 잡고 있어요.

흠 저도 사정이 있어 태터 툴즈 코드를 열심히 까보는 중입니다...만 지쳐서 코드 레퍼런스하는 문서를 만드려고 하고 있습니다. ^^
도움이 되었으면 합니다. ^^ 혹시 시작하시게 되면 저도 끼워 주십시오.~~

ghost_ghost (2006-06-20 21:18:51)에 의해 마지막으로 수정

13

답글: 새창 띄우기, 라이센스 표시 플러그

TnF 2차 회의에서 나왔던

"심하게 긴 URL이 포스트에 포함되어 레이아웃이 깨지는 문제"

를 해결하기 위한 "URL을 간단하게 줄여주는 플러그인 기능"도 포함하는 것이 어떨까요?(코드가 까다롭다는 걸 알면서 떠넘기기...)

14

답글: 새창 띄우기, 라이센스 표시 플러그

graphittie 작성:

TnF 2차 회의에서 나왔던

"심하게 긴 URL이 포스트에 포함되어 레이아웃이 깨지는 문제"

를 해결하기 위한 "URL을 간단하게 줄여주는 플러그인 기능"도 포함하는 것이 어떨까요?(코드가 까다롭다는 걸 알면서 떠넘기기...)

총대는 graphittie님이 매시는거죠? +_+/

하늘은 스스로 삽질하는 자를 삽으로 팬다

15

답글: 새창 띄우기, 라이센스 표시 플러그

graphittie 작성:

TnF 2차 회의에서 나왔던

"심하게 긴 URL이 포스트에 포함되어 레이아웃이 깨지는 문제"

를 해결하기 위한 "URL을 간단하게 줄여주는 플러그인 기능"도 포함하는 것이 어떨까요?(코드가 까다롭다는 걸 알면서 떠넘기기...)

여기 포럼(PunBB)의 소스를 참고해서 해보니 플러그인으로 되긴되는군요.
daybreaker님께서 만드신것과 병합해서 해보려니 에러가 나서 독립시켜버렸습니다.
플러그인을 동시에 써도 충돌은 없는것 같습니다.
아래소스를 태터에 병합하면 좋을것 같습니다.(엔트리 본문, 댓글(방명록)본문까지 적용되게)

# 참고 플러그인
http://www.create74.com/temp/LongToShortLink.zip

# PunBB 참고소스

function handle_url_tag($url, $link = '')
{
    global $pun_user;

    $full_url = str_replace(array(' ', '\'', '`', '"'), array('%20', '', '', ''), $url);
    if (strpos($url, 'www.') === 0)            // If it starts with www, we add http://
        $full_url = 'http://'.$full_url;
    else if (strpos($url, 'ftp.') === 0)    // Else if it starts with ftp, we add ftp://
        $full_url = 'ftp://'.$full_url;
    else if (!preg_match('#^([a-z0-9]{3,6})://#', $url, $bah))     // Else if it doesn't start with abcdef://, we add http://
        $full_url = 'http://'.$full_url;

    // Ok, not very pretty :-)
    $link = ($link == '' || $link == $url) ? ((strlen($url) > 55) ? substr($url, 0 , 39).' … '.substr($url, -10) : $url) : stripslashes($link);

    return '<a href="'.$full_url.'">'.$link.'</a>';
}

jparker (2006-06-26 11:27:49)에 의해 마지막으로 수정

당신의 삶속에 매화꽃 향기처럼 늘 아름다운 향기로 가득하길...
# J.Parker