class: center, middle
WikiNote
WikiNote?
- markdown문법을 활용한 wiki형 컨텐츠 관리 시스템
- 개인의 생각을 정리
- 소규모 집단에서 간단한 문서 공유
- 간결하고 쉬운 기능에 초점
- 복잡한 기능은 plugin으로 제공
왜 만들었나
-
http://wikinote.bluemir.me/wikinote/the-beginning
-
위키는 쓰고픈데,
-
백업이 쉽도록 파일로 저장했으면 좋겠다.
-
뭔가 귀찮게 설치하고 설정 안했으면 좋겠다.
-
-
블로그 처럼 쓸수도 있으면 좋겠다.
-
이왕 하는거 동시편집 충돌도 해결해 보자.
지하철(!!)에서 만들기 시작
WikiNote 특징
- markdown rendering
- 일반 파일로 저장
- history를 git으로 저장
- plugin
- remark
- disqus
- 동시 편집(google docs의 그것)
어떻게 만들었나
- node.js 선택
- 수많은 패키지 - marked, express.js, nedb, …
- 적은 메모리 사용량
- 적은 CPU 사용량
- npm을 이용한 손쉬운 설치
- wikinote history 관리 - git
- 개발자라면 git은 당연히 있을꺼라 생각
- 이번에 nodegit으로 변경
- 동시편집 - Share.js
- OT(Operation Transeform) 구현체
- 붙이면 됩니다.
class: center, middle
시연
직접 돌려보고 싶으시다면..
docker run -it -p 4000:4000 -v <data_dir>:/home/wikinote/data bluemir/wikinote
Burning Stage
- Refactoring
- Client JavaScript 정리
- CSS 정리
- System 의존적인 코드를 의존적이지 않게 변경
- 1개의 외부 개발자로 부터의 pull request
- 다수의 추가 기능 제안
- npm에 등록
class: center,middle,custom
Burning Stage에서 못 다한것
손쉽게 인스톨할수 있게 하기
- npm install
- dockerize (어제 완료됨) - docker hub –
-
config module 변경
그외 추가 기능들
-
멋들어진 소개 영상
멋들어진 스크린샷이 들어있는 소개 문서
운영
- 문서는 영어와 한글버전 둘다 유지
- 글로벌로 나가겠다는 강력한 의지
- git branch 전략 / pull request 정책 확립 #
- plug-in을 현재 repo에서 분리
- 적어도 9월에는 1.0 release와 동시에 대대적인 홍보를 해볼 생각
- Demo Site를 제작
- npm install을 통한 설치
- docker image 제공
- markdown renderer 교체, build system 교체 등 굵직한 업데이트들을 할 예정
class: center, middle