Skip to content
achimnol edited this page Oct 8, 2012 · 4 revisions

플러그인의 특정 함수가 어느 시점에 어떤 인자를 받아 어떠한 값을 되돌려주는가를 지시하는 것이 드라이버 파일인 index.xml입니다. index.xml은 xml형식을 따르고 있습니다.

기본 개념

예제: Hello World 플러그인

index.xml의 문법은 굉장히 다양합니다. 아래에서는 가장 기본적인 예를 설명하도록 하겠습니다.

<?xml version="1.0" encoding="utf-8"?>
<plugin version="1.0">
    <title xml:lang="ko">안녕 세상아! (기본)</title>
    <link>http://www.example.com/</link>
    <version>1.0</version>
    <description xml:lang="ko">여기저기에 Hello world!를 출력해보는 예제 플러그인입니다.</description>
    <license>GPL</license>
    <author xml:lang="ko" link="http://www.example.com">슈퍼맨</author>
    <safety changeData="no" exposeData="no" accessLocal="no" accessRemote="no" accessRaw="no" />
    <requirements>
        <textcube>1.5</textcube>
    </requirements>
    <binding>
        <tag name="HelloWorld" handler="Helloworld_Show" />
    </binding>
</plugin>

이 index.xml 파일은 스킨 안에 들어 있는 [##_HelloWorld_##] 를 찾아 그 위치에 index.php안에 들어있는 function Helloworld_Show()의 리턴값을 집어 넣습니다.

설명

<plugin>은 플러그인 xml의 내용의 시작과 끝을 의미합니다.

  • <title>: 플러그인의 이름입니다. 현재 사용중인 언어에 따라 해당되는 언어의 값이 관리자 메뉴의 플러그인 표시창에 표시됩니다.
  • <link>: 플러그인 설명때 출력되는 링크입니다. 일반적으로 플러그인을 배포하는 웹사이트나 블로그의 주소, 또는 저자의 웹페이지 주소입니다.
  • <version>: 플러그인의 버전을 의미합니다. 번호가 높을수록 최신 버전입니다.
  • <description>: 플러그인의 설명입니다. 관리자 메뉴의 플러그인 표시창에서 '자세히 보기' 나 '환경설정'을 눌렀을 때 볼 수 있습니다.
  • <license>: 플러그인의 저작권입니다. 텍스트큐브 전용으로 단독으로 실행될 수 없는 플러그인은 텍스트큐브의 저작권에 따라 GPL이어야 합니다. 플러그인이 단독 동작이 보장되는 프로그램의 driver로 구현이 된 경우에는 다른 저작권도 가능합니다. 외부 라이브러리를 사용해서 작성한 플러그인이 GPL이 되기 위해서는 해당 라이브러리가 GPL/LGPL/Apache/BSD/MIT 라이센스와 같이 GPL과 충돌이 없는 저작권으로 배포된 라이브러리여야 합니다.
  • <author>: 플러그인 작성자를 명기합니다. 이름과 링크는 플러그인 '자세히보기'에서 출력됩니다.
  • <safety>: 플러그인이 어떤 식으로 동작하는지 명기합니다. 주로 보안상의 문제가 발생할 수 있는 부분에 대한 언급입니다.
    • changeData: 플러그인이 텍스트큐브의 데이터를 변경합니다.
    • exposeData: 플러그인이 텍스트큐브의 데이터를 밖으로 출력합니다.
    • accessLocal: 플러그인이 로컬 리소스를 참조합니다.
    • accessRemote: 플러그인이 외부 리소스를 참조합니다.
    • accessRaw: 플러그인이 raw data를 직접 다룹니다.
Clone this wiki locally