문서 내보내기와 가져오기할 때 사용하는 파일 형식을 설명합니다. 이 문서는 매뉴얼웍스 6.0 버전을 기준으로 합니다.
문서 내보내기와 가져오기에 대한 설명은 다음을 참고하세요.
기본 디렉터리 구조
내보내기한 파일은 ZIP 형식으로 압축한 파일입니다. 압축 파일 내부 구조는 다음과 같습니다.
book디렉터리문서 내용 XML 파일이 위치하는 디렉터리
image디렉터리그림 파일과 그림 목록 XML 파일이 위치하는 디렉터리
그림이 없을 때는 image 디렉터리가 필요 없습니다.
book 디렉터리
book 디렉터리에는 문서 내용을 담고 있는 XML 파일이 있습니다.
문서 하나가 XML 파일 하나입니다. 책이든 짧은 문서이든 상관없이 한 파일에 모든 내용이 들어갑니다.
각 파일 이름은 문서 UUID와 xml 확장자로 이루어집니다.
XML 파일을 여러 개 두면 문서 여러 개를 한 번에 가져올 수 있습니다. 가져오기는
book디렉터리에 있는 파일을 모두 읽으므로 XML 파일이 아닌 파일은 두지 않습니다.
UUID에 대한 설명은 UUID 만들기를 참고합니다.
book 태그
book 태그는 문서 정보를 담고 있는 properties 태그와 라벨 정보를 담고 있는 labels 태그, 장 정보를 담고 있는 여러 chapter 태그로 이루어집니다.
기본 구조는 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8"?>
<book id="34541fe321724db3">
<properties>
<property name="title" value="매뉴얼웍스 6.0 설치 가이드" />
<property name="subtitle" value="" />
<property name="edition" value="6.0" />
<property name="author" value="(주)쓰리래빗츠" />
<property name="subject" value="" />
<property name="keywords" value="" />
<property name="type" value="BOOK" />
<property name="locale" value="ko" />
<property name="config"
value="{"start_chapter_in_odd":true,"support_comment":true}" />
<property name="creator" value="admin" />
<property name="create_time" value="1442796729053" />
<property name="update_time" value="1512633695361" />
</properties>
<labels>
<label id="7d0c4b0e5c2a9f13" name="매뉴얼" color="BLUE" />
</labels>
<chapter id="5c9882e0f5143aac">
....
</chapter>
<chapter id="7b24f6496b23e86d">
....
</chapter>
</book>property 태그 정보는 다음과 같습니다.
이름 | 설명 | 필수 입력 |
|---|---|---|
| 제목 | 예 |
| 부제목 | 아니오 |
| 에디션 | 아니오 |
| 저자 이름을 입력합니다. 생략하면 문서를 가져온 사용자 이름을 저자로 보여줍니다. | 아니오 |
| 주제 | 아니오 |
| 키워드 | 아니오 |
| 문서 파라미터로 한 줄에 | 아니오 |
| 유형으로 대문자로 | 아니오 |
| 언어로 한국어는 ko, 일본어는 ja, 영어는 en_US를 입력합니다. 생략하면 사용자 언어를 따릅니다. | 아니오 |
| 이전 형식의 라벨입니다. 쉼표나 공백으로 구분한 라벨 이름을 입력합니다. 지금은 | 아니오 |
| 자세한 설명은 book 태그 옵션을 참고합니다. | 아니오 |
| 문서를 만든 사용자 아이디 | 아니오 |
| 문서를 만든 시간 | 아니오 |
| 문서를 수정한 시간 | 아니오 |
값이 없는 property는 생략할 수 있습니다. 값을 비워 두지 말고 태그를 생략합니다. 특히 create_time과 update_time을 빈 값으로 두면 가져오기에 실패합니다.
가져오기는 creator, create_time, update_time 값을 쓰지 않습니다. 문서를 가져온 사용자와 가져온 시간으로 기록합니다.
labels 태그에는 문서에 붙일 라벨을 label 태그로 입력합니다. label 태그 속성은 다음과 같습니다.
속성 | 설명 | 필수 입력 |
|---|---|---|
| 라벨 UUID입니다. 가져오는 서버에 같은 아이디의 라벨이 있으면 그 라벨을 붙입니다. | 아니오 |
| 라벨 이름입니다. 같은 아이디의 라벨이 없으면 이름이 같은 라벨을 붙이고, 이름이 같은 라벨도 없으면 새로 만듭니다. | 예 |
| 라벨 색으로 | 아니오 |
chapter 태그
chapter 태그는 장 정보를 담고 있는 properties 태그와 단락 내용을 담고 있는 element 태그로 이루어집니다.
<chapter id="5c9882e0f5143aac">
<properties>
<property name="title" value="제목" />
<property name="type" value="TITLE" />
<property name="always_top" value="false" />
<property name="creator" value="admin" />
<property name="create_time" value="1442796729053" />
<property name="update_time" value="1512633695361" />
</properties>
<element id="2c8ef0e0500582a2">
...
</element>
<element id="353a4bb7e297fb79">
...
</element>
</chapter>짧은 문서는 장 하나로 이루어지므로
chapter태그를 하나만 작성합니다. 짧은 문서의 장 제목, 부제목, 저자는 문서 값으로 바뀌고 장 유형은CHAPTER가 됩니다.가져오면 장과 단락 아이디는 새로 만들고, 상호 참조와 다른 단락 포함하기에서 가리키는 아이디도 새 아이디로 바꿉니다. 이런 곳에서 가리키는 대상이 아니라면
chapter와element태그id속성을 생략할 수 있습니다.properties태그는 생략할 수 없습니다.
property 태그 정보는 다음과 같습니다.
이름 | 설명 | 필수 입력 |
|---|---|---|
| 제목 | 예 |
| 장 유형입니다. 생략하면 | 아니오 |
| 부제목 | 아니오 |
| 저자 이름을 입력합니다. | 아니오 |
| 주제 | 아니오 |
| 장을 부와 동일한 최상위 단계로 하려면 true를 입력합니다. | 아니오 |
| 사용자 정의 아이디 | 아니오 |
| 다른 장을 참조하는 장일 때 원본 장 아이디입니다. 원본 장을 함께 가져오면 새 아이디로 바꿉니다. 참조하는 장의 | 아니오 |
| 자세한 설명은 chapter 태그 옵션을 참고합니다. | 아니오 |
| 장을 만든 사용자 아이디 | 아니오 |
| 장을 만든 시간 | 아니오 |
| 장을 수정한 시간 | 아니오 |
장 유형(type)에는 다음 값을 입력할 수 있습니다.
장 유형 | 값 |
|---|---|
제목 | TITLE |
추천사 | FOREWORD |
차례 | TOC |
그림 차례 | LIST_OF_FIGURES |
표 차례 | LIST_OF_TABLES |
코드 차례 | LIST_OF_CODES |
머리말 | PREFACE |
감사의 글 | ACKNOWLEDGMENTS |
권두 장 | FRONT_CHAPTER |
장 | CHAPTER |
부 | PART |
부록 | APPENDIX |
용어집 | GLOSSARY |
약어집 | ABBREVIATION |
찾아보기 | INDEX |
권말 장 | BACK_CHAPTER |
포스트(블로그) | POST |
미공개 포스트(블로그) | HIDDEN_POST |
element 태그
element 태그는 단락 정보를 담고 있는 properties 태그와 단락 내용을 담고 있는 content 태그로 이루어집니다.
<element id="2c8ef0e0500582a2">
<properties>
<property name="type" value="heading1" />
<property name="creator" value="admin" />
<property name="create_time" value="1442796729053" />
<property name="update_time" value="1512633695361" />
</properties>
<content><![CDATA[비밀 번호 찾기]]></content>
</element>내용이 없어도 content 태그는 존재해야 합니다.
property 태그 정보는 다음과 같습니다.
이름 | 설명 | 필수 입력 |
|---|---|---|
| 단락 유형 | 예 |
| 자세한 설명은 element 태그 옵션을 참고합니다. | 아니오 |
| 사용자 정의 아이디 | 아니오 |
| 문서를 만든 사용자 아이디 | 아니오 |
| 문서를 만든 시간 | 아니오 |
| 문서를 수정한 시간 | 아니오 |
단락 유형(type)에는 다음 값을 입력할 수 있습니다.
단락 유형 | 값 |
|---|---|
보통 |
|
제목 1 |
|
제목 2 |
|
제목 3 |
|
제목 4 |
|
제목 5 |
|
헤드라인 |
|
코드 |
|
명령어 |
|
줄 바꿈 유지 |
|
블럭 인용구 |
|
권두 명구 |
|
순서 목록 |
|
비순서 목록 |
|
정의 목록 |
|
콜아웃 목록 |
|
단계 |
|
노트 |
|
팁 |
|
주의 |
|
교정 |
|
그림 단락 |
|
표 단락 |
|
차례 |
|
그림 차례 |
|
표 차례 |
|
코드 차례 |
|
용어집 |
|
약어집 |
|
찾아보기 |
|
자동 페이지 나누기 |
|
빈 페이지 |
|
여백 |
|
수평선 |
|
상자 시작 |
|
상자 종료 |
|
Float 하지 않기 |
|
레이아웃 페이지 |
|
디자인 페이지 |
|
다른 단락 포함하기 |
|
인라인 관련 문서 |
|
자바스크립트 모듈 |
|
웹 페이지 |
|
단락 유형별 content 태그 작성 요령
텍스트 단락
텍스트 단락 content 태그 내용은 에디터로 작업할 때와 비슷합니다. 자세한 사항은 다음을 참고하세요.
content 태그 내용은 CDATA 처리합니다.
<br> 태그가 아닌 줄 바꿈(\n) 글자로 줄 바꿈합니다.
<content><![CDATA[# 자바 6.0 이상을 설치합니다. # 3Rabbitz Book 설치 파일을 내려받습니다. # 3Rabbitz Book 설치 파일 압축을 풉니다. # 3Rabbitz Book을 시작합니다. # 설치 마법사를 실행합니다.]]></content>
태그가 아닌 <과 >과 & 문자는 <와 >와 &로 처리합니다.
<content><![CDATA[태그가 아닌 <과 >과 & 문자는 &lt;와 &gt;와 &amp;로 처리합니다.]]></content>
문자 유형
문자 유형은 html 태그로 처리합니다.
<content><![CDATA[리눅스 배포판과 버전에 따라 <strong>자바를 설치하는 방법</strong>이 매우 상이합니다. 그래서 자바 설치는 리눅스 배포판과 버전에 맞게 진행합니다.]]></content>
문자 유형별 html 태그는 다음과 같습니다.
문자 유형 | 태그 |
|---|---|
매우 강조 |
|
강조 |
|
코드 |
|
키보드 |
|
인라인 주석 |
|
아래 첨자 |
|
위 첨자 |
|
삭제 |
|
버튼 |
|
모든 태그는 소문자로 작성합니다.
교정 표시(삽입)는 ins 태그로 다음과 같이 작성합니다.
<content><![CDATA[리눅스 배포판과 버전에 따라 <strong>자바를 설치하는 방법</strong>이 매우 상이합니다.<ins title="dimdol" datetime="2013-10-29 오후 07:18">표현 수정</ins> 그래서 자바 설치는 리눅스 배포판과 버전에 맞게 진행합니다.]]></content>
ins 태그 title 속성으로 사용자 아이디를, datetime 속성으로 시간을 입력합니다. PDF에는 ins 태그 내용이 나타나지 않습니다.
콜아웃은 class 속성 값을 callout으로 하는 span 태그로 다음과 같이 작성합니다. 콜아웃 번호는 영어와 숫자로 두 자리 이하입니다.
<content><![CDATA[<<span class="callout">1</span> 비밀번호를 잊으셨나요?> 링크는 메일 서버를 설정해야 나타납니다.]]></content>
상호 참조 링크
상호 참조 링크는 class 속성 값을 reference로 하는 a 태그로 작성합니다.
<element id="a55eb73526dd33d5">
<properties>
...
</properties>
<references>
<reference id="678e01b6b60ba239" />
<reference id="e0ebe04cfcece052" />
</references>
<content><![CDATA[경우에 따라서 여러 장을 부<small>(Part)</small>로 묶기도 합니다. 자세한 설명은 <a class="reference" href="#678e01b6b60ba239">부 유형 장 만들기</a>를 참고합니다. 부 장에 대해서는 <a class="reference" href="#e0ebe04cfcece052">부 장</a>을 참고합니다.]]></content>
</element>다음 사항을 참고합니다.
UUID앞에 #을 붙인 값을href속성에 입력합니다.UUID는 참조하는 장 또는 제목, 그림, 표, 코드 단락 아이디입니다. 텍스트는 해당 장 제목이나 단락 내용으로 대체합니다. 그림과 표는 제목으로, 코드 단락은 코드 제목으로 대체합니다.UUID는 정해진 형식을 지켜야 합니다. UUID 만들기를 참고합니다.content태그 내용에서 사용한UUID를references태그 아래의reference태그의id속성으로 선언해야 합니다. 가져오면references태그에 선언한 아이디만 새 아이디로 바꿉니다. 선언하지 않으면 오류 없이 가져오지만 상호 참조 링크가 깨집니다.UUID값이 틀리면 다음과 같은 메시지가 나타납니다.
a태그 아래의 텍스트를 유지하려면 다음과 같이class속성에text를 추가합니다.reference다음에text가 와야 합니다.
<content><![CDATA[경우에 따라서 여러 장을 부<small>(Part)</small>로 묶기도 합니다. 자세한 설명은 <a class="reference text" href="#678e01b6b60ba239">부 유형 장 만들기</a>를 참고합니다.]]></content>
링크
웹 링크는 class 속성 값을 link로 하는 a 태그로 작성합니다.
<content><![CDATA[쓰리래빗츠 북을 설치하는 방법은 <a class="link" href="http://www.3rabbitz.com/book_installation_guide_2_0_ko">3Rabbitz Book 설치 가이드</a>를 참고합니다.]]></content>
메일 링크는 class 속성 값을 link로 하는 a 태그로 작성합니다. href 속성 값이 메일 형식을 지켜야 합니다.
<content><![CDATA[이메일: <a class="link" href="mailto:support@3rabbitz.com">support@3rabbitz.com</a>]]></content>
마크
찾아보기를 위한 마크는 다음과 같이 작성합니다. span 태그 내용 작성 방법은 다음을 참고합니다.
<content><![CDATA[본문<span class="mark index">본문</span>]]></content>
주석
주석은 다음과 같이 작성합니다.
<content><![CDATA[대부분의 입력 화면에서 <code>Enter</code><cite><span>맥 OS에서는 <<code>RETURN</code>> 키를 누릅니다.</span></cite> 키를 누르면 저장됩니다.]]></content>
단락 안 그림
내 컴퓨터에서 가져오기한 단락 안 그림은 img 태그 src 속성을 /r/image/get/UUID 형식으로 작성합니다. width와 height 속성은 생략할 수 있지만, 둘 다 설정해야 크기를 적용합니다.
<content><![CDATA[서식 지우기(<img src="/r/image/get/5d16c280f25771c4" width="16" height="15" />)를 클릭하면 문자 유형, 링크, 찾아보기, 주석 등과 관련한 설정이 모두 삭제됩니다.]]></content>
웹에서 가져오기한 단락 안 그림은 img 태그 src 속성에 그림 URL을 입력합니다. width와 height 속성을 함께 설정할 수 있습니다.
<content><![CDATA[서식 지우기(<img src="http://www.3rabbitz.com/resource/image/icon/google.png" width="16" height="16" />)를 클릭하면 문자 유형, 링크, 찾아보기, 주석 등과 관련한 설정이 모두 삭제됩니다.]]></content>
그림 단락
그림 단락은 유형에 따라 content 태그 내용이 달라집니다.
<element id="443a18d373962c3c">
<properties>
<property name="type" value="image" />
<property name="config"
value="{"mode":"file","caption":"명령 프롬프트 실행","width":400,"height":448}" />
<property name="creator" value="admin" />
<property name="create_time" value="1442796729053" />
<property name="update_time" value="1512633695361" />
</properties>
<content><![CDATA[0e545145c8560d4d]]></content>
</element>- 내 컴퓨터에서 가져오기
config속성mode값은file로 하고content태그에는 그림 파일 UUID를 입력합니다.config속성width와height에 그림의 원래 크기를 설정합니다.- 다른 그림 단락 참조
config속성mode값은reference로 하고content태그에는 참조하는 그림 단락 UUID를 입력합니다. 참조하는 그림 단락도reference모드이면 그림이 나타나지 않습니다.- 웹에서 가져오기
config속성mode값은url로 하고content태그에는 그림 URL을 입력합니다.- 웹에서 기타 요소 가져오기
config속성mode값은other로 하고content태그에는 코드를 입력합니다.- 동영상 클립
config속성mode값은clip으로 하고content태그에는 동영상 클립 UUID를 입력합니다.
그림 단락은 config 속성으로 다양한 설정을 할 수 있습니다. 자세한 사항은 element 태그 옵션을 참고합니다.
표 단락
표 단락은 content 태그 내용을 HTML table 태그로 작성합니다.
<element id="40ff94d01bb6c511">
<properties>
<property name="type" value="table" />
<property name="config" value="{"table_layout":"auto"}" />
<property name="creator" value="admin" />
<property name="create_time" value="1442796729053" />
<property name="update_time" value="1512633695361" />
</properties>
<content><![CDATA[...]]></content>
</element>table 태그 구조는 다음과 같습니다.
<table>
<caption>주요 서식</caption>
<thead>
<tr>
<th><div>항목</div></th>
<th><div>설명</div></th>
<th><div>예</div></th>
</tr>
</thead>
<tbody>
<tr>
<th><div>강조</div></th>
<td><div>강조가 필요한 단어 및 문장은 진하게 표기했습니다.</div></td>
<td class="to_center"><div><strong>강조</strong></div></td>
</tr>
<tr>
<th><div>코드, 파일 이름</div></th>
<td><div>코드, 명령어, 파일 이름 등은 고정폭 글꼴로 표기했습니다.</div></td>
<td class="to_center"><div><code>3RABBIZ_HOME</code></div></td>
</tr>
</tbody>
</table>이 예제에서는 읽기 편하게 하기 위해서 태그와 태그 사이에 줄 바꿈이나 들여쓰기를 했지만 실제로는 내용 부분을 제외하고는 줄 바꿈이나 여백이 있어서는 안됩니다.
표 제목은
caption태그에 작성합니다. 표 제목이 없을 때도<caption></caption>으로 설정해야 합니다.머리 행은
thead태그 안에 작성합니다.일반 행은
tbody태그 안에 작성합니다.바닥 행은
tfoot태그 안에 작성합니다.thead와tfoot태그 안에서는td태그가 아닌th태그를 사용합니다.tbody태그 안에서 제목 셀은th태그로 작성합니다.td와th태그 아래에div태그를 작성하고 그 안에 셀 내용을 작성합니다.td와th태그colspan과rowspan속성으로 셀을 병합할 수 있습니다.
<td colspan="2" rowspan="3"><div>...</div></td>
td와th태그class속성에 셀 정렬 방법을 설정할 수 있습니다.
정렬 | class 값 |
|---|---|
텍스트 왼쪽 맞춤 |
|
텍스트 오른쪽 맞춤 |
|
텍스트 가운데 맞춤 |
|
텍스트 양쪽 맞춤 |
|
텍스트 위에 맞춤 |
|
텍스트 아래에 맞춤 |
|
텍스트 중간에 맞춤 |
|
객체 단락
객체 단락은 다음과 같습니다.
<element id="82ec906ca55d930a">
<properties>
<property name="type" value="list_of_figures" />
<property name="creator" value="admin" />
<property name="create_time" value="1442796729053" />
<property name="update_time" value="1512633695361" />
</properties>
<content><![CDATA[]]></content>
</element>객체 유형은 다음과 같습니다.
단락 유형 | 값 |
|---|---|
차례 |
|
그림 차례 |
|
표 차례 |
|
코드 차례 |
|
용어집 |
|
약어집 |
|
찾아보기 |
|
자동 페이지 나누기 |
|
빈 페이지 |
|
여백 |
|
수평선 |
|
상자 시작 |
|
상자 종료 |
|
Float 하지 않기 |
|
레이아웃 페이지 |
|
디자인 페이지 |
|
다른 단락 포함하기 |
|
인라인 관련 문서 |
|
자바스크립트 모듈 |
|
웹 페이지 |
|
그림 차례, 표 차례, 코드 차례, 자동 페이지 나누기, 빈 페이지, 수평선, 상자 종료, Float하지 않기 객체는
type속성만을 설정합니다.차례, 용어집, 약어집, 찾아보기, 여백, 상자 시작, 레이아웃 페이지, 디자인 페이지, 다른 단락 포함하기, 자바스크립트 모듈, 웹 페이지 객체는
config속성으로 옵션을 설정합니다. 자세한 옵션은 element 태그 옵션을 참고합니다.디자인 페이지, 다른 단락 포함하기, 인라인 관련 문서, 자바스크립트 모듈 객체는
content태그에 내용을 입력해야 합니다. 찾아보기 객체는 See와 See also를 설정할 때만 내용을 입력합니다.
찾아보기 객체
찾아보기 객체 content 태그 내용은 다음과 같이 작성합니다.
<content><![CDATA[#see EJB=Enterprise JavaBeans KBS=_한국방송공사 #see_also EJB=Enterprise JavaBeans KBS=한국방송공사]]></content>
#see와 #see_also를 구분자로 See와 See also를 설정합니다. 구분자 아래 줄마다 용어=대상 형식으로 입력합니다. 작성 방법은 다음을 참고하세요.
디자인 페이지 객체
디자인 페이지 객체 content 내용은 해당 객체를 에디터로 작성하고 문서 내보내기를 한 후 해당 부분을 복사해서 사용합니다.
다른 단락 포함하기 객체
장 전체를 포함할 때 content 태그 내용에 _chapter를 접미사로 장 아이디를 입력합니다.
<content><![CDATA[753a019e8800743a_chapter]]></content>
절 아래 내용을 포함할 때 content 태그 내용에 _section을 접미사로 제목 단락 아이디를 입력합니다.
<content><![CDATA[08731c6e3f3d2ed9_section]]></content>
단락을 포함할 때 content 태그 내용에 단락 아이디를 입력합니다.
<content><![CDATA[0cc36d2992debc5f]]></content>
세미콜론(;)을 구분자로 content 태그 내용에 여러 단락을 입력할 수 있습니다.
<content><![CDATA[08731c6e3f3d2ed9_section;0cc36d2992debc5f;85e729a43cb8c5f4]]></content>
가져오면 content 태그에 입력한 장과 단락 아이디를 새 아이디로 바꿉니다.
인라인 관련 문서 객체
인라인 관련 문서 객체 content 태그 내용은 관련 문서 목록을 JSON 배열로 작성합니다. 항목마다 type에 chapter, part, element, page, library 중 하나를, id에 대상 아이디를 입력합니다.
<content><![CDATA[[{"type":"chapter","id":"753a019e8800743a"},{"type":"element","id":"0cc36d2992debc5f"}]]]></content>자바스크립트 모듈 객체
자바스크립트 모듈 객체 content 태그 내용에는 모듈 주소를 입력합니다.
image 디렉터리
image 디렉터리에는 images.xml 파일과 실제 그림 파일이 있습니다.
images.xml 파일
그림 정보를 담고 있는 파일입니다.
<?xml version="1.0" encoding="UTF-8"?>
<images>
<image id="03c05c5258f0529a">
<properties>
<property name="name" value="login.png" />
<property name="filename" value="03c05c5258f0529a" />
<property name="size" value="41010" />
<property name="content_type" value="image/png" />
<property name="creator" value="admin" />
<property name="create_time" value="1442796729053" />
</properties>
</image>
<image id="32d3f85c06356faf">
<properties>
<property name="name" value="settings.png" />
<property name="filename" value="32d3f85c06356faf" />
<property name="size" value="31904" />
<property name="content_type" value="image/png" />
<property name="creator" value="admin" />
<property name="create_time" value="1442796729053" />
</properties>
</image>
</images>property 태그 정보는 다음과 같습니다.
속성 이름 | 설명 | 필수 입력 |
|---|---|---|
| 그림 이름으로 올린 파일의 원래 이름입니다. | 예 |
|
| 예 |
|
| 예 |
| 그림 파일 유형으로 | 예 |
| 그림을 올린 사용자 아이디 | 아니오 |
| 그림을 올린 시간입니다. 가져오기에서는 사용하지 않습니다. | 아니오 |
다음 항목에 같은 UUID를 사용합니다.
image태그id속성그림
filename속성그림 파일 이름
매뉴얼웍스 서버에 UUID가 같은 그림이 존재하면 그림을 다시 저장하지 않고 기존 그림을 사용합니다. 그림 아이디는 가져온 뒤에도 바뀌지 않습니다.
그림 파일
그림 파일은 확장자 없이 UUID만을 이름으로 저장합니다.
UUID 만들기
그림 파일 이름을 포함한 모든 아이디는 16자리로 이루어진 고유한 문자열입니다. 소문자 16진수 문자로 이루어집니다. 다음은 이 UUID를 만드는 자바 코드입니다.
import java.security.SecureRandom;
public class UuidGenerator {
private static SecureRandom numberGenerator = new SecureRandom();
public static String generateUUID() {
byte[] randomBytes = new byte[8];
numberGenerator.nextBytes(randomBytes);
return toHexString(randomBytes);
}
private static String toHexString(byte[] raw) {
StringBuilder sb = new StringBuilder(2 * raw.length);
for (int i = 0; i < raw.length; i++) {
String hex = Integer.toHexString(raw[i] & 0xFF);
if (hex.length() == 1) {
sb.append('0');
}
sb.append(hex);
}
return sb.toString();
}
}config 속성 처리
book 태그와 chapter 태그와 element 태그에 config 속성으로 다양한 설정을 합니다.
<element id="40ff94d01bb6c511">
<properties>
<property name="type" value="table" />
<property name="alias" value="" />
<property name="config"
value="{"table_layout":"user","omit_caption":true,"table_layout_setting":"120,?,120"}" />
</properties>
<content><![CDATA[...]]></content>
</element>config 값은 다음과 같은 JSON 객체이지만 태그 속성으로 넣기 위해서 큰 따옴표를 "로 바꾸어 입력합니다.
{"table_layout": "user", "omit_caption": true, "table_layout_setting": "120,?,120"}옵션 값에서 true와 false는 따옴표 없이 입력합니다. 따옴표로 감싼 "true"도 같게 처리합니다. 중괄호 없이 작성한 이전 형식의 값도 가져올 수 있습니다.
book 태그에 설정할 수 있는 옵션입니다.
옵션 | 값 | 설명 |
|---|---|---|
| true/false 또는 생략 | 웹 뷰어에서 PDF 내려받기를 허용하지 않습니다. |
| true/false 또는 생략 | 웹 뷰어에서 EPUB 내려받기를 허용하지 않습니다. |
| true/false 또는 생략 | 웹 뷰어에서 HTML 내려받기를 허용하지 않습니다. |
| true/false 또는 생략 | 웹 뷰어에서 MS 워드 내려받기를 허용하지 않습니다. |
| true/false 또는 생략 | 권두 구성 페이지 번호로 아라비아 숫자를 사용합니다. |
| true/false 또는 생략 | 홀수 페이지에서 장을 시작합니다. 생략하면 true로 처리합니다. |
| HEADING[1~5] | 웹 뷰어 차례에 보여주지 않을 제목 단계를 설정합니다. 설정한 단계부터 아래 단계를 보여주지 않습니다. |
| CHAPTER_TITLE, HEADING[1~5] | 웹 뷰어 차례를 기본으로 열어 둘 단계를 설정합니다. |
| CHAPTER_TITLE, HEADING[1~5] | 웹 뷰어 첫 화면에 보여줄 차례 단계를 설정합니다. |
| true/false 또는 생략 | 제목 단락 다음에 들여쓰기를 합니다. |
| true/false 또는 생략 | PDF에서 모든 그림의 크기를 줄이지 않습니다. |
| true/false 또는 생략 | PDF에서 그림을 Float 하지 않습니다. |
| true/false 또는 생략 | 댓글을 지원합니다. |
| true/false 또는 생략 | 피드백을 지원합니다. 생략하면 true로 처리합니다. |
| true/false 또는 생략 | 공유하기를 지원합니다. 생략하면 true로 처리합니다. |
| true/false 또는 생략 | 뉴스레터 구독을 사용합니다. |
| true/false 또는 생략 | 검색어 추천 기능을 사용하지 않습니다. |
| true/false 또는 생략 | 검색 엔진의 접근을 막습니다. |
chapter 태그에 설정할 수 있는 옵션입니다.
옵션 | 값 | 설명 |
|---|---|---|
| true/false 또는 생략 | 편집할 수 없도록 하기 |
| true/false 또는 생략 | 장 번호 새로 매기기. 부 장에만 설정합니다. |
| 쉼표를 구분자로 web, pdf, epub, rag 설정 | 설정한 출력에서 장을 감춥니다. MS 워드는 pdf, HTML은 web 설정을 따릅니다. rag는 챗봇 학습에서 뺍니다. |
| HEADING[2~5] | 장 차례에 보여주지 않을 제목 단계를 설정합니다. |
| true/false 또는 생략 | 장 차례 숨기기 |
| true/false 또는 생략 | 장 번호를 매기지 않습니다. |
| true/false 또는 생략 | 검색 결과에서 제외합니다. |
| true/false 또는 생략 | 부록 장을 위한 부로 설정합니다. 부 장에만 설정합니다. |
| TAB | ACCORDION | OPENED_ACCORDION | BOX 또는 생략 | 절 모습을 설정합니다. |
| URL | 웹 뷰어 차례에서 장을 클릭했을 때 이동할 외부 주소를 입력합니다. |
element 태그에 설정할 수 있는 옵션입니다.
옵션 | 값 | 설명 | 적용 단락 |
|---|---|---|---|
| 쉼표를 구분자로 web, pdf, rag 설정 | 설정한 출력에서 단락을 감춥니다. EPUB과 HTML은 web, MS 워드는 pdf 설정을 따릅니다. | 모든 단락 |
| true/false 또는 생략 | 목록 다음에 오는 단락을 들여씁니다. | 모든 단락 |
| true/false 또는 생략 | 번호를 1부터 새로 매깁니다. | 순서 목록, 단계 단락 |
| auto: 자동 fixed: 고정 user: 설정 | 표 레이아웃. 생략하면 fixed로 처리합니다. | 표 단락 |
| 자세한 방법은 다음을 참고합니다. | 표 레이아웃이 user일 때만 설정합니다. | 표 단락 |
| file: 내 컴퓨터에서 가져오기 reference: 다른 그림 단락 참조 url: 웹에서 가져오기 other: 웹에서 기타 요소 가져오기 clip: 동영상 클립 | 그림 단락 모드 | 그림 단락 |
| true/false 또는 생략 | 제목 생략 | 그림/표 단락 |
| 그림 제목. 표 제목은 | 그림 단락 | |
| 그림 대체 텍스트. 생략하면 그림 제목을 사용합니다. | 그림 단락 | |
| 정수 | 그림 너비(픽셀 단위) | 그림 단락(file 모드) |
| 정수 | 그림 높이(픽셀 단위) | 그림 단락(file 모드) |
| left: 왼쪽 right: 오른쪽 또는 생략 | 그림 Float | 그림 단락 |
| true/false 또는 생략 | PDF에서 페이지 전환에 따른 그림 크기 줄이지 않기 | 그림 단락 |
| 그림 파일 UUID | PDF에 사용할 인쇄용 그림 | 그림 단락 |
| CHAPTER_TITLE: 장 HEADING1: 제목 1 HEADING2: 제목 2 HEADING3: 제목 3 HEADING4: 제목 4 HEADING5: 제목 5 | 표시할 차례 수준 | 차례 객체 단락 |
| 용어집 UUID | 용어집 객체 단락 | |
| 약어집 UUID | 약어집 객체 단락 | |
| letter_by_letter word_by_word | 찾아보기 정렬 기준. 생략하면 letter_by_letter로 처리합니다. | 찾아보기 객체 단락 |
| 정수 | 여백 높이 | 여백 객체 단락 |
| 상자 이름 | 상자 시작 객체 단락 | |
| half_title_page: 약표제지 title_page: 표제지 | 레이아웃 페이지 유형 | 레이아웃 페이지 객체 단락 |
| 설명 | 디자인 페이지/다른 단락 포함하기 객체 단락 | |
| 0: 조정하지 않음 1: 제목을 한 단계 위로 2: 제목을 두 단계 위로 -1: 제목을 한 단계 아래로 -2: 제목을 두 단계 아래로 | 제목 수준 조정 | 다른 단락 포함하기 객체 단락 |
| URL | 대안 URL. PDF, EPUB, MS 워드에서 모듈 대신 이 주소를 링크로 보여줍니다. | 자바스크립트 모듈 객체 단락 |
| 웹 페이지 UUID | 웹 페이지 객체 단락 | |
| TAB | ACCORDION | OPENED_ACCORDION 또는 생략 | 절 모습을 설정합니다. | 제목 1 단락 |
| true/false 또는 생략 | 제목 번호를 매기지 않습니다. | 제목 1 단락 |
| true/false 또는 생략 | 웹 뷰어 차례에서 하위 제목이 이 제목과 같은 앞부분으로 시작하면 그 앞부분을 빼고 보여줍니다. | 제목 1~4 단락 |
| C | C_PLUS_PLUS | C_SHARP | CSS | HTML | JAVA | JAVASCRIPT | TYPESCRIPT | JSON | JSP | JSP_DIRECTIVES | OBJECTIVE_C | PROPERTIES | PYTHON | RUBY | SQL | SWIFT | KOTLIN | XML | YAML 또는 생략 | 소스 코드 언어를 설정합니다. | 코드, 표 단락 |
| true/false 또는 생략 | 소스 코드 번호 매기기. 생략하면 true로 처리합니다. | 코드 단락 |
| 정수 | 소스 코드 시작 줄 번호. 생략하면 1로 처리합니다. | 코드 단락 |
| COLUMN_2 | COLUMN_3 또는 생략 | 정의 목록을 여러 열로 보여줍니다. | 정의 목록 단락 |
| true/false 또는 생략 | 단계 단락 다음에 오더라도 들여쓰기를 하지 않습니다. | 보통, 헤드라인, 코드, 명령어, 줄 바꿈 유지, 블럭 인용구, 권두 명구, 목록, 노트, 팁, 주의, 그림, 표 단락 |