# sonomemo (์๋
ธ๋ฉ๋ชจ) ๐ง
**sonomemo**๋ **ADHD๋ฅผ ์ํ ๋ฌธ๋งฅ ๊ธฐ๋ก์ฉ ํฐ๋ฏธ๋ ์ฑ**์
๋๋ค.
์ ๊ฐ ํ์ํด์ ๋ง๋ค์์ต๋๋ค. ๋ ์ด์ ์๋ธ๋ผ์ ํ
์คํธ ํ๋ฌ๊ทธ์ธ ์ฝ๋๋ฅผ ์ง๋๊ฑด ์ง๋ ธ์ต๋๋ค. ํด๋ก๋ ์ฝ๋์์ ์ผ ์ํค๋ค๊ฐ ์ํธ ํญ์ ๋๋ฅด๋๊ฒ๋ ๊ท์ฐฎ์ต๋๋ค. ๊ทธ๋์ ์ ๋ฏธ๋์ด์ ๋์์ ์ข ๋ฐ์์ต๋๋ค. ์ฌ์ค ๋ง์ด ๋ฐ์์ต๋๋ค.
<img width="1510" height="704" alt="image" src="https://github.com/user-attachments/assets/ed5b56fd-57bb-4958-a17c-2853ed7c8d2b" />
## โจ ์ ๊ตณ์ด ์ด๋ฐ๊ฑธ?
- **๐ง ๋ง๋ ์ฌ๋ ๊ธฐ์ต๋ ฅ์ด ๋ชจ์๋๋๋ค.**: ๋ฉ๋ชจ๋ฅผ ์ํ๋ฉด ๋ณดํต ๊น๋จน์ต๋๋ค. ์๊น๋จน๋๋ค๊ตฌ์? ์ข ๋ ์ค์ํ๊ฑธ ๊ธฐ์ตํ์๊ธฐ ๋ฐ๋๋๋ค. ์ ๊ฐ ์ผํ๋ฉด์ ๋ช์์ฏค์ ์ด ์ํคํ
์ฒ๊ฐ ๊ตฌ๋ฆฌ๋ค๊ณ ์๊ฐํ๋์ง๊น์ง ๊ธฐ์ตํด์ผํ ํ์๋ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
- **๐
๊ฐ์ ํ๊ธฐ (๋ฝ๋ชจ๋๋ก)**: ๊ธฐ๋ฅ์ด ๋ญ๊ฐ ๋ ํ์ํ์ง ์ถ์ด์ ์ ๋ฏธ๋์ดํํ
๋ฌผ์ด๋ดค๋๋ ์ด๋ฐ๊ฑธ ์ ์ํ์ต๋๋ค. ์ฌ์ค ๊ทธ๋ฅ ์ฅ๋๊ฐ ์ฉ๋๊ฐ๊ธฐ๋ ํฉ๋๋ค.
- **๐ฑ ์๊ฐ์ ํผ๋๋ฐฑ**: ๊นํ๋ธ์ ์๋๋ฐญ ๋น์ทํ๊ฑธ ๋ณผ ์ ์์ต๋๋ค.
- **๐ ๋งํฌ๋ค์ด ๊ธฐ๋ฐ**: ๋ชจ๋ ๋ฐ์ดํฐ๋ `YYYY-MM-DD.md` ํ์์ ๋ก์ปฌ ํ
์คํธ ํ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค. ์ฌ์ค ๋งํฌ๋ค์ด์ผ ํ์๊ฐ ์๋์ง ๋ชจ๋ฅด๊ฒ ์ด์. ์ ๋ฏธ๋์ด๊ฐ ๊ทธ๋ ๊ฒ ์ง๋ฒ๋ ธ์ต๋๋ค.
- **โ
ํ ์ผ ๋ฐ ํ๊ทธ**: `- [ ]` ๋ฌธ๋ฒ์ผ๋ก ํ ์ผ ์๋ ์ธ์, `#ํ๊ทธ`๋ก ๋ถ๋ฅ. ํ์ํ๋ฉด ์ ๋นํ ๊ฒ์ํ ์๋ ์์ต๋๋ค. ์ด๊ฒ ์ ์ผ ์ข์๋ฏ.
- **๐ URL ํ์ด๋ผ์ดํ
**: ๋ก๊ทธ์ ๋งํฌ(`http://...`)๊ฐ ์์ผ๋ฉด ํ๋์์ผ๋ก ์์๊ฒ ํ์ํด์ค๋๋ค. ๋ฌผ๋ก ํด๋ฆญ์ ์๋ฉ๋๋ค. ํฐ๋ฏธ๋์ด์์์. (๋์ `Enter`๋ก ํด๋๋ ์ด์ด๋๋ฆฝ๋๋ค)
## ๐ญ ์ฌ์ฉ ๊ฐ์ด๋
```markdown
- [ ] ํ ์ผ ์ด๋ผ๊ณ ์ ์ผ๋ฉด ์ฐ์๋จ todo list์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
#์ด์ฉ๊ตฌ ์ ๊ฐ์ ์์ผ๋ก #ํ๊ทธ ๋ฅผ ๋ถ์ฌ ์์ฑํ์๋ฉด Navigate ๋ชจ๋์ t ๋ฒํผ์ ๋๋ฌ ํ๊ทธ๋ณ๋ก ๋ก๊ทธ๋ฅผ ๋ชจ์๋ณผ ์ ์์ต๋๋ค.
Navigate ๋ชจ๋์์ ์ํ ํ์ดํ ํน์ ๋ง์ฐ์ค ์คํฌ๋กค์ ํตํด ๋ก๊ทธ๋ฅผ ์ํํ ์ ์๋๋ฐ, ์๋ฃ์ฒ๋ฆฌํ๊ณ ์ ํ๋ ํ ์ผ ๋ก๊ทธ์์ ์ํฐ๋ฅผ ๋๋ฅด๋ฉด ํด๋น ํ ์ผ์ด ์๋ฃ ์ฒ๋ฆฌ๋ฉ๋๋ค.
```
์ดํ ๋ด์ฉ์ ์ ๋ถ ์ ๋ฏธ๋์ด๊ฐ ์ ์์ต๋๋ค. ๊ทธ๋ฅ ์ฅ ๋ณด๊ณ ์ ์ผ๋ค ์ถ์ด์ ๋ฃ์ด๋จ์ต๋๋ค. ์ค๋ช
์ด ๋ถ์กฑํ๋ค๋ฉด ์ด์๋ก ์ฌ๋ ค์ฃผ์ธ์. ๊ทธ๋๋ก ์ ๋ฏธ๋์ด์ ๋๊ธฐ๊ฒ ์ต๋๋ค.
## ๐บ๏ธ ์ฌ์ฉ ๊ฐ์ด๋ (App Flow)
Sonomemo๋ ํค๋ณด๋ ์ค์ฌ์ 3๊ฐ์ง ํต์ฌ ๋ชจ๋๋ก ๋์ํฉ๋๋ค.
```mermaid
graph TD
Start((Start)) --> Editing["๐ Editing Mode<br/>(์
๋ ฅ ๋ชจ๋)"]
subgraph Main Loop
Navigate["๐งญ Navigate Mode<br/>(ํ์ & ๊ธฐ๋ฅ ๋ชจ๋)"]
Editing
Search["๐ Search Mode<br/>(๊ฒ์ ๋ชจ๋)"]
end
subgraph Popups
Pomodoro["๐
Pomodoro"]
Graph["๐ Activity Graph"]
Tag["๐ท๏ธ Tag Filter"]
Mood["๐ญ Mood Tracker"]
end
%% Transitions
Editing -->|Esc| Navigate
Navigate -->|i| Editing
Navigate -->|?| Search
Search -->|Enter| SearchResult["Result View"]
SearchResult -->|Esc| Search
Search -->|Esc| Navigate
%% Popup Triggers
Navigate -->|p| Pomodoro
Navigate -->|g| Graph
Navigate -->|t| Tag
%% Popup Exits
Pomodoro -->|Esc/Enter| Navigate
Graph -->|Any Key| Navigate
Tag -->|Esc/Enter| Navigate
Mood -->|Enter| Navigate
%% Initial Flow
Start -.-> Mood
```
### 1. ๐ Editing Mode (์
๋ ฅ ๋ชจ๋)
> **"์๊ฐ๋๋ ๊ฒ์ ๋ฐ๋ก ์ ์ผ์ธ์"**
- ์ฑ์ ์ผ์๋ง์ ๋ง๋๋ ํ๋ฉด์
๋๋ค.
- **Enter**: ๋ฉ๋ชจ ์ ์ฅ
- **Shift + Enter**: ์ค๋ฐ๊ฟ (๋ฉํฐ๋ผ์ธ ์
๋ ฅ)
- **Esc**: Navigate ๋ชจ๋๋ก ์ ํ
### 2. ๐งญ Navigate Mode (ํ์ ๋ชจ๋)
> **"๊ธฐ๋ก์ ํ์ด๋ณด๊ณ ๊ธฐ๋ฅ์ ์คํํ์ธ์"**
- ํ์ดํ ํค(`โ`, `โ`)๋ก ์ด์ ๊ธฐ๋ก์ ์คํฌ๋กคํฉ๋๋ค.
- `i`: ๋ค์ ์
๋ ฅ ๋ชจ๋๋ก ์ ํ
- `?`: ๊ฒ์ ๋ชจ๋ ์ง์
- `t`: ํ๊ทธ๋ณ๋ก ๋ชจ์๋ณด๊ธฐ
- `p`: ๋ฝ๋ชจ๋๋ก ํ์ด๋จธ ์ค์ (25๋ถ ๋ฑ)
- `g`: ํ๋ ๊ทธ๋ํ ํ์ธ
- `l`: PATH ํ์ธ (ํตํฉ ํ์
)
### 3. ๐ Search Mode (๊ฒ์ ๋ชจ๋)
- ๊ฒ์์ด๋ฅผ ์
๋ ฅํ๊ณ Enter๋ฅผ ๋๋ฅด๋ฉด ํด๋น ๋จ์ด๊ฐ ํฌํจ๋ ๋ฉ๋ชจ๋ง ํํฐ๋งํฉ๋๋ค.
- `Esc`: ๊ฒ์ ์ทจ์ ๋ฐ Navigate ๋ชจ๋ ๋ณต๊ท
## ๐ ์ค์น ๋ฐฉ๋ฒ
### Crates.io๋ฅผ ํตํ ์ค์น (์ถ์ฒ)
Rust๊ฐ ์ค์น๋์ด ์๋ค๋ฉด ๊ฐ์ฅ ๊ฐํธํ ๋ฐฉ๋ฒ์
๋๋ค.
```bash
cargo install sonomemo
```
### ์ง์ ๋น๋
```bash
git clone https://github.com/sonohoshi/sonomemo.git
cd sonomemo
cargo install --path .
```
## โจ๏ธ ๋จ์ถํค ์์ฝ
| `i` | ์
๋ ฅ ๋ชจ๋ ์ ํ (๋ฉ๋ชจ ์์ฑ) |
| `?` | ๊ฒ์ ๋ชจ๋ ์ง์
|
| `t` | ํ๊ทธ ํํฐ๋ง |
| `p` | ๋ฝ๋ชจ๋๋ก ํ์ด๋จธ ์ค์ /ํด์ |
| `g` | ํ๋ ๊ทธ๋ํ(์๋) ํ์ธ |
| `l` | ๋ก๊ทธ/์ค์ ๊ฒฝ๋ก ํ์ธ ๋ฐ ์ด๊ธฐ |
| `q` | ์ฑ ์ข
๋ฃ |
## โ๏ธ ์ค์ (Configuration) (New!)
Sonomemo v0.2.1๋ถํฐ๋ **์ค์ ํ์ผ ๊ฒฝ๋ก ํ์ธ**์ด ๋์ฑ ์ฌ์์ก์ต๋๋ค. (`l` ํค)
`config.toml`์ ํตํด **๋จ์ถํค**์ **ํ
๋ง**๋ฅผ ์์ ๋กญ๊ฒ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์คํ ํ์ผ์ด ์๋ ๊ฒฝ๋ก์ `config.toml` ํ์ผ์ ์์ฑํ์ฌ ์ฌ์ฉํ์ธ์.
### ๐จ ํ
๋ง ๋ฐ ๋จ์ถํค ์ค์ ์์
```toml
# Sonomemo Configuration
[placeholders]
navigate = "ํค๋ฅผ ๋๋ฌ ๊ฐ์ข
๊ธฐ๋ฅ์ ์ฌ์ฉํ์ธ์..."
editing = "์ค๋์ ๊ธฐ๋ก์ ๋จ๊ฒจ๋ณด์ธ์..."
# ๋ฐ์ดํฐ ์ ์ฅ ๊ฒฝ๋ก ์ค์ (v0.2.0+)
[data]
log_path = "logs" # ์ํ๋ ํด๋๋ช
์ผ๋ก ๋ณ๊ฒฝ ๊ฐ๋ฅ (์: "C:/MyLogs" ๋๋ "data/memories")
# ํค ๋ฐ์ธ๋ฉ ์ค์ (๋ฐฐ์ด ํํ๋ก ์
๋ ฅ)
[keybindings.navigate]
quit = ["q", "ctrl+q"]
tags = ["t"]
pomodoro = ["p"]
[keybindings.editing]
save = ["enter"]
newline = ["shift+enter"]
cancel = ["esc"]
# ํ
๋ง ์์ ์ค์ (์์๋ช
๋๋ R,G,B)
[theme]
border_default = "Yellow" # ๊ธฐ๋ณธ ํ
๋๋ฆฌ
text_highlight = "100,60,0" # ๊ฐ์กฐ ๋ฐฐ๊ฒฝ์ (R,G,B)
todo_done = "Green"
todo_wip = "Red"
mood = "LightRed"
```
> **Tip**: `examples/` ํด๋์ ๋ค์ํ ํ
๋ง ์ํ(`Warm Sunshine`, `Ocean Blue` ๋ฑ)์ด ์ค๋น๋์ด ์์ต๋๋ค!
## ๐ ๏ธ ๊ธฐ์ฌํ๊ธฐ (Contributing)
์์์ ์ ํด์ฃผ์๋ฉด ์ ๋ฏธ๋์ดํํ
๋๊ธฐ๊ฒ ์ต๋๋ค.
## ๐ ๋ผ์ด์ ์ค
MIT License (LICENSE ํ์ผ์ ํ์ธํ์ธ์)