본문 바로가기

World Wide Web/위키 엔진 개발기

(2)
[위키 엔진 개발기] 1. 렌더러 개발 - 시작과 redirect 사실 다른 기능부터 먼저 만들긴 했는데, 나무마크 렌더러에 대해서 먼저 써 보려고 한다. 사실 이걸 내 손으로 다시 만들게 된 이유는 시중에 돌아다니는 렌더러 코드 중 제대로 작동하는 게 없어서 그렇다. 그래서 앞으로 하게 된 삽질들이 여기 기록될 예정이다. 목표는 나무위키;문법 도움말을 넣고 돌렸을 때 문제없이 출력되는 것. 참고로 PHP다. 시작 일단 여느 렌더러처럼 클래스를 활용하기로 했다. 대략 NamuMark라는 상위 클래스 속에 필요한 함수들이 들어 있는 방식이다. public function __construct($txt){ $this->wikitext = $txt; $this->heading_tags = [ '/^====== (.*) ======$/' => ['level' => 6, 'fo..
위키 엔진 개발기 - 0. 시작하기 전에 최근 위키에 관심을 가지면서 openNAMU, 미디어위키, 리버티엔진 등을 사용해 보았는데, 자유도 자체는 미디어위키가 가장 높았던 것 같다. 이 참에 나도 위키 엔진 하나쯤 만들어 보면 어떨까 싶었다. 그냥 만들어 보고 싶은거다. 미디어위키와 동일한 PHP로 제작할 예정이며, 나무위키 문법을 기본값으로 지원할 생각이다. 잘 되면 깃헙에 올리고 아니면 뭐... 개발환경은 PHP8.0이고 권장사양은 PHP7.3 이상으로 잡으려 한다. 나름 커스텀 스킨도 지원하고 확장 기능이나 미디어위키, 리버티엔진 등에서 데이터 이식하는 것까지도 지원해 볼 생각이다. 결국 목표는 이거다. PHP로 만든 나무위키같은 미디어위키. 이 시리즈가 위키 엔진을 개발하고자 하는 많은 이에게 도움이 되길 바란다.