02 August 2015

개요

mdwiki는 mdwiki.html파일 하나만 있으면 markdown(.md)형태의 파일을 html페이지로 바로 보여준다. 신기한 것은 서버사이드의 작업 전혀 없이 JavaScript, css등으로 모든 것이 처리된 다는 것이다. 발견하고 테스트 좀 해보고 나서 바로 MediaWiki를 버렸다 >_<

MediaWiki 컨텐츠를 MarkDown문서로 변환하기

MediaWiki문서 내용을 문서간 변환 유틸리티인 Pandoc을 이용해서

#!/bin/sh

doclist=("$(ls *.txt)")



for i in ${doclist[@]}
do
	pandoc -s -S -f mediawiki -t markdown $i -o $i.md
done

적당히 스크립트 하나 만들어서 전체 문서들을 모두 markdown문서로 바꾸고, mdwiki에서는 markdown문서의 파일명이 중요하기 때문에 파일명들을 조금씩 수정해줬다(파일명이 한글인 경우 영어로 바꿈). 그리고 문서 내용 안에 다른 wiki 문서로 링크가 연결된 경우 다 개별로 수정해 주었다.

주의할 점

  • 최상단 메뉴
    • 최상단 메뉴는 markdown문서로 처리하므로 해당 파일을 적당하게 만들어줘야 함.
  • 환경 설정 파일 config.json
    • config.json이라는 이름으로 된 파일을 기반으로 환경 설정을 처리하게 되어 있는데 이 파일이 없는 경우 해당 파일을 요청한 후에 늘 response status code = 404를 보게 되므로 빈 파일이라도 넣어줘야 성능에 좋다.
  • mdwiki.html vs mdwiki-slim.html
    • mdwiki.html은 파일 안에 필요한 js, css 등이 모두 포함된 형태이고, mdwiki-slim.html은 필요한 js, css를 cdn으로 부터 가져오게 된다. bootstrap, highlight js/css의 경우 http://bootstrapcdn.com, http://yandex.st로 부터 가져오게 되는데, 한국 기준에서 yandex.st가 너무 느려서 그냥 mdwiki.html을 사용하게 되었다.
  • 사이트 확인
    • 파이어폭스에서만 file URL로도 사이트가 제대로 로드가 되어 사이트에 올리기 전 확인이 가능했다.. 테스트한 버전은 31.0

사용평

아무래도 모든 처리를 클라이언트 사이드에서 하다 보니 좀 느린 면이 있지만, 한번 mdwiki.html파일이 로드되고 브라우저에서 캐시를 하면 큰 문제는 없는 것 같다. 그리고 gimmick를 이용하면 공지사항, Github/Facebook/Twitter/Youtube 연동 등 여러 추가 기능들을 사용할 수 있다. 또한, Github에서 사용하던 markdown문법을 그대로 사용할 수 있는 부분은 정말 최고다!!

관련 URL

http://www.mdwiki.info