June 15, 2020

위키 업데이트

위키를 업데이트했다. 기존에는 Dokuwiki 기반의 사이트였는데, 이번에 블로그와 같이 hugo를 사용하기로 했다. 도쿠위키, 생각해보면 도쿠위키가 진짜 애매한 것이 아닌가 싶다. 파일 기반으로 위키를 관리하면서 정적 페이지도 아니고, 그렇다고 뭔가 현란한 기능이 있는 것도 아니고.

처음에 위키를 만들 때 어떤 솔루션으로 할지 신중하게 고민했던 기억이 있다. 그러면서 어떤 것이 장점이 되고 단점이 될지 여러 위키 엔진을 비교하며 결정을 했는데, 그 때 도쿠위키를 선택한 이유는 크게 이런 이유들이었다.

  1. 파일 기반이라 데이터베이스가 필요없다
  2. php기반이므로 잡다한 권한 관리가 될 것이다

블로그를 hugo로 변경하니, 위키도 정적 페이지로 만들어볼만 하겠다는 생각이 들었다. 파일 기반으로 위키를 만들 것이면서 굳이 php를 사용할 필요가 있나 싶은 것이다. 데이터베이스에 접근하는 것도 아니고, 그렇다고 뭔가 리치 텍스트나 복잡한 내용을 쓰는 것도 아니고. 거기다 플러그인을 통해 작성도 마크다운으로 했으니까, 생각해 보면 굳이 사용할 필요가 없었던 것. 또 복잡한 권한 관리가 가능하지 않을까 싶었는데, 애초에 나에게는 권한 관리가 필요 없었던 것이다.혼자 작성하는데.

hugo에서 제시하는 여러 설치 가능한 테마들은 주로 블로그 느낌이 나는 테마들이 많았다. 어떤 것을 선택해서 수정하면 위키처럼 보이게 할 수 있을까 싶어 이런저런 것들을 살펴보다 보니 m10c라는 테마를 선택했다. 일단 어두운 테마가 마음에 들었고, 적당히 심플해서 느낌이 좋다.

이 테마는 왼쪽의 사진 등이 들어가는 공간이 나에게는 전혀 필요가 없었으므로, 이런저런 시도를 해 보며 hugo에 대한 학습도 병행했는데, 이게 생각보다 꽤 깊이가 있고, 고민한 흔적이나 다른 느낌이 매우 괜찮아서 마음에 든다. 정적 페이지를 만들어주는 다른 툴을 써보지는 않아서 비교는 못하겠지만, 생각보다 매우 괜찮지 않나? 하는 생각이 든다.

이를테면 오버라이드를 통해 원 테마를 변경하지 않고도 변경점을 만든다거나, partial 템플릿을 통해 통해 테마를 덮어씌울 수 있는 부분 등이 마음에 들었다. 특히 문서도 잘 되어있어서 오버라이드의 순서라거나 적당한 예제 등만 확인해도 가볍게 코드를 수정할 수 있었다는 말이다. 거기다 go-template을 통해 여러 변수를 사용하여 처리하는 부분도 꽤 마음에 들었다. 물론 go-template 자체를 별로 좋아하지는 않지만.

덕분에 기존 블로그 시스템 배포 이외에도 위키 시스템의 배포를 위해 이런저런 코드 수정이 있었으므로, 이렇게 이번 주말은 위키 업데이트를 위해 사용했다.