•  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
파일:Semi_protect2.svg   가입 후 15일이 지나야 편집 가능한 문서입니다.
(~ KST )
the seed
프로그래밍 언어
node.js
출시일
2015년 4월 18일
공개 여부
비공개
개발자
언어
사용 위키
커뮤니티
1. 개요2. 문법3. 업데이트 내역4. 추가 예정인 기능5. 권한6. 기능7. 장점8. 문제점
8.1. 모바일에서의 문제점
9. 기타

1. 개요[편집]

나무위키알파위키, 더시드위키에서 사용하는 위키 엔진으로 namu, PPPP, kasio가 개발했다. the seed라는 이름은 개발 단계에서 통용되는 코드네임이었으나 나무위키의 엔진을 지칭하는 공식적인 이름이 된 것으로 보인다.(#) 본 엔진은 Node.js의 Express.js 프레임워크를 사용했다.

2. 문법[편집]

파일:상세 내용 아이콘.svg   자세한 내용은 알파위키:문법 도움말 문서
번 문단을
부분을
참고하십시오.
알파위키에선 알파마크라는 자체적인 텍스트 문법을 사용한다. 나무위키, 더시드위키에서는 각각 나무마크, 더시드마크를 사용한다. 근데 사실 이름만 다르지 다 똑같다. 당연하지 똑같은 엔진인데

3. 업데이트 내역[편집]

파일:상세 내용 아이콘.svg   자세한 내용은 the seed/업데이트 문서
번 문단을
부분을
참고하십시오.

4. 추가 예정인 기능[편집]

5. 권한[편집]

파일:상세 내용 아이콘.svg   자세한 내용은 the seed/권한 문서
번 문단을
부분을
참고하십시오.

6. 기능[편집]

파일:상세 내용 아이콘.svg   자세한 내용은 알파위키:기능 도움말 문서
번 문단을
부분을
참고하십시오.

7. 장점[편집]

  • 미디어위키에 비해 문법이 간단하다.
  • 세밀하게 ACL을 조정할 수 있다.
  • 세밀하게 권한을 부여할 수 있다. 대표적인 것이 토론 블라인드 권한, 토론 이동 권한, 토론 상태 변경 권한, 토론 주제 변경 권한이 분리되어 있다는 점.
  • 미디어위키와 달리 토론이 기능적으로 구현되어 있다.

8. 문제점[편집]

  • 문서 역사 말소가 어렵다. 편집 요약은 문서가 휴지통화되어도 기여내역에 표시되므로 편집 요약에 민감한 정보가 들어가면 큰일난다.
  • 시각 편집 기능이 없어 위키 활동을 위해서는 문법을 공부해야 한다.
  • 문서 이동 시 이동 전 문서에 기록이 남지 않는다.[2]
  • 되돌리기 기능은 있으나, 편집 취소 기능은 없다. 따라서 정상적인 기여분까지 되돌려지기도 한다. 그래도 이 부분은 더시드포럼에서 개발 중인 기능이라고 한다.]

8.1. 모바일에서의 문제점[편집]

파일:모바일 표.jpg
분명 <tablealign=right>이 표에 입력되어 있음에도 불구하고 모바일에서는 표 위치 설정 상관없이 무조건 왼쪽으로 설정된다.

9. 기타[편집]

  • 기본적으로 비공개 엔진이기 때문에 일반인들이 구할 수 없다. 대체용으로 나온 게 오픈나무이다.[3]
  • 4.12.0 이하 버전은 HTML과 자바스크립트를 알아보기 쉬웠는데, 현재는 페이지들의 HTML을 열어보면 data-v-(해시) 등의 속성으로 요소들을 구분하게 되어있어 일반적으로 알아보기 어렵게 되어있다.[4] 또한 자바스크립트도 전부 난독화되어있어 변수 및 함수 이름들이 16진수 숫자로 되어있고, 작동하지 않는 코드들이 삽입되어있고, 문자열도 인코딩되어있어 알아보기 매우 어렵게 되어있다. 거기에 더해서 모든 문자열들을 한 배열에 모아놓고 함수를 통해서 배열에 접근하는 등 매우 복잡하게 되어있다.
  • 4.13.0부터 내부 구조가 대거 수정되었다. 4.15.0까지는 기존 방식의 스킨과의 호환성을 위해 해당 스킨을 적용하면 옛 인터페이스를 사용할 수 있었다. 나무위키는 2019년 말쯤에 4.16.0으로 업데이트되어 기존 레이아웃을 사용할 수 없었으나 더시드위키는 업데이트되지 않아 거기서 계속 사용할 수 있었다. 그러다가 2020년 3월 1일에 더시드위키도 4.16.0으로 업데이트되어서 기존 방식과 인터페이스는 더 이상 볼 수 없게 되었다.
  • 리버티 스킨 기준으로 신 프론트엔드(버전 4.16.0) 이후로 스크립트의 총 크기가 거의 1MB[5]씩 되어서 모바일에서 데이터 네트워크를 사용하여 접속하는 경우 주의가 필요하다. 다행이도 지금은 크기가 좀 줄긴 했다.
  • 2021년 1월 20일 부로 포럼이 리뉴얼되었다.
  • Date 오브젝트를 그대로 대입해서인지 차단되었을 때 나오는 오류 메시지의 만료일의 형식이 "Sat Dec 27 2132 04:42:20 GMT+0900 (대한민국 표준시)"이고, 일과 달이 영어로 나온다.
  • 2020년 중후반에 자동 로그인 후 로그아웃이 되지 않는 오류가 있었다. honoka 쿠키의 반환이 제대로 안 되어서 그런데, 값이 "[object Object]"로 잘못 반환되었다. 쿠키를 JSON(오브젝트)으로 관리하는 듯하다.[6]
  • 기여 목록의 특성으로 미루어 보아 내부적으로 초 단위 유닉스 시간을 통해 관리하는 듯하다.
  • 이전에는 Tor 네트워크 위에서 "더시드"라는 이름의 딥 웹 위키를 namu가 운영했다. 주소는 .com이나 .wiki가 아니라 .onion으로 끝난다.
  • 엔진 수정권을 주지 않았음에도 나무위키에 있는 기능이 있는 것으로[7] 보아 플러그인이나 확장 프로그램 기능이 있는 듯하다.
  • 엔진 내부 API는 암호화되어 있다. 아래 코드를 통해 요청을 위조하면 아래와 같은 결과가 나온다. (헤더 값은 2022/9/8 기준)
    나무위키 기준으로 테스트되었다. 궁금하면 개발자 도구 콘솔창에 헤더값을 최신으로 변경하고 넣어보자.
    코드 :
    const request=new XMLHttpRequest();
    request.open('GET','i/p31G64YK67O5Sp8AE71TE4I5cJiNheF3UCsU5-VTieb',true);
    request.setRequestHeader('x-chika','2013d3f8f8c7b5598');
    request.setRequestHeader('x-namuwiki-nonce','zStFHBzm88MnOdE1SkTNvA==');
    request.setRequestHeader('x-riko','1fc95018783ef8be685241012a6efd64');
    request.setRequestHeader('x-you','af3f5c4a4f54a47f42eda8c501fd03a5');
    request.send();
    request.onload=()=>{
    	console.log(request.status);
    	console.log(request.response);
    }

    결과 :
    ٫�Ht����K���	B<�m'�'P����W����E��	q_�eg��K�R�
    ~��
    �L��Z|"35�ϲ���T�%>��O>/ܠ!|팡n4��W�ƒV%f��?�W���OX�fi��_��^���.7�Ih�K�|���Ij�|�5���[�,wHHֶ
    �~�dl�R5��(7��W���'��O�t%�U��b���^�CV�:3?�Jљ�E���ہ�(�6�T��r�m?�=� ��@KrJ������W�mbt�
    
굳이 AJAX로 한건 코딩 실력이 딸려서 그런 것 이므로 더 효율적인 것이 있으면 추가 바람
[1] 나무위키의 경우 영어, 일본어로 미러링되는 웹사이트가 있으나, 자체 기능은 아닌 것으로 보인다.[2] 예를 들어, A라는 문서에서 B라는 문서로 문서를 이동할 때, B라는 문서로 문서를 이동하고 나면, A라는 문서에 들어가도 이동 내역이 표시되지 않는다.[3] 서실 openNAMU말고도 대체용으로 나온 엔진은 더 있지만 아직까지는 나무마크를 제대로 지원하는건 openNAMU.[4] 이는 Nuxt.js 라이브러리의 특징으로, 해당 라이브러리를 사용중임을 알 수 있다.[5] 알파위키에는 없는 senkawa 스킨은 약 0.7MB이다.[6] 그렇다면 오브젝트의 속성에 접근하는 것을 깜빡해서 발생했을 버그일 가능성이 높다.[7] 로그인 허용 차단 대역에서의 휴대폰 인증을 통한 회원 가입 기능 등