bluemir / node-wikinote Goto Github PK
View Code? Open in Web Editor NEW[Deprecated]wiki-like contents manager system using markdown syntax
Home Page: http://wikinote.bluemir.me/wikinote
License: MIT License
[Deprecated]wiki-like contents manager system using markdown syntax
Home Page: http://wikinote.bluemir.me/wikinote
License: MIT License
make changelog present changing subject
User Profile 페이지가 너무 부실하고 edit 기능도 부실함.
문법을 선택해서 사용할수 있도록..
실행하는 위치를 기반으로 static file을 찾게되어 제대로 실행이 안됨 static file 과 template의 위치를 정확하게 지정할 필요가 있음.
marked 가 common markdown을 지원을 할 의지가 없어 보임.
최근 커밋도 상당히 드물게 있고, 버그 패치 이외에는 할 생각이 없어 보이므로 교체가 필요함.
markdown-it 과 같이 plugin을 잘 지원하면서 새로운 기능도 활발히 구현하는 렌더러로 교체할 필요가 있음.
현재는 오랫동안 편집이 없으면 connection이 끊기면서 편집및 저장을 할수 없는 상태가 되는데, 이를 브라우져 창이 열려있는 동안은 connection 끊기지 않게 하거나, 다시 편집을 시도할때 연결할수 있도록 만드는 것이 필요.
기본적인 사용법과 회원 가입 기능을 테스트 할수 있는 play ground 가 필요함.
redirect나 TOC 같은 간단한 매크로를 제작 합니다.
전체검색시 메뉴가 제위치에 있지않고 아래로 내려옴
git 모듈이 그냥 깃 프로세스를 통해 하는 것임.
git javascript구현체를 찾아서 붙일것
상위 폴더가 제대로 만들어 지지 않아서 생기는 문제임.
현재는 편집하다가 맨 위의 Preview를 눌러야 Preivew가 보이는데 Alt를 1초 이상 누르고 있으면 Preview가 보이다가 키를 놓으면 원래 편집창이 보이게 만들면 편할것 같음.
git branch model 로 현재 git flow를 적용하고 있으나 git flow는 너무 복잡하고 Pull request 시에 어느 브랜치로 합쳐야 하는지 애매해서 불편함.
방안
변경내역에 ID를 표시하고 email도 표현할수 있으면 좋을것 같음.
첨부파일을 지울수 있는 방법이 필요함
본문의 링크중 외부 링크는 새탭으로 뜨는 반면
footnote의 링크를 클릭하면 페이지 이동이 됨. 이는 일관적이지 못하고 불편함으로 개선이 필요함.
display contribute rank.
it maybe promote participation.
Google Container Engine에 Wikinote를 손쉽게 배포할수 있도록 해봄.
이 과정 중에서 Dockerize 가 잘되었는지 판단할수 있고, 또한 클라우드에 쉽게 배포할수 있게 함으로써 각자 손쉬운 사용을 해볼수 있도록 함.
shortcut.js의 e.preventDefault()가 바인딩된 동작이 없어도 실행되어서 생기는 문제.
편집 화면이 권한이 없어도 들어가지나 수정사항이 변경이 안되기 떄문에 자칫 잘못하면 실컷 써놓은 내용을 날려먹을수 있음.
백링크 기능이 있으면 편할 것 같아서..
ctrl + s 로 저장하게 될경우 권한문제로 제대로 저장되지 않음에도 에러가 아니라 성공적으로 저장된다고 나옴.
개인별로 salt를 따로두는 것이 보안상 더 좋음.
user.nedb와 backlink.nedb파일이 현재 폴더 기준으로 생성됨
https://github.com/josephg/ShareJS
https://github.com/share/sharedb
ShareJS 가 더이상 지원하지 않고 ShareDB로 이름을 변경
https://groups.google.com/forum/#!topic/sharejs/W2yuXwUQ818
https://groups.google.com/forum/#!topic/sharejs/XGkqVrQ7KfI
ShareDB가 훨씬 안정화가 잘되어 있는 것으로 판단 되므로, 전환할 필요가 있음.
지금은 서버 랜더링 하고 있으나 그냥 CSS3가지고 구현 가능함.
http://stackoverflow.com/questions/5379752/css-style-external-links
위키 사용자들은 검색후 페이지 생성하기도 함. 그래서 페이지 생성을 못찾는 경우가 생김
swig를 fork 버전으로 바꾸어야 함.
https://github.com/node-swig/swig-templates
현재는 무조건 github default branch(develop) 을 사용하도록 되어 있음.
Test Case를 작성할수 있는 곳에는 작성하는게 이득이므로 Test Case를 만들어 봅시다.
아마도 매 페이지에 커맨트를 달수 있다면 나쁘지 않을것 같음.
#26 과 config page를 제공 하기 위해서는 config module의 대대적인 개편이 필요합니다.
요구되는 config module의 spec은 다음과 같습니다.
여지껏 local.yaml의 변경을 실시간으로 반영하고 있었지만, 해당 기능은 config page 에서의 변경으로 대체 가능하고 config 중 서버를 재시작 하지 않고는 바꿀수 없는 설정(eg. port)이 존재하므로 해당 기능은 제거하는게 좋을것 같습니다.
참고 MathJax
지금 있는 찾기 모듈이 grep만 가지고 대충 한 모듈임 새로운 알고리즘과 UI 가 필요함
프리젠테이션에서 code를 쓸경우 코드가 길어지는 경우가 있음. 해당 구문은 스크롤같은것으로 처리 해야 할듯.
Zip file로 Backup할수 있는 방법이 있었으면 좋겠음.
npm 명령 만으로 동작할수 있게끔 만들어 두는 것이 좋겠다고 판단.
궁극적으로는 어떤 환경 설정 없이 실행시의 option 만으로도 완벽한 configure하여 웹브라우져 동작 까지 하도록 설정
사용 예제
npm install -g wikinote
wikinote -p 3000 --path="~/wiki"
#이후 사용자 브라우져에 wikinote 페이지가 뜰것
documentation and attach license.
wikinote가 두가지의 설치 방식(git clone, npm install)을 모두 지원하려면 두가지 설치 방식간의 config 파일과 AppData 위치가 동일해야 일관성을 가질수 있다. 설치 방법 별로 데이터의 위치가 다르면 사용자에게 혼란을 줄수 있다. 그래서 config 파일과 AppData의 위치를 통일시키는 편이 좋다.(See also #28)
AppData와 config 파일 모두 wikinote Data저장 위치에 있는 것이 합리적일것 같다.
단 config file 과 user data는 민감할수 있으므로 git backup시에는 기본적으로 제외되도록 저장소 초기화 시에 git ignore 로 등록해두는 편이 좋을듯.(See also #2 )
맨 마지막에 '/'가 붙으면 wikipath를 parse하지 못하고 error를 발생합니다.
example
wikinote -> 'wikinote'페이지로 접속
wikinote/ -> 'wikinot' 페이지로 접속을 시도함
해당 문제는 wikipath의 구현 오류로 보여집니다.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.