Git Product home page Git Product logo

node-wikinote's People

Contributors

bluemir avatar gitter-badger avatar jereneal20 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

node-wikinote's Issues

User Profile Page

User Profile 페이지가 너무 부실하고 edit 기능도 부실함.

static file serve

실행하는 위치를 기반으로 static file을 찾게되어 제대로 실행이 안됨 static file 과 template의 위치를 정확하게 지정할 필요가 있음.

markdown 렌더러 교체

marked 가 common markdown을 지원을 할 의지가 없어 보임.
최근 커밋도 상당히 드물게 있고, 버그 패치 이외에는 할 생각이 없어 보이므로 교체가 필요함.
markdown-it 과 같이 plugin을 잘 지원하면서 새로운 기능도 활발히 구현하는 렌더러로 교체할 필요가 있음.

공동 편집시 connection timeout 개선

현재는 오랫동안 편집이 없으면 connection이 끊기면서 편집및 저장을 할수 없는 상태가 되는데, 이를 브라우져 창이 열려있는 동안은 connection 끊기지 않게 하거나, 다시 편집을 시도할때 연결할수 있도록 만드는 것이 필요.

wikinote play ground 만들기

기본적인 사용법과 회원 가입 기능을 테스트 할수 있는 play ground 가 필요함.

  • 하루 마다 git 을 통해 reset 해서 clean 하게 유지
  • 기본적인 사용법이나 옵션 설정법을 만들어 두기

change git module

git 모듈이 그냥 깃 프로세스를 통해 하는 것임.
git javascript구현체를 찾아서 붙일것

Preview 개선

현재는 편집하다가 맨 위의 Preview를 눌러야 Preivew가 보이는데 Alt를 1초 이상 누르고 있으면 Preview가 보이다가 키를 놓으면 원래 편집창이 보이게 만들면 편할것 같음.

git branch model

git branch model 로 현재 git flow를 적용하고 있으나 git flow는 너무 복잡하고 Pull request 시에 어느 브랜치로 합쳐야 하는지 애매해서 불편함.

방안

  • 기존의 git flow를 그냥 쓴다.
    • pull request를 합치는 브랜치를 develp으로 하고, 다른 사람에게 안내한다.
    • pull request를 합치는 브랜치를 master로 한다. (default임)
  • github flow를 쓴다.

Google Container Engine 배포

Google Container Engine에 Wikinote를 손쉽게 배포할수 있도록 해봄.

이 과정 중에서 Dockerize 가 잘되었는지 판단할수 있고, 또한 클라우드에 쉽게 배포할수 있게 함으로써 각자 손쉬운 사용을 해볼수 있도록 함.

Add Backlinks

백링크 기능이 있으면 편할 것 같아서..

Test Case 작성

Test Case를 작성할수 있는 곳에는 작성하는게 이득이므로 Test Case를 만들어 봅시다.

comment plugin

아마도 매 페이지에 커맨트를 달수 있다면 나쁘지 않을것 같음.

config 모듈 개선

#26 과 config page를 제공 하기 위해서는 config module의 대대적인 개편이 필요합니다.

요구되는 config module의 spec은 다음과 같습니다.

  • config의 우선 순위 지원
    1. process.argv
    2. process.ENV
    3. config/local.yaml
    4. config/defaults.yaml
  • config page 에서 변경된 내용의 config/local.yaml의 반영
  • config 모듈의 독립성
  • 타 모듈에서의 용의한 접근성#

여지껏 local.yaml의 변경을 실시간으로 반영하고 있었지만, 해당 기능은 config page 에서의 변경으로 대체 가능하고 config 중 서버를 재시작 하지 않고는 바꿀수 없는 설정(eg. port)이 존재하므로 해당 기능은 제거하는게 좋을것 같습니다.

improve find module

지금 있는 찾기 모듈이 grep만 가지고 대충 한 모듈임 새로운 알고리즘과 UI 가 필요함

presentation code css 개선

프리젠테이션에서 code를 쓸경우 코드가 길어지는 경우가 있음. 해당 구문은 스크롤같은것으로 처리 해야 할듯.

zip file backup

Zip file로 Backup할수 있는 방법이 있었으면 좋겠음.

run with npm

npm 명령 만으로 동작할수 있게끔 만들어 두는 것이 좋겠다고 판단.

궁극적으로는 어떤 환경 설정 없이 실행시의 option 만으로도 완벽한 configure하여 웹브라우져 동작 까지 하도록 설정

사용 예제

npm install -g wikinote
wikinote -p 3000 --path="~/wiki"
#이후 사용자 브라우져에 wikinote 페이지가 뜰것

AppData(userdb, backlink 등), config file위치 변경

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 )

url 마지막에 '/'가 붙으면 버그 발생

맨 마지막에 '/'가 붙으면 wikipath를 parse하지 못하고 error를 발생합니다.

example

wikinote -> 'wikinote'페이지로 접속
wikinote/ -> 'wikinot' 페이지로 접속을 시도함
해당 문제는 wikipath의 구현 오류로 보여집니다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.