왜 Leaf인가Why Leaf

Leaf가 풀려는 문제, 설계 철학, 그리고 다른 에디터와 다른 점The problems Leaf solves, its design philosophy, and what sets it apart

해결하려는 문제The Problem

마크다운 에디터는 이미 많다. Obsidian, Typora, Notion, VS Code 확장까지. 그런데 왜 하나 더 만들었을까?There are plenty of markdown editors already. Obsidian, Typora, Notion, VS Code extensions. So why build another one?

핵심 문제 3가지Three Core Problems

1. 무겁다. Electron 기반 에디터는 메모 하나 쓰는데 400MB 이상의 메모리를 먹는다. 브라우저 하나를 더 띄우는 것과 같다.
2. 분산된다. 글쓰기, 작업 관리, 다이어그램, 수식이 전부 다른 도구에 있다. 컨텍스트 전환 비용이 쌓인다.
3. 한국어가 부차적이다. 대부분의 에디터에서 한글은 2등 시민이다. 가나다 번호 매기기? HWP 변환? 없다.
1. Heavy. Electron-based editors consume 400MB+ just to write a memo. That's another browser instance.
2. Scattered. Writing, task management, diagrams, and math live in different tools. Context switching costs add up.
3. Korean is an afterthought. Hangul is a second-class citizen in most editors. Korean numbering? HWP conversion? Nonexistent.

설계 원칙Design Principles

1. 네이티브 성능은 타협할 수 없다1. Native Performance is Non-Negotiable

Leaf는 Electron 대신 Tauri + Rust를 선택했다. 파일 I/O, 트리 인덱싱, 그래프 생성, Git 연동 같은 무거운 작업은 전부 Rust 백엔드에서 처리한다. 프론트엔드는 React + CodeMirror 6으로 렌더링만 담당한다.Leaf chose Tauri + Rust over Electron. Heavy operations — file I/O, tree indexing, graph generation, Git integration — all run in the Rust backend. The frontend (React + CodeMirror 6) handles rendering only.

성능 목표 (타협 불가)
콜드 스타트: <300ms · 10MB 파일 열기: <100ms · 입력→렌더링: <16ms (60fps) · 메모리: <150MB · 대기 CPU: ~0%
Performance Targets (Non-Negotiable)
Cold start: <300ms · Open 10MB file: <100ms · Type-to-render: <16ms (60fps) · Memory: <150MB · Idle CPU: ~0%

2. 하나의 도구로 충분해야 한다2. One Tool Should Be Enough

마크다운 에디터에 칸반 보드가 왜 있냐고? 문서를 쓰다가 할 일을 관리하려고 Trello를 열고, 다이어그램을 그리려고 draw.io를 열고, 수식을 쓰려고 LaTeX 에디터를 여는 게 비효율적이기 때문이다. Leaf는 이 모든 것을 마크다운 안에서 해결한다.Why does a markdown editor have a Kanban board? Because switching to Trello for tasks, draw.io for diagrams, and a LaTeX editor for equations while writing is inefficient. Leaf handles all of this within markdown.

3. 한국어 퍼스트3. Korean First

Leaf는 한국어 사용자를 위해 만들어졌다. 한글 번호 매기기(가, 나, 다 / 일, 이, 삼), HWP 가져오기/내보내기, 한국 공문서 템플릿(기안문, 품의서, 보고서 등 18종), 네이티브 메뉴 한글화까지. "번역된" 한국어가 아니라 처음부터 한국어로 설계했다.Leaf was built for Korean users first. Hangul numbering (가나다 / 일이삼), HWP import/export, 18 Korean government document templates, fully localized menus. Not translated Korean — designed in Korean from day one.

Obsidian과 Typora, 그리고 LeafObsidian, Typora, and Leaf

마크다운 에디터 시장에서 Obsidian과 Typora는 각각 전혀 다른 문제를 풀고 있다. Leaf는 이 둘의 강점을 이해하고, 그 사이에서 자기만의 자리를 찾았다.Obsidian and Typora solve fundamentally different problems in the markdown editor space. Leaf understands both strengths and carves its own position between them.

Obsidian — 지식의 연결에 집중Obsidian — Focused on Connecting Knowledge

Obsidian의 핵심은 "제2의 뇌(Second Brain)"다. [[위키링크]]로 문서를 연결하고, 그래프 뷰에서 지식의 관계를 시각적으로 탐색한다. 백링크가 쌓이면서 노트 사이의 의외의 연결고리가 드러나고, 이것이 새로운 아이디어로 이어진다. 플러그인 생태계도 강력해서 칸반, 데이터뷰, 템플릿 등 커뮤니티가 만든 1,000개 이상의 확장이 있다.Obsidian's core is the "Second Brain." Connect documents with [[wikilinks]], explore knowledge relationships visually in graph view. As backlinks accumulate, unexpected connections emerge between notes, leading to new ideas. The plugin ecosystem is powerful — 1,000+ community extensions for Kanban, Dataview, templates, and more.

하지만 Obsidian에는 트레이드오프가 있다. 편집 경험이 거칠다. 라이브 프리뷰가 있지만 Typora만큼 매끄럽지 않다. 마크다운 소스와 렌더링 결과 사이에서 시각적 어색함이 남는다. 그리고 Electron 기반이라 400MB 이상의 메모리를 먹는다. 플러그인을 많이 설치하면 더 무거워진다.But Obsidian has trade-offs. The editing experience is rough. Live preview exists but isn't as polished as Typora. Visual awkwardness remains between markdown source and rendered output. It's Electron-based, consuming 400MB+. More plugins means even more weight.

Leaf가 Obsidian에서 가져온 것What Leaf Took from Obsidian

[[위키링크]] + 지식 그래프. Leaf도 D3.js 기반 인터랙티브 그래프를 지원한다. 로컬 뷰(현재 문서 중심)와 글로벌 뷰(전체 볼트) 전환, 노드 호버 시 문서 미리보기와 미니 그래프 팝업, 링크 수에 비례하는 노드 크기까지. 다만 Obsidian과 달리 플러그인 없이 칸반, 머메이드, KaTeX, 코넬 노트가 전부 내장되어 있어서 플러그인 호환성 걱정이 없다.[[Wikilinks]] + Knowledge Graph. Leaf also supports interactive D3.js graphs. Local view (current doc center) and global view (full vault), node hover with document preview and mini-graph popup, node size proportional to link count. Unlike Obsidian, Kanban, Mermaid, KaTeX, and Cornell Notes are all built-in — no plugin compatibility worries.

Typora — 글쓰기 경험에 집중Typora — Focused on Writing Experience

Typora의 핵심은 "쓰는 곳이 곧 보는 곳"이다. 마크다운을 입력하는 순간 즉시 렌더링되어 별도의 미리보기 패널이 필요 없다. # 제목을 치면 마크다운 문법이 사라지고 큰 글씨만 남는다. 이 매끄러운 WYSIWYG 경험은 다른 에디터가 쉽게 따라오지 못한다. UI도 극도로 깔끔해서 글에만 집중할 수 있다.Typora's core is "where you write is where you read." Markdown renders instantly as you type — no separate preview pane. Type # Heading and the markdown syntax disappears, leaving only the large text. This seamless WYSIWYG experience is hard for others to match. The UI is extremely clean, letting you focus solely on writing.

하지만 Typora에는 지식 관리 기능이 없다. 위키링크도, 그래프 뷰도, 백링크도 없다. 하나의 문서를 예쁘게 쓰는 데는 최고지만, 수백 개의 노트를 연결하고 탐색하는 워크플로우에는 맞지 않는다. 다이어그램이나 칸반 같은 확장 기능도 제한적이다.But Typora has no knowledge management. No wikilinks, no graph view, no backlinks. It's the best for writing a single beautiful document, but doesn't fit workflows that connect and explore hundreds of notes. Extended features like diagrams and Kanban are also limited.

Leaf가 Typora에서 가져온 것What Leaf Took from Typora

인라인 라이브 프리뷰. Leaf의 편집 엔진은 CodeMirror 6 위에 10,000줄 이상의 커스텀 라이브 프리뷰 플러그인을 구축했다. Typora처럼 마크다운을 쓰면 즉시 렌더링되고, Cmd+/로 소스 모드와 전환할 수 있다. 26종의 커스텀 위젯(테이블 인라인 편집, 체크박스 토글, 수식 렌더링, 코드 하이라이팅 등)이 편집 중에 실시간으로 동작한다. Typora의 깔끔함에 Obsidian의 연결성을 더한 셈이다.Inline live preview. Leaf's editor engine built 10,000+ lines of custom live preview plugin on CodeMirror 6. Like Typora, markdown renders instantly as you type, toggleable with Cmd+/. 26 custom widgets (inline table editing, checkbox toggle, math rendering, code highlighting, etc.) work in real-time while editing. It's Typora's polish plus Obsidian's connectivity.

Leaf의 포지션 — 둘 다이면서 둘 다가 아닌Leaf's Position — Both, Yet Neither

Leaf는 Obsidian의 "지식 연결" 철학과 Typora의 "매끄러운 글쓰기" 경험을 동시에 추구한다. 그러면서 어느 쪽에도 없는 것들을 더했다.Leaf pursues both Obsidian's "knowledge connection" philosophy and Typora's "seamless writing" experience. And adds things found in neither.

Leaf만의 영역Leaf's Own Territory

Obsidian에도 Typora에도 없는 것:
· 코넬 노트 — 학습에 최적화된 3단 노트를 마크다운으로 직접 작성
· 칸반/메모 보드 — 플러그인 없이 마크다운 파일 하나로 작업 관리
· 웹 → 마크다운 스크래핑 — 내장 브라우저에서 버튼 하나로 웹 페이지를 마크다운 변환
· 저널리스트 모드 — 5W1H 분석, 수동태 탐지, 역피라미드 구조 검사
· 잔디 히트맵 — GitHub 잔디처럼 글쓰기 활동을 날짜별로 시각화
· 테이블 수식 — 마크다운 테이블에서 합계, 평균, 최대, 최소 계산
· ABC 악보 — 악보 렌더링과 MIDI 재생
· 물리 시뮬레이터 — 교육용 물리 시각화 7종
· HWP 변환 — 한국 공문서 표준 포맷 지원
· 한글 번호 매기기 — 가나다, 일이삼 네이티브 지원

그리고 이 모든 것이 Electron이 아니라 Tauri + Rust 위에서 150MB 미만으로 돌아간다.
Found in neither Obsidian nor Typora:
· Cornell Notes — study-optimized 3-section notes directly in markdown
· Kanban/Memo Board — task management in a single markdown file, no plugins
· Web → Markdown scraping — convert web pages to markdown with one click in the built-in browser
· Journalist Mode — 5W1H analysis, passive voice detection, reverse pyramid check
· Grass Heatmap — GitHub-style visualization of writing activity by date
· Table Formulas — calculate sum, average, max, min in markdown tables
· ABC Music — sheet music rendering with MIDI playback
· Physics Simulator — 7 educational physics visualizations
· HWP Conversion — Korean government standard format support
· Hangul Numbering — 가나다, 일이삼 natively supported

And all of this runs under 150MB on Tauri + Rust, not Electron.

정리하면 이렇다:To summarize:

Obsidian

  • 강점: 지식 연결, 그래프, 플러그인 생태계Strength: Knowledge connection, graph, plugin ecosystem
  • 약점: 편집 UX 거친, 무거운 메모리, 핵심 기능도 플러그인 의존Weakness: Rough editing UX, heavy memory, core features depend on plugins

Typora

  • 강점: 최고의 WYSIWYG, 깔끔한 UI, 집중 환경Strength: Best WYSIWYG, clean UI, focused environment
  • 약점: 지식 관리 없음, 확장 기능 부재, 생태계 폐쇄적Weakness: No knowledge management, no extensions, closed ecosystem

Leaf

  • Obsidian의 연결: 위키링크, 그래프 뷰, 백링크, 태그 필터링 → 내장Obsidian's connectivity: Wikilinks, graph view, backlinks, tag filtering → built-in
  • Typora의 품질: 인라인 WYSIWYG, Cmd+/ 소스 전환, 깔끔한 UI → 10,000줄 커스텀 프리뷰 엔진으로 구현Typora's quality: Inline WYSIWYG, Cmd+/ source toggle, clean UI → 10,000-line custom preview engine
  • 둘 다에 없는 것: 코넬 노트, 칸반, 웹 스크래핑, 저널리스트 분석, 잔디 히트맵, 테이블 수식, 물리 시뮬레이터, HWP, 한글 번호, 40+ 템플릿Neither has: Cornell Notes, Kanban, web scraping, journalist analysis, grass heatmap, table formulas, physics sim, HWP, Hangul numbering, 40+ templates
  • 성능: Tauri + Rust로 메모리 1/3, 시작 속도 3배 이상 빠르게Performance: Tauri + Rust means 1/3 memory, 3x+ faster startup

상세 비교표Detailed Comparison

LeafObsidianTyporaVS Code
RuntimeTauri (Rust)ElectronElectronElectron
메모리Memory<150MB~400MB~250MB~500MB
WYSIWYG✓✓✓✗
지식 그래프Graph✓✓✗✗
코넬 노트Cornell✓✗✗✗
칸반Kanban✓플러그인Plugin✗✗
HWP✓✗✗✗
ABC 악보Music✓✗✗✗
내장 터미널Terminal✓✗✗✓
웹 스크래핑Web Scraping✓✗✗✗
잔디 히트맵Grass Heatmap✓✗✗✗
테이블 수식Table Formulas✓✗✗✗
글쓰기 분석Writing Analysis저널리스트Journalist✗✗✗

누구를 위한 에디터인가Who Is Leaf For

← 문서 목록← All Docs 시작하기 →Getting Started →