A comprehensive Rust learning knowledge base built with Obsidian
๐ Quick Start โข ๐ Documentation โข ๐ฏ Features โข ๐ค Contributing
English | ็ฎไฝไธญๆ
This is a Knowledge Accumulation Workflow (KAW) system built in Obsidian, designed to help you systematically learn and master the Rust programming language. It combines the power of bidirectional linking, atomic notes, and visual knowledge graphs.
- โ Structured Learning Path - From zero to hero with clear roadmaps
- โ Interconnected Knowledge - Build a web of concepts with bidirectional links
- โ Progress Tracking - Monitor your learning journey
- โ Code Snippet Library - Reusable examples at your fingertips
- โ Problem Solving - Document challenges and solutions
- โ Review System - Spaced repetition for long-term retention
- โ WebAssembly Focus - Special resources for Rust + WASM development
- Obsidian - Download here (Free)
- Rust (optional) - Install Rust
# Clone this repository
git clone https://github.com/Desperado1001/rust-learning-vault.git
# Open in Obsidian
# 1. Launch Obsidian
# 2. Click "Open folder as vault"
# 3. Select the cloned rust_vault folderOnce opened in Obsidian, navigate to:
00-Index/Rust-MOC.md- ๐ Your starting point (Master Index)00-Index/Learning-Roadmap.md- ๐บ๏ธ Complete learning path00-Index/Setup-Guide.md- โ๏ธ Development environment setup
rust_vault/
โ
โโโ ๐ 00-Index/ # Start Here!
โ โโโ Rust-MOC.md # ๐ Master Map of Content
โ โโโ Learning-Roadmap.md # Complete learning pathway
โ โโโ Setup-Guide.md # Environment setup
โ โโโ How-To-Use-This-Vault.md # Usage guide
โ
โโโ ๐ 01-Fundamentals/ # Core Concepts
โ โโโ Ownership.md # Memory management
โ โโโ Borrowing.md # References & borrowing
โ โโโ Lifetimes.md # Lifetime annotations
โ โโโ ...
โ
โโโ ๐ 02-Advanced-Concepts/ # Advanced Topics
โ โโโ Traits.md # Trait system
โ โโโ Generics.md # Generic programming
โ โโโ Macros.md # Macro system
โ โโโ ...
โ
โโโ ๐ฆ 03-Standard-Library/ # Std Library Reference
โ โโโ Collections/
โ โโโ Iterators/
โ โโโ ...
โ
โโโ ๐ 04-Ecosystem/ # Crates & Tools
โ โโโ Cargo.md # Package manager
โ โโโ Crates/
โ โ โโโ Serde.md
โ โ โโโ Tokio.md
โ โ โโโ ...
โ โโโ ...
โ
โโโ ๐จ 05-Patterns-and-Practices/ # Best Practices
โ โโโ Design-Patterns/
โ โโโ Error-Handling/
โ โโโ ...
โ
โโโ ๐ 06-Projects/ # Hands-on Projects
โ โโโ Rust-Web-Projects.md # Web development guide
โ โโโ Rust-WebAssembly-Guide.md # WASM comprehensive guide
โ โโโ WASM-Quick-Reference.md # WASM quick reference
โ โโโ ...
โ
โโโ ๐พ 07-Code-Snippets/ # Reusable Code
โ โโโ (Your code examples)
โ
โโโ ๐
08-Daily-Learning/ # Learning Journal
โ โโโ (Daily notes)
โ
โโโ โ 09-Questions-and-Answers/ # Problem Solving
โ โโโ (Q&A documentation)
โ
โโโ ๐ 10-Templates/ # Note Templates
โโโ Concept-Template.md
โโโ Daily-Learning-Template.md
โโโ Code-Snippet-Template.md
Create a knowledge web with [[double brackets]]:
Understanding [[Ownership]] requires knowledge of [[Borrowing]] and [[Lifetimes]].Organize with multi-dimensional tags:
#rust #concept #ownership #fundamental #learning- Press
Ctrl/Cmd + Gto see your knowledge network - Identify knowledge gaps and connections
- Track learning progress visually
Quick-start notes with pre-built templates:
- Concept Template - For learning new concepts
- Daily Learning Template - Daily progress tracking
- Code Snippet Template - Reusable code examples
Ctrl/Cmd + Shift + F- Global searchtag:#rust- Search by tagspath:06-Projects- Search in specific folders
graph LR
A[Start Day] --> B[Create Daily Note]
B --> C[Learn New Concept]
C --> D[Create Concept Note]
D --> E[Add Code Snippets]
E --> F[Link Related Concepts]
F --> G[Review & Practice]
G --> H[Update Progress]
- ๐ Morning - Create daily note using template
- ๐ Study - Learn from resources, create concept notes
- ๐ป Practice - Code along, save useful snippets
- ๐ Connect - Link new concepts to existing knowledge
- โ Document - Record questions and solutions
- ๐ Review - Check graph view, identify weak areas
- ๐ Evening - Update daily note with progress
- โ Daily Notes - Automatic daily note creation
- โ Templates - Template insertion
- โ Graph View - Visual knowledge map
- โ Backlinks - See all references
| Plugin | Purpose | Priority |
|---|---|---|
| Calendar | Visual calendar for daily notes | โญโญโญ |
| Dataview | Query and display data dynamically | โญโญโญ |
| Templater | Advanced template features | โญโญโญ |
| Tasks | Task management with advanced queries | โญโญ |
| Kanban | Kanban board for project tracking | โญโญ |
| Excalidraw | Draw diagrams and sketches | โญโญ |
This vault comes with a complete Obsidian configuration pre-installed! Just open it in Obsidian and start learningโno setup required.
The .obsidian folder contains:
- โ Core Plugins - All essential features enabled (Graph, Templates, Daily Notes, etc.)
- โ Custom Hotkeys - Productivity-boosting keyboard shortcuts
- โ Graph Colors - Each folder has a distinct color for visual clarity
- โ Template Setup - Automatic template folder configuration
- โ Daily Notes Config - Pre-configured with custom location and template
- โ Optimized Settings - Readable fonts, spellcheck, auto-linking, and more
| Action | Windows/Linux | Mac |
|---|---|---|
| Quick Switcher | Ctrl + O |
Cmd + O |
| Command Palette | Ctrl + Shift + P |
Cmd + Shift + P |
| Open Graph | Ctrl + G |
Cmd + G |
| Open Today's Note | Ctrl + Shift + D |
Cmd + Shift + D |
| Insert Template | Ctrl + T |
Cmd + T |
| Toggle Bold | Ctrl + B |
Cmd + B |
See .obsidian/README.md for the complete hotkey list!
The knowledge graph is color-coded by folder:
- ๐ด Index (Red) โข ๐ Fundamentals (Orange) โข ๐ก Advanced (Yellow)
- ๐ข Standard Library (Green) โข ๐ต Ecosystem (Cyan) โข ๐ฃ Projects (Purple)
All settings can be customized through:
- Settings (
Ctrl/Cmd + ,) โ Appearance, Hotkeys, Plugins - Your changes are saved automatically
- See
.obsidian/README.mdfor detailed configuration guide
- ๐บ๏ธ Learning Roadmap - Complete learning path
- ๐ Rust Web Projects - 10 curated projects (5 beginner + 5 production)
- ๐ WebAssembly Guide - Comprehensive WASM tutorial
- โก WASM Quick Reference - Instant lookup guide
| Resource | Type | Link |
|---|---|---|
| The Rust Book | ๐ Official Guide | rust-book |
| Rust by Example | ๐ป Interactive | rust-by-example |
| Rustlings | ๐ฎ Exercises | rustlings |
| Rust std docs | ๐ API Reference | std-docs |
| Rust WASM Book | ๐ WASM Guide | rustwasm-book |
- Atomic Notes - One concept per note
- Link Everything - Connect at least 3 related concepts
- Use Examples - Include code snippets
- Regular Reviews - Spaced repetition: 1d, 3d, 7d, 30d
# Type Tags
#concept #snippet #project #question #resource
# Difficulty
#easy #medium #hard
# Status
#learning #understood #mastered #review
# Topic
#ownership #async #macros #wasm #web- Morning - Review yesterday's notes
- Midday - Learn new concepts, practice
- Evening - Summarize in daily note
cd rust_vault
git init
git add .
git commit -m "Daily learning update"
git push- Obsidian Sync (Official, paid)
- Syncthing (Free, self-hosted)
- OneDrive / Dropbox / iCloud
TABLE status, difficulty, reviewed
FROM #concept
WHERE contains(file.folder, "01-Fundamentals")
SORT status DESC
Maintain checklists in your MOC file.
I'm new to Obsidian, where do I start?
- Open
00-Index/Rust-MOC.md- Your command center - Read
How-To-Use-This-Vault.md- Learn the workflow - Create your first daily note
- Start learning from
Learning-Roadmap.md
How do I use templates?
- Create a new note
- Type
/templateand select the desired template - Or manually copy from
10-Templates/
Can I modify the structure?
Absolutely! This is YOUR vault. Adapt it to your learning style.
How do I contribute?
See Contributing section below!
Contributions are welcome! Here's how you can help:
- โญ Star this repo - Show your support
- ๐ Report bugs - Open an issue
- ๐ก Suggest improvements - Share your ideas
- ๐ Add resources - Submit PRs with new content
- ๐จ Share templates - Create new templates
๐ Read our detailed Contributing Guide (ไธญๆ็) for complete guidelines on:
- How to set up your development environment
- Content guidelines and style guide
- Pull request process
- Community standards
- Fork this repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Obsidian - The amazing knowledge base tool
- Rust Community - For excellent resources
- All contributors and learners using this vault
Open in Obsidian โข View Learning Roadmap โข Join Discussions
Made with โค๏ธ by Paolo Zhao
"The Rust compiler is your friend!" ๐ฆ
Last Updated: October 27, 2025 | Version: 0.1.0