svn : http://svn.mightypirates.de/megazine/
Megazine3란?
그동안 많은 e-book을 만들어 왔지만, 오픈소스로 만들 생각을 못하고 있었는데 역시 외쿡 사람은 잘한다는 걸 또 한번 느낀
오픈 소스입니다. 소스 까보니까 그닥 잘 만들진 않았지만, 구조 하나만큼은 쉽게 쓸 수 있게 잘 만들었네요.
이틀이란 시간 내에 e-book을 구현해야 할 상황에서 이것을 쓴 덕분에 깔끔하게 처리했습니다.
http://megazine.mightypirates.de 에 잘 설명되어 있지만, 영어로 씨부려논 관계로 제가 기본적인 사용에 대한 설명을 좀
덧붙이겠습니다.
Megazine3의 특징
Simplicity - 간편함
Megazine3 의 주요 목표 중 하나는 사용의 용이함을 제공하는 것이다.
Megazine3은 자동으로 모든 개별 페이지로 건너뛸 수 있는 컨트롤 바를 생성한다.
그것은 또한 유저들이 쉽게 페이지를 찾을 수 있도록 페이지에 대한 썸네일들을 생
성한다. 북을 셋팅하는 것이 간편하다. 직관적인 XML 구조가 북의 컨텐츠들을 제어
하곤 한다. 당신의 파일들의 정당성을 확인할 수 있도록 더욱 향상된 도큐멘트
타입 정의를 제공한다.
Deep Linking
Megazine3은 SWFAddress를 완벽히 지원한다. 자바스크립트 라이브러리는 플래시 무비의 깊은 링크를 허용한다.
이 방법은 페이지들을직접 링크할 수 있도록하는 방법이다. 그리고 책 안에서 방문했던 페이지들을 뒤로 이동하는
브라우져 히스토리를 사용한다.
Control Bar - 컨트롤 바
페이지 아래 컨트롤 바는 직접 모든 페이지에 갈 수 있게하는 버튼들과 함께 자동으로 채워진다.
많은 페이지들이 존재한다면, 버튼들은 생성된 다중 열들 중 하나의 열로 맞춰지지 않을 것이다.
그리고 컨트롤 바는 마우스 오버에 확장된다. 이것은 간결하지만, 모든 페이지 어드레싱에 완벽한다.
Page Caching - 페이지 캐싱
"많은 페이지"의 주제 : 페이지 수가 정해진 한계(이 값은 수동으로도 설정할 수 있다.)를 초과
했다면 모든 페이지가 동시에 메모리상에 로드되지 않을 것이다. 이것은 페이지의 어떤 수를 가
지고 있는 북을 위한 상수와 낮은 메모리 공간의 대부분을 의미한다.(단지 정확히 로드된 페이지
들에 의존한다.) 페이지들이 로드된 페이지의 간격을 돌 때 업데이트 될것이고, 필요없는 페이지
들은 언로드 될 것이며, 새로운 페이지들이 로드될 것이다.
Usability - 사용성
언급한 것과 같이 MegaZine3은 사용의 편리를 제공하려 노력한다. 앤드유저를 위해 이것은 많은
작은 도움들을 의미한다 : 다른 커서 이미지들, 페이지 영역 안에 보이는 커서는 드래그 될 수 있다.
(또는 돌거나 클릭에 의해), 모든 GUI 요소를 위한 툴팁들은 몇 기본적인 기능을 설명한 헬프 메뉴와
마찬가지로 이루어져 있다.
Element System - 엘리먼트 시스템
독특한 엘리먼트 시스템 MegaZine3 특징은 페이지에 대해 어떤 수라도 엘리먼트들을 정의하는 것
을 가능하게 한다. 기본적인 엘리먼트들은 이미지, 플래시 무비, 비디오, 사운드와 그 이상을 포함한
다. 때문에 MegaZine3은 내부 이벤트의 사용을 허용하는 당신의 엘리먼트 타입을 작성할 수 있는
오픈 소스이다. 매우 쉬운 형태안에서 여러 이미지와 비디오로부터 페이지를 만드는 것을 허용하는 페이지에 대해 다중 엘리먼트를 가진다.
The XML and Internal Linking - XML과 내부 링크
XML 구조는 북의 실제 구조와 매우 유사하다: 북 엘리먼트를 둘러싸고 있는, 페이지들을 도는 챕터를 포함하는.
페 이지들은 각각의 엘리먼트들을 포함한다. 페이지들의 배경 색깔과 같은 몇 셋팅은, 기본 E.g 를 상속받았다. 챕터안의 페이지 컬러 셋팅은 그 컬러를 지니고 있는 챕터 안의 모든 페이지들을 만든다. 페이지들은 또한 투명화될 수도 있다. 클릭된 url을 항해하는 이미지 또는 다른 엘리먼트들을 설정할 때, 다른 페이지들로 이동해 북 자신에게 또한 항해하는 것을 가능하게 한다. 이것은 바뀔수 있는 페이지 번호를
사용하는 불필요함을 만든다. - 이것은 앵커들을 정의하는 것을 가능하게 한다. 앵커는 의존되는 챕터 또는 페이지들을 위한 이름이다.
Localization
MegaZine3에 의해 생성된 북들은 쉽게 로컬라이즈 할 수 있다. 뿐만 아니라 GUI 툴팁들은 어떤 언어로든(언어 파일들을 사용하는) 설정될 수 있다. 그것은 또한 엘리먼트들과 로컬라이즈를 위해 타이틀들을 설정하는 것도 가능하다. 그것은 언어로 이미지, 사운드 그리고 비디오를 묶는 것도 가능하다. 언어는 컨트롤 바의 컴팩 메뉴를 거쳐 어느 때에도 변경될 수 있다; 북은 완전히 리로드되지 않고, 오직 필요한 부분만 업데이트된다. 모든 XML 파일들은 UTF-8이 지원되는 어떤 언어의 로컬라이제이션이 인코드된 UTF-8이 되야 한다.(중국어, 일어, 러사안어...). GUI는 이미 여러 언어로 변경되었을 것이다 . 로컬라이즈 된 파일들은 이 포럼에서 다운로드 받을 수 있다.
Zoom Images
모든 이미지 엘리먼트는 이미지안에 줌버튼이 클릭될 때 표시될 다른 이미지 또는 swf에 추가적인 url을 가질 수 있다. 링크된 이미지는 같은 이미지의 고해상도 이미지이다.
줌모드에서 이미지의 섬네일은 이미지가 디스플레이 영역보다 크다면 상단 오른쪽 코너에 보여진다.
이 썸네일은 볼수 있는 영역에 드래그 될 수 있다.
Gallery Functionality - 겔러리 기능
고해상도 이미지들은 줌모드로 머무는 동안 줌된 이미지 사이에 바뀌게 허용된 갤러리로 결합될 수 있다. 만약 이미지가 갤러리의 부분이라면, 두 개의 버튼은 갤러리 네비게이션이 허용된 영역의 섬네일 안에 표시될 것이다.
해석이 더럽더라도 이해해 주시기 바랍니다. 한번쯤 사용해 볼만한 오픈 소스네요.ㅋ
[출처] e-book 오픈소스 Megazine3|작성자 김광현