the tree(r50 Blame)

r50
r47
1[[분류:the tree]][include(틀:접근 제한, 문서명=the tree)]
r1

(새 문서)
2[include(틀:위키 엔진)]
r46
3||<-2><table align=right><tablewidth=400><tablebordercolor=#251f48><tablebgcolor=transparent><colbgcolor=#251f48><colcolor=#fff> '''{{{+3 the tree}}}[br]더 트리''' ||
4||<width=25%> '''종류''' ||[[위키 엔진]] ||
5|| '''주요 언어''' ||Node.js ||
r1

(새 문서)
6|| '''지원 문법''' ||[[나무마크]] ||
7|| '''지원 언어''' ||[[한국어]] ||
8|| '''개발자''' ||[[https://github.com/wjdgustn|정현수]] ||
r2
9|| '''라이선스''' ||비공개 ||
r45
10|| '''최신 버전''' ||v3.0.0 ||
r46
11|| '''웹사이트''' ||[[https://github.com/wjdgustn/thetree|[[파일:GitHub 아이콘 light.svg|width=25&theme=light]][[파일:GitHub 아이콘 dark.svg|width=25&theme=dark]]]] | [[https://testwiki.hyonsu.com|테스트위키]] ||
r1

(새 문서)
12[목차]
13[clearfix]
14== 개요 ==
r43
15[[the seed]]를 모방하여 만든 위키 엔진.
r1

(새 문서)
16
17== 역사 ==
r7
18 * 2024년 11월 7일: 첫 커밋이 올라왔다.
19 * 2024년 12월 28일: 코스모피디아에 적용되며 사용되기 시작했다.
20 * 2025년 1월 17일: 위키 엔진 개발자가 군소위키 마이너 갤러리에 글을 남기고 테스트위키가 개장되었다. [[https://gall.dcinside.com/mgallery/board/view/?id=smallwiki&no=1990| ]]
r8
21 * 2025년 1월 22일: the tree 엔진이 공개되었다.
r18
22 * 2025년 1월 27일: the tree 커밋이 1000개를 돌파하였다.
r49
23 * 2025년 1월 31일: 플러그인이 추가되었다. 자세한 내용은 특징 탭 참고.
24 * 2025년 4월 27일: 버전이 2.0.0으로 올라오면서 엔진인 백엔드와 프론트엔드가 분리되었다. 분리된 이유는 [[the seed]]와 같이 프론트엔드가 vue로 전환되었기 때문이다. 이번 업데이트로 구 스킨의 지원이 끊겼다.[* 그렇다고 바로 종료되지는 않았다. 지금은 사용할 수 있으나, 신규 기능을 못 쓸 수 있으며 오류가 발생해도 패치는 없을 예정이다. 따라서 공식 스킨을 사용하지 않는다면 vue로 전환해야 한다.]
r39
25 * 2025년 5월 4일: 개발자 지원 시스템이 추가되었다. 위키에 문제가 생겼을 경우 개발자가 개입할 수 있는 기능으로, 혼자 해결 가능하다면 config에서 비활성화가 가능하다. 추가로 알림 시스템과 감사 로그, 소유자 알림 시스템도 추가되었다.
r49
26 * 2025년 5월 11일: 편집기 플러그인이 추가되었다.
27 * 2025년 6월 26일: 새로 작성한 파서가 적용되며 3.0.0으로 판올림되었다.
28 * 2025년 7월 11일: 커스텀 페이지 플러그인이 추가되었다.
29 * 2025년 7월 20일: Meilisearch가 없어도 작동되도록 업데이트 되었다. 이에 따라 서버 사양이 좋지 않아도 MongoDB만 돌릴 수 있다면 위키를 원할하게 구동할 수 있게 되었다.
r1

(새 문서)
30
31== 특징 ==
r5
32 * 코스모피디아에서 openNAMU의 단점 때문에 대체할 위키 엔진을 만들기 위해 만들었다. 그렇기에 다른 엔진을 보고 참고하지 않고 제로 베이스로 만들었다고 한다.
r1

(새 문서)
33 * [[오픈나무]] 파서는 특정 문서 렌더링이 7초씩이나 걸리는데, 렌더링되는 동안 다른 유저들은 문서를 열람할 수 없는 큰 문제 때문이라고 한다.
34 * 다른 파서의 라이선스가 GPL이라 포기하였다고 한다.
r48
35 * 하지만 the tree도 파서가 동기 형식이기 때문에 위키가 혼잡해질 경우 서버 증설을 해야한다.
r5
36 * [[the seed]] 완전 모방보다는 실 사용을 위한 위키 엔진이 목표이기 때문에 이미 the seed와 다르게 구현한 부분도 존재한다.
r39
37 * 예를 들면 순정 the seed에는 존재하지 않는 멘션 알림, 소유자만 받을 수 있는 알림 등이 있다.
38 * 엔진 개발자가 해당 위키에 접근할 수 있는 기능이 포함되어 있다. 혼자 해결 가능하다면 config에서 비활성화가 가능하다. 자세한 내용은 README.md 참고하자.
r37
39 * 위키 엔진은 Node.js로 이루어져 있으며, DB와 검색 엔진을 추가로 설치해야 한다. DBMS는 MongoDB를 사용하고, 검색 엔진은 Meilisearch를 사용한다.
r48
40 * 검색 엔진은 필수가 아니기 때문에 없어도 잘 작동하기는 한다.
41 * 플러그인 기능을 공식 지원한다. 개발자 피셜, "플러그인의 핸들러에서 값을 리턴하거나 응답하는 수준까지 허용"한다고 하며 엔진 파일을 건드리는 수준[* global 변수 수정 등]은 라이선스 위반이기 때문에 하면 안된다.
42 * {{{[daol(다올)]}}} 같이 특정 문법을 추가하는 기능
r38
43 * 최초 공개 당시 포함되어 있는 Liberty 스킨을 보면 html, css, js로만 이루어져 있는데, React, Vue를 사용하지 않은 이유는 개발자가 프론트엔드 프레임워크는 쓸 줄 모르고 백엔드 원툴이라 그랬다고 한다. 현재는 the seed와 같이 Vue로 전환되었기 때문에 옛날 얘기가 되었다.
r4
44
r1

(새 문서)
45== 장점 및 단점 ==
r4
46 * 장점
47 * the seed를 모방한 위키 엔진 중 가장 완성도가 높다.
48 * 나무마크 파서같이 타 위키 엔진은 특정 문법을 쓰면 엔진이 꺼지는 등 문제가 많지만 해당 엔진은 파서는 거의 완벽하다.
49 * UI부터 각 권한의 작동 방식 등 the seed와 상당 부분 똑같다.
r48
50 * the seed에서 일부 불편한 부분도 모방하는 것이 아닌 개선하여 구현[* 멘션 알림이나 플러그인 등이 해당한다.]되어 있기 때문에 the seed보다 일부분은 더 좋은 부분도 존재한다.
r4
51 * 단점
52 * 개발자가 the seed 권한 없이 추측으로 만든 부분이 많기 때문에 아직 the seed와 다른 부분이 있으나, the seed 사용하는 위키에서 권한을 소유하고 있는 사람과 소통을 시작하며 점점 업데이트 되고 있다.
r48
53 * the seed 보다는 파서가 완전하지 않기 때문에 버그가 있을 수 있고, the seed와 100% 동일한 작동을 보증하지 않는다.[* 이는 [[openNAMU]]가 특이한 경우로, 비표준 문법을 공식으로 지원하며, the seed에서도 작동하지 않는 문법이 오픈나무에서 작동되는 경우도 꽤 많다.]
r4
54
r8
55== 하위 문서 ==
56 1. [[the tree/설치 방법]]
r20
57 1. [[the tree/설치 방법/Termux]]
r8
58 1. [[the tree/위키 구축]]
59
r4
60== 사용 위키 ==
r13
61[include(틀:the tree 사용하는 위키)]
r7
62
r14
63=== 기록 ===
64 * the tree 1번째 사용 위키: [[코스모피디아]]
r41
65 * 코스모피디아가 사용하는 [[openNAMU]]를 대체하기 위해 the tree를 제작했으니 어쪄면 당연한 일이다.
r14
66 * the tree 1번째 테스트 위키: [[테스트위키]]
67 * the tree 개발자가 직접 설립한 특징이 있다.
68 * 일반 사용자가 1번째로 개방한 위키: [[하늘위키|하테위키]]
69 * the tree 개발자와 연관이 없는 위키이며, the tree가 공개되기 전 개방되었다는 특징이 있다.
70 * the tree 공개 이후 1번째로 정식 위키에 사용한 위키: [[다올위키]]
r21
71 * 코스모피디아처럼 openNAMU DB를 마이그레이션 했다는 특징이 있다.
r14
72
r35
73== 관련 내용 ==
r34
74 * Backend [[https://github.com/wjdgustn/thetree| ]]
75 * Frontend [[https://github.com/wjdgustn/thetree-frontend| ]]
r35
76
77=== 스킨 목록 ===
r48
78 * 공식 스킨 (개발자가 직접 유지보수하는 스킨)
r35
79 * liberty [[https://github.com/wjdgustn/thetree-skin-liberty| ]]
80 * buma [[https://github.com/wjdgustn/thetree-skin-buma| ]]
r50
81 * the seed의 스킨도 호환이 되기 때문에 the seed의 스킨을 그대로 사용해도 호환된다. 하지만 레포가 따로 존재하는 이유는 하단 저작권을 the tree로 바꾼 정도의 커스텀이 있기 때문이다.
r35
82 * 비공식 스킨 (개발자가 아닌 사람이 제작한 스킨)
83 * [[Central]][*비공개 공개되지 않은 스킨이다.] [[https://github.com/Wikive/thetree_central| ]]
84 * 다올위키 등에서 사용 중인 스킨.
r42
85 * sonagu[*비공개][*구버전 Vue 프론트엔드 적용 이전에 제작된 ejs 기반의 스킨.]
r35
86 * 소나위키에서 사용 중인 스킨. 버전 관리 시스템을 사용하지 않으며, 소나위키의 커스텀이 포함되어 있다.
r36
87 * clue [[https://github.com/VaniIIaDev/thetree-skin-clue| ]][*구버전]
r35
88 * 하늘위키에서 기본값으로 사용했던 스킨. 현재 clearsky로 대체되었다.
r36
89 * modern [[https://github.com/wikiengine/modern| ]][*구버전]
r35
90 * clearsky[*비공개]
91 * riverty [[https://github.com/square3ang-lab/thetree-skin-riverty| ]]