1. 개요
TiddlyWiki(티들리위키)는 html파일 한 개로 이루어진 위키로 JavaScript를 이용해서 위키의 기능을 구현하는 위키이다. 위키의 기능은 다 갖추고 있으면서도 HTML 파일 딸랑 하나로 작동하는 혁명적인 구성을 자랑한다. 인스톨도 필요없다. 홈페이지에서 empty.html 파일을 다운로드받아서 거기다가 그냥 글을 쓰면 된다.2. 상세
위키의 기능이 html 내에 다 구현되어 있으므로 당연히 소스가 오픈되어 있다. 현존하는 가장 심플한 형태의 오픈소스 위키엔진이라고 할수 있겠다. 데스크탑에서 개인용으로 사용하는 것을 전제로 개발된 위키이므로 백업의 용이성과 단순함을 극단으로 추구한 위키라고 할수 있다.국내에서는 사용자 수가 적지만 서양권에서는 개인용 위키 중에서 가장 높은 인지도를 자랑한다. 설치파일도 필요 없고 그냥 html 파일 하나만 갖고 사용가능한 극도의 심플함이 그 비결로 보인다.[1] HTML5 가 적용된 Tiddlywiki5 버전으로 재작성된 이후 지금은 꾸준히 업데이트되고 있으며 사용자 커뮤니티도 활발하다. 현재 티들리위키라 하면 최신버전인 TiddlyWiki5 를 가리킨다.
html 만 받아서 그냥 웹브라우저에서 위키를 작성하면 되지만 웹브라우저 특성상 저장 등이 불편할수 있다. 개발자가 제공하는 전용 앱을 받아서 쓰면 편리한 사용이 가능하다. 티들리 데스크탑
데스크탑 전용이지만 플러그인을 설치하면 웹용으로도 사용할 수 있고, 이 엔진을 사용하는 서비스형 위키인 티들리스페이스나 티들리스팟에 가입해 위키를 할당받을 수도 있다.
도쿠위키와 마찬가지로 플러그인을 통해 기능을 확장시킬 수 있으며, 한글화 플러그인도 있다. 클래식 마지막 버전은 '2.8.0'. 한글화 플러그인은 2.6.2 기준이지만 무리없이 호환된다. 티들리위키 최신 버전은 5.1.10부터 한국어 번역 플러그인을 다운로드받아 사용할 수 있다.
생성할 수 있는 각 항목을 '티들러'라고 부르며 브라우저에 보여지는 모든 것을 이 티들러의 수정을 통해 커스터마이즈할 수 있다. 작성한 티들러에 SystemConfig 등 특수한 태그를 달거나 MainMenu 같은 제목을 달아 저장을 하거나 하는 방식. 구체적인 설정을 할 수 있는 옵션 페이지가 따로 존재하지 않고 수정하려는 티들러를 찾아 태깅을 하거나 내용을 바꾸는 식이기 때문에 입맛대로 커스터마이즈하기 위해서는 코딩이나 CSS 지식이 다소 필요한 편. 하지만 단순히 테마를 바꾸거나 기성 플러그인을 추가하는 것 정도라면 그저 자기 티들러에 기성 코드를 복붙하기만 하면 되기 때문에 단점이라고 하기는 미묘하고, 장점이라고 하기에도 난감한 편.
현재는 티들리위키 하면 자바스크립트로 구동되어 HTML5로 작동하는 TiddlyWiki5를 의미한다. 서비스형 위키 사이트 티들리스팟이 비공식적으로 TiddlyWiki5를 지원한다. Node.js를 사용하지는 않지만 Node.js와 통합시킬수는 있다. #
특징이 확실하고 장단이 뚜렷해서 호불호가 크게 갈리는 위키엔진이다.
3. 장점
- 나만의 위키위키를 만들기 위해 호스팅 상품을 이용하거나 별도의 서버를 구축할 필요가 없으며 설치 조차도 필요 없이 그냥 html 파일 하나 다운받으면 위키위키를 사용하기 위한 모든 절차가 끝난다.[2]
- 간편하고 백업이 쉽다.[3]
- 파일 하나에 모든 것이 다 들어간다. 즉 html 파일 하나로 자신만의 위키를 만들수 있다.
- 스크립트 없는 평범한 html 파일로 익스포트가 가능하므로 완성된 데이터는 티들리위키에 의존하지 않도록 만들수 있다.
- 플러그인을 통한 기능 확장이 가능하다.
- 여러가지 테마를 지원하며 CSS 편집을 통해 직접 수정할 수 있다.
- 플러그인, 테마 등 확장 기능의 추가가 용이하다.
- 위키 파일 자체에 이미지나 미디어, html을 임포트 하여 내장 할 수 있다.[4]
- USB나 웹 스토리지 서비스 등으로 휴대성이 보장된다.
- 깃허브 등의 서비스에 올려 놓고 공유를 할 경우 간이 홈페이지 용도로도 사용이 가능하다.
4. 단점
- 위키위키를 웹브라우저에 보여주기 위한 부분과 위키위키의 데이터베이스를 위한 부분이 분리되지 않고 단일 파일에 모두 존재하므로 일정 용량을 초과하면 로딩 속도가 느려진다.
- 문서 수정 내역, 네임스페이스 등 일반 위키로서의 기능은 미흡하다.[5]
- 위키 저장시 브라우저의 기본 다운로드 기능을 사용하므로 기존 파일을 덮어쓰는게 아니라 다운로드 폴더에 저장이 되는데 이런 방식은 불편하다 (다만 이것은 크롬 설정에서 다운로드시 파일 위치 지정을 해주도록 하여 해결 가능).
- 보안기능이 부족하다.[6]
- 다른 위키에서 기본적으로 있는 각주 및 목차[7] 기능은 별도로 지원하지 않고 플러그인으로 부분적으로는 구현 가능하나 타 위키에 비해 사용법이 까다롭거나 구현이 제한적이다
4.1. 해결된 문제
- 브라우저 호환성이 좋지 않다. 권장하는 브라우저는 크롬. 본래 크롬에서는 Import 플러그인이 제대로 동작하지 않는 버그가 있었고 공식 권장 브라우저는 파이어폭스였는데 2013년 1월부로 파이어폭스에서 에러가 나고 크롬에서는 정상적으로 동작하는 역변이 발생했다.
불여우 네이놈Internet Explorer에서도 저장이 되지 않는 치명적인 버그가 있었으나 2.8.0 버전에서 해소되었다. 상기한 파폭 문제도 공식홈페이지의 지침대로 하면 해결할 수 있다.영원히 고통받는 오페라 - 들쑥날쑥한 호환성 문제는 TiddlyWiki5에서 해결되었다.
- 드롭박스에서 Public 폴더에 넣어두고 웹으로 불러오면 서유럽어로 인코딩되는 매직이 발생한다.
- TiddlyWiki5에서 해결되었다.
- 사용자 이름 등 고급설정 플러그인을 통해 변경한 설정이 브라우저의 쿠키로 저장된다. 이 점은 티들리스팟 등 서비스형 위키에서도 마찬가지. 브라우저가 바뀌면 애써 설정해둔 것이 모두 무용지물이 되어버린다. 고정된 한 브라우저만 사용하는 것이 아니라면 고급설정 플러그인을 사용하지 말고 시스템 티들러를 불러와서 값을 직접 변경해줘야 한다.
- TiddlyWiki5에서 해결되었다.
- 모바일 사용이 불편하다. 일단 모바일 최적화 화면을 지원하지 않고, 공식 모바일앱이 없다.
- TiddlyWiki5에서 모바일 뷰를 지원하며 모바일 제스쳐를 제공하는 플러그인 설치도 가능하다. 다만 여전히 공식 모바일앱은 없고 iOS/iPadOS용 앱은 유료이며 Android 앱은 PlayStore에 올라온 것은 최신버전 안드로이드에서 사용할 수 없고, 제대로 동작하는 것은 PlayStore 밖에서 APK로 설치해야 한다.
5. 티들리 위키의 데이터를 저장하는 법
별도의 서버를 구축해서 구동하는 방식이 아니기에 티들리 위키에 데이터를 저장하는 방법은 다소 까다롭다. 참고로 아래의 방법은 주요한 것들만 추가하였으므로 그외의 방법들은 티들리위키 공홈의 정보를 참조하자. 아래 항목 중 굵게 표시된 것은 티들리위키 클래식도 지원을 한다는 뜻이다.
5.1. 로컬 데이터를 저장하는 방법 (PC)
내 컴퓨터의 하드디스크, SSD, 물리적으로 연결된 외장메모리 등에 있는 티들리 위키 파일을 이용 할때의 방법이다.- 인터넷 익스플로어 등의 브라우저를 이용하는 법 - 인터넷 익스플로어 등의 브라우저에서 위키 내용 수정 (저장)후 뜨는 '다른 이름으로 저장'창이 열릴때 기존 위키 파일을 덮어쓰는 방법이다. 하지만 매우 불편하다. 저장할 내용을 모았다 한번에 저장 할 수 없고 조그마한 편집이라도 생기면 다른이름으로 저장 창이 뜬다.
- 여러 브라우저에서 Timimi 플러그인 사용 - 크롬, 엣지 등의 브라우저 플러그인으로 Timimi를 설치하고 로컬 하드디스크 등에 저장된 티들리 위키 파일을 불러오면 변경 사항을 쉽게 저장 할 수 있다. 위 방법 보다는 간편하다.
- TiddlyDesktop 사용 - 크로뮴 엔진을 사용하는 Windows/Linux/macos용 프로그램으로 티들리위키를 보고 수정할 수 있다.
5.2. 로컬 데이터를 저장하는 방법 (모바일)
iOS/iPadOS에서는 무료앱이 없고 유료앱만 존재한다.- Andtidwiki (안드로이드) - 광고 버전과 3,200원의 유료버전이 있으나 과거 물리적인 메뉴버튼이 있던 안드로이드 버전에 맞추어져 있으므로 앱 설정 메뉴를 불러올 수 없다. 따라서 물리적 메뉴버튼이 없는 최근에는 쓰기가 부적합하다.
- Tiddloid (안드로이드) - Tiddloid와 Tiddloid Lite로 나뉘어져 있으며 안드로이드 플레이스토어에서는 구할 수 없고 APK파일로 설치해야 한다. 무료버전.
- Quine 2 (iOS/iPadOS) - # 한화 4천990원이며 '파일앱'을 지원한다 따라서 iOS/iPadOS를 사용하는 경우에는 iCloud Drive를 사용하면 Windows/MacOS iCloud Drive와 연동하여 여러 기기에서 동일 데이터를 쉽게 확인이 가능하다.
5.3. 원격 사이트에 올려진 티들리위키를 저장하는 방법
- WebDav 서버를 이용하는 방법 - WebDav 표준을 준수하는 WebDav서버에 티들리 위키 파일을 업로드 해 놓으면 별도의 설정이나 플러그인, 앱 필요 없이 브라우저 접속만으로 티들리 위키를 수정 할 수 있다. 안드로이드나 iOS 등에서도 WebDav 서버를 지원하는 앱을 이용하면 사용이 가능 하다. 단 공유기 등에서 지원하는 간이NAS기능의 WebDav 서버의 경우 공유기의 메모리 사용량이 높을 때 저장에 실패하는 경우도 있으니 유의
- TiddlyWiki Cloud - Dropbox에 티들리위키를 업로드 해 두고 이 사이트를 이용하면 어디서나 티들리위키 내용을 저장 할 수 있다.
- Tiddly Drive - 위의 사이트는 Dropbox용이라면 이쪽은 Google Drive용이다.
- TW-Receiver - PHP가 구동중인 서버에 TW-Receiver 관련 파일과 티들리위키를 업로드 해주고 티들리위키내에 TW-Receiver 플러그인을 설치후 활성해 주면 웹브라우저를 통해 저장이 가능하다. 원리는 서버에 올려진 TW-Receiver 파일에 사전 지정한 암호와 티들리 위키의 플러그인이 연결되는 것이다. 단점은 여러 기기에서 작업 할 경우 해당 브라우저 마다 티들리 위키의 플러그인에 가서 사전 설정된 암호를 입력해 주어야 한다. 안드로이드에서도 웹서버를 구동하게 해주는 앱을 이용하면 이 방식을 사용 할 수는 있으나 배터리가 빨리 닳는다.
티들리 스페이스 - 티들리위키를 웹에서 쓸 수 있는 서비스형 위키. 회원 권한, 페이지 권한 설정 등 오리지널이나 티들리스팟보다 풍부한 옵션 설정이 가능하며 미려한 자체 테마가 특징.2016년 말 서비스 종료를 했다.TiddlySpot - 티들리위키를 호스팅 해주는 사이트이다. 암호를 입력해야만 접근 할 수 있게도 가능은 하지만 보안면에서 취약하기에 개인 일기장, 비공개 정보를 다룰 목적이라면 비추천. 자체 제작 테마를 지원하며 개중에는 일정 관리에 특화된 테마도 존재.2021년 3월 서비스가 잠정종료되었다.- Tiddlyhost - 위 티들리스팟의 설립자가 새로 만든 사실상의 계승자다. 위 서비스와는 다르게 SSL을 지원하며 암호 복구기능이 추가되었다. 또한 TiddlyWiki 5를 공식적으로 지원한다.
6. 참조 사이트
링크들이 모두 영어로 되어있다.[1] 국내에서는 도쿠위키, 미디어위키와 함께 자주 거론되는 위키엔진 중 하나였으나 현재는 인지도가 많이 내려갔다. 현재는 다른 개발자가 이어받아 작업하는 Tiddlywiki5가 쓰이며 과거의 버전은 클래식 버전으로 불리는데 클래식 버전이 2013년경부터 업데이트가 되지 않은 것이 원인일 수도 있다. 아니 애초에 위키를 사용하는 국내 사용자 수가 거의 전멸상태라 이건 의미가 없을 수도...[2] 다만 데이터 저장의 편리를 위해 별도의 프로그램을 설치해야 하기는 하지만 서버를 구축하고 그 위에 구동되어야 하는 다른 설치 위키위키에 비하면 매우 편리하다.[3] DB백업이니 설정파일이니 이런건 몰라도 그냥 파일 하나 압축해서 어디다 보관하면 끝이다.[4] 단 두자릿수 이상의 메가바이트 용량의 파일을 임포트하거나 너무 많은 파일을 임포트하면 위키 자체가 느려지고 새로운 티들러의 생성이나 티들러 에디트 등이 느려지기에 주의가 필요하다.[5] 예컨데 다중사용자를 공식적으로는 지원하지 않고 여타 공개 위키와 같은 제3자가 위키를 수정하고 이것이 실시간 반영되는 기능은 없다.[6] 티들리5 기준으로 암호화 플러그인이 있기는 하지만 초보적인 수준이며 마음먹고 달려들면 충분히 복호화가 가능한 정도라 큰 기대를 할 수 없다.[7] tag설정을 해서 해당하는 각 티들러의 제목만 나열하는 식으로는 구현가능