taskbook은 효율적으로 터미널 내에서 여러 board들을 넘나들며 task와 노트를 관리할 수 있게 해줍니다. 간결한 사용법으로 플랫한 러닝커브를 자랑합니다. 모든 데이터는 변형을 막기위해서 개별적으로 저장되고, 누구와도 공유하지 않습니다. 삭제된 아이템들은 자동으로 아카이빙되고, 언제나 복구 혹은 열람할 수 있습니다.
이 문서를 다음 언어로 읽으실 수 있습니다: 简体中文, Русский, Français, Deutsch, Portuguese, 日本語, 한국어).
GitHub Sponsors 로 개발을 후원해주세요.
contributing guidelines 를 보시고 다른 언어로 이 문서에 기여해주세요.
Gitter 나 Twitter 에 와서 이 프로젝트에 대한 생각을 공유해주세요.
- task와 노트를 board에 정리
- board 뷰 & 타임라인 뷰
- 우선순위 & 즐겨찾기 기능
- 검색 & 필터링 기능
- 삭제된 아이템 아카이빙 & 복구 기능
- 가볍고 빨라요!
- 데이터는 개별적(원자적, atomically) 저장
- 저장 장소 커스터마이징
- 전체 진행상황 뷰
- 간결한 사용 문법
- 업데이트 알림
~/.taskbook.json
을 사용해서 설정 가능~/.taskbook/storage
에 json 형식으로 데이터 저장
taskbook board 에서 핵심 기능을 살펴보세요.
yarn global add taskbook
npm install --global taskbook
snap install taskbook
snap alias taskbook tb # alias 설정
주의: snap의 제한된 기능때문에, 데이터와 설정 파일은 모두 $HOME
대신 $SNAP_USER_DATA
하위에 저장됩니다.
$ tb --help
Usage
$ tb [<options> ...]
Options
none Display board view
--archive, -a Display archived items
--begin, -b Start/pause task
--check, -c Check/uncheck task
--clear Delete all checked items
--copy, -y Copy item description
--delete, -d Delete item
--edit, -e Edit item description
--find, -f Search for items
--help, -h Display help message
--list, -l List items by attributes
--move, -m Move item between boards
--note, -n Create note
--priority, -p Update priority of task
--restore, -r Restore items from archive
--star, -s Star/unstar item
--task, -t Create task
--timeline, -i Display timeline view
--version, -v Display installed version
Examples
$ tb
$ tb --archive
$ tb --begin 2 3
$ tb --check 1 2
$ tb --clear
$ tb --copy 1 2 3
$ tb --delete 4
$ tb --edit @3 Merge PR #42
$ tb --find documentation
$ tb --list pending coding
$ tb --move @1 cooking
$ tb --note @coding Mergesort worse-case O(nlogn)
$ tb --priority @3 2
$ tb --restore 4
$ tb --star 2
$ tb --task @coding @reviews Review PR #42
$ tb --task @coding Improve documentation
$ tb --task Make some buttercream
$ tb --timeline
아무 옵션도 주지 않고 taskbook을 작동 시키면, 각 board로 그룹된 아이템들이 보여집니다.
타임라인 뷰로 모든 아이템들을 보려면 (생성시간 기준), --timeline
/-i
옵션을 사용하면 됩니다.
taskbook 을 설정하려면 ~/.taskbook.json
파일로 접근하여 취향에 맞게 옵션을 변형해주세요. 디폴트 값으로 리셋하고자 한다면, 그냥 해당 config 파일을 홈디렉토리에서 삭제해주세요.
아래는 디폴트 값을 포함해서, 가능한 옵션들을 표시해놓은 것입니다.
{
"taskbookDirectory": "~",
"displayCompleteTasks": true,
"displayProgressOverview": true
}
- 타입:
String
- 디폴트:
~
데이터 저장이 처음 시작되는 파일 경로입니다. 예: /home/username/the-cloud
혹은 ~/the-cloud
이를 설정하기 않으면 ~
가 사용되고, taskbook은 ~/.taskbook/
하위에 세팅됩니다.
- 타입:
Boolean
- 디폴트:
true
complete으로 마킹한 task들을 보여줄지 여부를 결정합니다.
- 타입:
Boolean
- 디폴트:
true
타임라인과 board뷰 아래에 프로그레스 뷰를 보여줄지 여부를 결정합니다.
다음은 taskbook 사용법 예제를 포함한 기초 매뉴얼입니다. 오류를 발견하시거나 예제가 명확하지 않아서 개선되어야한다고 생각하시면, 자유롭게 이슈나 풀리퀘스트를 부탁드립니다.
새로운 task를 만들려면, --task
/-t
옵션을 사용하고 그 뒤에 설명을 적어주세요.
$ tb -t Improve documentation
새로운 노트를 만들려면 --note
/-n
옵션을 사용하고 그 뒤에 노트 내용을 적어주세요.
$ tb -n Mergesort worse-case O(nlogn)
board는 새로운 task나 노트를 만들때 자동으로 초기화 됩니다. 하나 이상의 board를 만들려면, 만들고자하는 아이템을 적을 때 @
을 붙여 board 이름을 적어주세요.
새로운 아이템은 주어진 board에 모두 속하게 됩니다. 기본적으로, board 이름을 명시하지 않은 아이템은 My Board
에 포함됩니다.
$ tb -t @coding @docs Update contributing guidelines
task를 완료/미완료로 표시하기 위해서는 --check
/-c
옵션 뒤에 타겟 task의 아이디를 적어주세요. 이 옵션은 상태를 뒤집는 것이므로, 완료된 task를 체크하면 pending(지연중)으로, pending된 task를 체크하면 완료로 설정됩니다. 중복된 아이디를 입력하는 경우 자동으로 필터링 됩니다.
$ tb -c 1 3
task를 시작/일시정지로 표시하기 위해서는 --begin
/-b
옵션 뒤에 타겟 task의 아이디를 적어주세요. 이 옵션의 동작은 --check
옵션과 같습니다.
$ tb -b 2 3
하나 이상의 아이템을 자주 사용한다고 표시하기 위해서는, --star
/-s
옵션 뒤에 타겟 task의 아이디를 적어주세요. 이 옵션의 동작은 --check
옵션과 같습니다.
$ tb -s 1 2 3
하나 이상 아이템의 설명을 클립보드에 복사하기 위해서는 --star
/-s
옵션 뒤에 타겟 task의 아이디를 적어주세요. 이 옵션은 개행 문자를 구분자로 사용해서, 붙여 넣을 때에도 명확하고 읽을 수 있는 문장을 저장합니다.
$ tb -y 1 2 3
아무런 옵션없이 taskbook를 작동시키면 모든 저장된 아이템들이 각각 보드에 그룹화되어 보입니다.
$ tb
모든 아이템을 timeline view로 표시하기 위해서는 --timeline
/-i
옵션을 사용합니다.
$ tb -i
task 를 만들 때 우선순위를 정하기 위해서는, p:x
문법을 task 설명에 포함해주세요. 여기에서 x는 1
, 2
, 3
중 하나의 정수 값입니다.
모든 task는 디폴트로 보통 우선순위인 1
로 생성됩니다.
1
- 일반 우선순위2
- 중간 우선순위3
- 최고 우선순위
$ tb -t @coding Fix issue `#42` p:3
특정 task를 생성한 다음에 우선순위를 조정하고자 할 때는, --priority
/-p
을 사용합니다. 이때 타겟 task 는 @ + 해당 task id로 명시합니다. 타겟의 id와 우선순위 정도가 적힌 순서는 중요하지 않습니다.
$ tb -p @1 2
하나의 아이템을 하나이상의 board에 옮기기 위해서는 --move
/-m
옵션을 사용합니다. 이때 타겟 task 는 @ + 해당 task id로 명시하고, 옮겨질 대상 board의 이름을 적습니다. 기본 My board
는 myboard
라는 키워드로 접근할 수 있습니다. 타겟 아이디와 board의 이름이 적힌 순서는 중요하지 않습니다.
$ tb -m @1 myboard reviews
하나 이상의 아이템을 삭제하기 위해서는 --delete
/-d
옵션 뒤에 해당하는 아이템의 id들을 적습니다. 삭제한 아이템은 자동으로 저장되어 언제든 다시 보거나 복구가능합니다. 중복된 아이디는 자동으로 필터링됩니다.
$ tb -d 1 2
모든 board에서 모든 완료된 task를 종료 혹은 비우기 하고 싶을 경우, --clear
옵션을 사용하세요. 모든 제거된 task는 자동으로 저장되어 언제든 다시 보거나 복구가능합니다. 실수로 사용하는 경우를 막기 위해서, --clear
옵션은 짧은 이름이 존재하지 않습니다.
$ tb --clear
모든 아카이브된 아이템을 보려면, --archive
/-a
옵션을 사용하세요. 모든 아카이브된 아이템은 timeline 뷰에서 생성일 기준으로 표시됩니다.
$ tb -a
하나 이상의 아이템을 복구하기 위해서, --restore
/-r
옵션 뒤에 타겟 아이템의 아이디를 적어주세요. --archive
/-a
옵션을 사용하면 모든 아카이브된 아이템의 아이디를 확인 할 수 있습니다. 중복된 아이디는 자동으로 필터링됩니다.
$ tb -r 1 2
특정 속성들을 가진 아이템들을 모두 표시하고 싶을 때, --list
/-l
옵션 뒤에 원하는 속성을 붙여 사용하세요. Board 이름 역시 속성으로 간주됩니다. 예를 들어, 기본 myboard
에 포함된 모든 pending 아이템을 표시하고 싶다면, 다음과 같이 사용하세요.
$ tb -l myboard pending
기본적으로 제공하는 속성을 확인해보세요.
myboard
- Items that belong toMy board
task
,tasks
,todo
- Items that are tasks.note
,notes
- Items that are notes.pending
,unchecked
,incomplete
- Items that are pending tasks.progress
,started
,begun
- Items that are in-progress tasks.done
,checked
,complete
- Items that complete tasks.star
,starred
- Items that are starred.
하나 이상의 아이템을 검색하려면, --find
/-f
옵션 뒤에 검색어를 입력하세요.
$ tb -f documentation
프로젝트에 기여하는 방법에 대해서는 contributing guidelines를 읽어주세요.
- 레포지토리를 포크해서 개인 머신에 복사합니다.
- 로컬 환경 폴더로 이동합니다.
cd taskbook
- 필요한 프로젝트 의존성을 설치합니다.
npm install
혹은yarn install
- 코드를 린트합니다.
npm test
혹은yarn test
- signale - Highly configurable logging utility
- qoa - Minimal interactive command-line prompts
- hyperocean - Deep oceanic blue Hyper terminal theme
- Klaus Sinani (@klaussinani)
- Mario Sinani (@mariosinani)