도쿠위키 업그레이드 후에도 계속 글이 나올 때

도쿠위키에 자동 업그레이드 기능이 추가되어서 매우 편하다.

하지만, 가끔 업그레이드를 했는데도 계속 알림글이 출력되는 경우가 있는데…

다음과 같이 하면 된다

  1. doku.php를 살작 건드린다.. (doku.php 파일의 날짜를 확인하기 때문에 주석에 공백이라도 한칸 넣고 다시 저장하면 된다.)
  2. 캐쉬 폴더의 data/cache/messages.txt 파일을 삭제한다.

즐거운 도쿠위키 생활 합시다.

Osx 2014 12 13 오전 12 07 43

왜.. 도쿠위키 였지?

왜 도쿠위키를 쓰게 되었나를 가만 생각해보니…

당시에 게임 공략 블로그질을 하려다가, 위키! 라는 것을 알게되어

위키스페이스 에 열심히 정리했었는데,
뭔가 불만이 생겼었나보다… (기억이 잘 안난다…)

암튼, 설치형 위키를 알아보다가

모니위키 는 설치가 잘 안되었던 것 같고,
미디어위키 는 설치는 잘 되었었는데, 좀 많이 느렸었다.

jspwiki 는 깔끔하긴 한데, 자바였나 그래서, 호스팅에 올리기가 어려웠고, xwiki 는 지금 만큼 번창하지 않았을 때인데가 위키 자체라기 보다, cms 성격이 강해서 제끼고… phpwiki는 템플릿도 없고 뭔가 부실…

결국 설치 쉽고, 반응 빠른 도쿠위키… 게다가 자료구조가 텍스트 파일 형식이라, 이전의 위키스페이스의 내용을 가져오기도 쉬웠다.

이후에 관리도 그냥 notepad++를 이용해서 파일에서 찾기 & 바꾸기 이런식으로

결국 도쿠위키 5년차가 되었다.

(잡) 도쿠위키 관련 아이디어 두 개…

네임스페이스 별명

네임스페이스가 game 이렇게 되면 영어로 페이지이름을 치면 편한데,

game:몬스터길들이기

페이지이름이 한글이면 중간에 한영전환을 해야 하니 귀찮다.

그렇다고,

게임:몬스터길들이기

이런식으로 하면 네임스페이스가 두개가 되잖아.

중간에 가로채서 무조건 게임->game 혹은 반대로 바꿔버리도록 하면
어떨까….

내부적으로 변환하는 것이니 도쿠위키에서 페이지 중복문제는 없을 것이다.

페이지이름에도 plural form을 같은 링크로 변환하는 것이 있으니 가능할 것 같다.

다른 사이트 내용 가져오기

include플러긴은 같은 위키의 다른 페이지의 내용을 불러와 표시할 수 있다.

이것을 약간 확장하여, 다른 사이트나, 다른 위키의 내용을 표시한다면 어떨까?

다른 위키 중 소스보기를 지원하는 것들은 쉽게 될 것 같고,

블로그나, 웹사이트의 경우 내용만이라도 불러와서 표시하면 ….

도쿠위키 필수 플러긴 컨플릭트머저(리) [CONFLICTMERGER]

도쿠위키 쓴 지 5년인데, 거의 혼자 쓰느라 별 필요성을 못느꼈다가 최근 일워에 발을 들였다가 된통 당하고 …

도쿠위키, 모니위키, 미디어위키의 장단점을 알아보다가, 깔게된 (!) 플러긴이다.

위키는 여러명이 같이 작업을 하는 것이 특징인데, 작업을 하다보면 같은 문서를 동시에 여러명이 수정하는 경우가 생길 수 있다. 이미 미디어위키나, 모니위키는 여럿이 사용하는 위키백과엔하위키 때문에 이러한 편집충돌 문제가 많이 발생 했을 것으로 보인다.

미디어 위키는 이러한 충돌을 자동으로 해결할 수 있는 기능이 일찍부터 있었고, 모니위키도 해당 기능이 추가되어 있다.

도쿠위키는 원래 한사람이 편집 중이면 다른 사람은 건드리지 못하게 하는 기능이 있지만, 플러긴을 사용해서, 한꺼번에 여러 사람이 편집하고, 수정된 부분을 지능적으로 골라 합치도록 할 수 있다.

플러긴이름은 충돌합병기( Conflict merger) 사이트는 이곳 이다…

우분투의 경우 플러긴 매니저를 이용해 플러긴을 깔고 설정-> 잠금시간* 을 “0”으로 해주면 된다.

윈도서버의 경우 diff3를 깔아야 하므로 플러긴 홈페이지를 확인하기 바란다.

다중사용자를 염두에 둔 도쿠위키 사이트라면 당연히 설치해야 한다.

크레올레 탈출하기… 도쿠위키…

도쿠위키 ( vaslor.net/tech/doku…😉 에서 제목을 나타내려면 두개이상의 ‘=‘로 둘러싸면 된다. 

 

에를 들자면…

 

====== 도쿠위키 ======

 

반면에, 도쿠위키의 크레올레( vaslor.net/tech/creo…😉 문법은

제목을 나타내는 === 을 앞에만 해도 된다. 

 

즉, 

 

====== 도쿠위키 크레올레

 

쓰다보면 편하긴 한데,

호환성에서 문제가 생길 수 있다. 

 

저장 할 때 검사하여

앞에만 = 가 있으면 같은 개수 만큼 뒤에도 붙여주도록 해보았다.

 

function register(&$controller)
{
$controller->register_hook(‘IO_WIKIPAGE_WRITE’, ‘BEFORE’, $this, ‘codebutton__headercheck’);
}

function codebutton__headercheck(&$event, $args) {

global $ID;
$lines=explode(“\n”,$event->data[0][1]);
$modified=false;
foreach ($lines as &$line ) {
$num=substr_count($line,”=”);
if ($num>0 ) {
if (substr_count(substr(trim($line),0,$num),”=”)==$num) {
$line.=str_repeat(“=”,$num);
$modified=true;
}
}
} unset($line);

if ($modified) $event->data[0][1]=implode(“\n”,$lines);
return ;
}

 

이런 식이다.

 

 

 

 

 

도쿠위키, OSX, 유니코드 (젠장!)

음.. 따져보자….

  1. 도쿠위키는 자료저장에 DB를 사용하지 않고, 파일을 사용한다.
  2. OSX는 파일을 저장할 때 파일이름에 일반적인 유니코드 UTF-8(Unicode NFC) 를 사용하지 않고, 조금 다른 (그러나 역시 표준인) 유니코드  UTF-8-Mac (Unicode NFD) 를 사용한다. (그냥 문서작성에는 상관없다.)
  3. 한글은 유니코드로 표시된다. 


따라서 엿같은 문제가 발생한다.

(문서작성은 상관 없고, 파일 업로드 할 때 문제…)

일반적인 웹에서는  UTF-8-Mac (Unicode NFD) 도 그냥 유니코드로 인식하므로, 그냥 별다른 에러나 경고 없이 작동된다. 

하지만, 명백히 다른 코드로 글자가 표시되므로, 검색이나 파일 참조 시 파일이 없다(!) 라는 식의 문제가 발생한다. 


php에는 normalizer::normalize라는 함수가 있어 해결이 가능하지만, 어디를 뜯어 고쳐야 하는지, 소스를 다 들여다 봐야하는 상황이 생겨 버렸다.


이런 문제는 파일시스템(도쿠위키)+이상한 유니코드(맥)+ 한글 이라는 특수하고 희귀한 조합에서 발생하므로, 레퍼런스도 없고.. 이게 뭐람;;;


젠장.

—————–

 
해결했다…

vaslor.net/tech/unic…

 

부트스트랩을 사용한 반응형 티스토리 스킨…

 

 

반응형(Reactjve)이라는 것은  브라우져 화면의 가로폭과 같은 사이트의 보는 이의 조건에 따라 스킨이 자동 조절되는 것을 말합니다.

 

도쿠위키의 앙구아 버전에 포함되어 있는 새 스킨에도 그런 기능이 들어가 있는데, [부트스트랩](vaslor.net/tech/boot…)을 이용하면 비교적 쉽게 구현이 가능합니다.

 IE에서는 잘 작동이 안되는 것 같습니다.(FIXME!)

조건부로 공개된 티스토리 스킨이 있습니다. 

[웹디자인 포토샵 :: 부트스트랩을 이용한 티스토리 모바일 겸용 블로그 ](martian36.tistory.co…)

 좋네요.