텍스트큐브: 인쇄 플러그인(3/5/2023)


인쇄 기능을 지원합니다에서 설명한 것처럼 인쇄 플러그인은 필자의 숙원사업(?) 중 하나였다. 그러나 텍스트큐브 의 구조를 잘 모르는 필자로서는 섣부르게 시도하기도 힘든 플러그인이었다. 다행이 텍스트큐브에 사용된 함수를 플러그인에서 사용할 수 있다는 것을 알게된 덕에 의외로 쉽게 인쇄 플러그인을 만들 수 있었다.

미공개 플러그인 중 가장 먼저 만든 플러그인이 Firefox에서도 동작하도록 AnyLink를 적용한 수평분류 플러그인이고 그 다음에 만든 플러그인이 오즈용 최저가 주유소 검색 프로그램을 공개하면서 만든 dp.SyntaxHighlighter 플러그인지만 인쇄 플러그인을 가장 먼저 공개하는 것은 바로 이런 맥락이다. 플러그인을 설치하는 방법은 따로 설명하지 않겠다. 텍스트큐브 를 사용하는 사람이라면 이미 알고 있을 것으로 생각하기 때문이다. 따라서 이 글에서는 환경설정스킨 및 Style.css 파일을 만드는 방법에 대해서만 설명하겠다.

내려받기
플러그인은 다음 링크에서 내려받을 수 있다. 내려받은 플러그인을 폴더채 플러그인 폴더(plugins/)에 올리면 된다.

환경설정
보통 플러그인에서는 $blogURL$plugURL 변수를 사용할 수 있다. 그러나 가상의 plugin 디렉토리로 호출하는 경우 이 두 개의 변수를 사용할 수 없었다. 따라서 이 항목까지 환경설정에서 설정해 주어야 한다.

  1. 관리도구/플러그인/인쇄 버튼 3를 클릭한 뒤 환경설정 링크를 클릭한다.
  2. 다음 항목을 설정한다.
    블로그 주소 자신의 블로그 주소를 입력한다. 루트 폴더에 텍스트큐브를 설치한 것이 아니라면 설치한 폴더의 주소까지 입력한다. 예를 들어 tc라는 폴더에 텍스트큐브를 설치했다면 블로그 주소는 http://offree.net/tc를 입력해야 한다. 마지막에 /를 입력하지 않도록 주의한다.
    플러그인 주소 보통은 기본값을 사용하면 된다. 그러나 플러그인을 vPrintArticle2 폴더가 아닌 다른 폴더에 설치했다면 플러그인 주소에 이 폴더에 대한 경로를 입력하면 된다.
    선행 문자 인쇄 기능을 이용하려면 블로그 페이지에 인쇄 링크를 달아야 한다. 이 인쇄링크의 앞 부분에 삽입할 문자를 입력하면 된다. 기본 값은 :: 이다.
    후행 문자 선행 문자와 마찬가지로 인쇄 링크 뒷 부분에 출력될 문자이다. 자신이 사용하고 있는 스킨에 맞춰 설정하면 된다.
    인쇄 라벨 인쇄 링크의 이름을 입력한다. 기본값은 인쇄이며, 프린트처럼 인쇄 링크임을 표시하는 라벨을 입력하면 된다.

  3. 환경 설정이 끝났다면 저장 단추를 클릭해서 플러그인의 환경을 저장한다.

스킨에 치환자 삽입
이제 남은 일은 스킨에 인쇄 링크를 달기 위해 치환자를 삽입하면 된다. 인쇄용 링크 치환자는 [##_print_article_##] 이므로 스킨의 적당한 위치에 이 치환자를 삽입하면 그림처럼 인쇄 링크가 나타난다.

인쇄 플러그인용 스킨
인쇄 플러그인은 자신이 사용하고 있는 스킨과 가장 비슷한 출력 화면을 만들기 위해 skin.html 파일을 사용한다. 아울러 사용되는 치환자는 텍스트큐브에서 사용하는 치환자와 똑 같다. 다만 지원하는 치환자가 별로없다. 따라서 자신만의 인쇄용 스킨을 만들고 싶은 사람은 다음 치환자를 이용해서 해서 인쇄용 스킨을 직접 만들 수 있다. 플러그인에 포함된 인쇄용 스킨은 현재 필자가 1단으로 고처 사용하고 있는 Moving Box(Green)을 인쇄용 스킨으로 수정한 것이다.

치환자 설명

인쇄용 스킨 파일의 예

사용하고 있는 플러그인 중 자바스크립트나 스타일쉬트를 이용하는 플러그인이 있다면 <HEAD>와 </HEAD> 사이에 플러그인이 사용하는 자바스크립트를 삽입해야 한다.

플러그인용 스크립트 삽입 예

페이지를 읽자마자 인쇄 창을 띄우고 싶다면 <BODY> 태그를 다음처럼 바꾸어야 한다.

인쇄 창 바로 띄우기

인쇄용 스타일쉬트
인쇄용 스킨에서 스타일쉬트를 사용하고 있다면 마찬가지로 스타일쉬트 역시 만들어 주어야 한다. 필자는 Moving Box(Green)의 스타일쉬트에서 스킨에서 참조하고 있는 부분만 남기고 나머지는 삭제하는 방법으로 스타일쉬트를 만들었다.

인쇄용 스타일쉬트의 예

마지막으로 작성된 스타일쉬트를 인쇄에서도 그대로 적용하고 싶다면 스킨에서 스타일쉬트를 지정하면 media 속성을 screen이 아니라 printall로 해야 한다.

현재 이 플러그인은 단일 사용자 환경텍스트큐브를 루트에 설치해서 테스트했다. 다중 사용자 환경과 루트 폴더 이외의 폴더에서의 동작도 염두에 두었지만 시험해 보지 않았기 때문에 잘 동작하는지는 필자도 모르고 있다. 따라서 다른 환경에서 이 플러그인이 잘 동작하지 않는다면 플러그인을 활성화한 뒤 동작하지 않는 페이지를 필자에게 알려 주기 바란다.

다음은 인쇄용 플러그인을 적용한 뒤 출력된 인쇄용 화면이다.

관련 링크
2008/05/27 20:58 2008/05/27 20:58

구독 & 책갈피 글이 마음에 드신다면 로 편하게 구독하세요!!!

책갈피 하기: WZD | 구글 | 네이버 | 뉴스2.0 | 다음 | 델리셔스 | 마가린 | 북마커 | 야후 | 한RSS | 정보

촛불 문화제 소식
컴관련
오늘의글
인기글

걸린글 0 댓글 12

RSS : http://offree.net/rss/response/1741

걸린글 : http://offree.net/trackback/1741

  1. 흑익 2008/05/27 21:30 address edit & del reply

    인쇄라....어떤 느낌인지 정확하게 감은 안잡히네요.

    그래도 있으면 확실히 편할것 같은....

    • 도아 2008/05/28 21:40 address edit & del

      인쇄 링크를 클릭해 보시면 됩니다.

  2. 비밀방문자 2008/05/28 03:46 address edit & del reply

    관리자만 볼 수 있는 댓글입니다.

    • 도아 2008/05/28 21:41 address edit & del

      질문은 비밀글로 남기지 마시고 기타의 묻고 답하기를 이용하시기 바랍니다.

      링크 옆의 새창열기 아이콘은 제가 배포한 바깥 고리 플러그인을 사용하면 됩니다. 그리고 복사 방지 태그에 관한을 글을 잘 읽어 보시면 해당 태그를 내려받을 수 있는 링크가 있는 것을 확인하실 수 있습니다.

  3. 가별이 2008/05/28 22:46 address edit & del reply

    웹페이지 이런건 영 젬병이라 보면 아 코드구나.. 이렇게만 생각하곤 합니다.

    • 도아 2008/05/29 09:43 address edit & del

      처음에는 어려워 보여도 보다 보면 비교적 쉬운 것이 웹 코딩입니다. 다만 거의 막일 수준입니다. 디버깅이 힘들어서...

  4. antisys 2008/05/28 23:27 address edit & del reply

    올리고 보니, 묻고 답하기가 있었더군요.
    아무튼 감사합니다. ^^;;

    • 도아 2008/05/29 09:45 address edit & del

      원래 관련글이 아니면 댓글을 달지 않는 것이 예의입니다. 그래서 보통 질문은 방명록에 많이 하는데 저는 방명록으로 올라온 질문이 많아서 별도의 질답 코너를 두고 있습니다. 그리고 다음부터 질답 코너로 올려 주시면됩니다.

  5. 공상플러스 2008/05/30 13:41 address edit & del reply

    햏자는 티스토리라서..

    • 도아 2008/05/31 06:52 address edit & del

      TC로 바꾸심이...

  6. 이수현 2008/06/09 21:56 address edit & del reply

    설정을
    블로그주소 :http://allsolution.kr/kls8
    플러그인 주소 : /plugins/vPrintArticle2
    선행 문자 : /&nbsp;
    이렇게 했는데..

    선행문자대로 '/ 인쇄' 라고 잘 나옵니다만
    링크를 클릭하면 http://www.allsolution.kr/plugin/print/?id=1 라는 링크로 가게 되고...
    페이지가 없다라는 말이 나오네요..


    어떻게 해야 하나요?

    • 도아 2008/06/10 09:59 address edit & del

      오늘 수정본을 올리도록 하겠습니다.