Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

13 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿฆ€ Rust Learning Vault

A comprehensive Rust learning knowledge base built with Obsidian

GitHub Stars GitHub Forks License Obsidian Rust

๐Ÿš€ Quick Start โ€ข ๐Ÿ“š Documentation โ€ข ๐ŸŽฏ Features โ€ข ๐Ÿค Contributing

English | ็ฎ€ไฝ“ไธญๆ–‡


๐Ÿ“– About This Project

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.

โœจ Why This Vault?

  • โœ… 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

๐Ÿš€ Quick Start

Prerequisites

Installation

# 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 folder

๐ŸŽฏ Start Here

Once opened in Obsidian, navigate to:

  1. 00-Index/Rust-MOC.md - ๐Ÿ“ Your starting point (Master Index)
  2. 00-Index/Learning-Roadmap.md - ๐Ÿ—บ๏ธ Complete learning path
  3. 00-Index/Setup-Guide.md - โš™๏ธ Development environment setup

๐Ÿ“‚ Vault Structure

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

๐ŸŽฏ Core Features

1. ๐Ÿ”— Bidirectional Linking

Create a knowledge web with [[double brackets]]:

Understanding [[Ownership]] requires knowledge of [[Borrowing]] and [[Lifetimes]].

2. ๐Ÿท๏ธ Smart Tagging System

Organize with multi-dimensional tags:

#rust #concept #ownership #fundamental #learning

3. ๐Ÿ“Š Visual Knowledge Graph

  • Press Ctrl/Cmd + G to see your knowledge network
  • Identify knowledge gaps and connections
  • Track learning progress visually

4. ๐Ÿ“‹ Template System

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

5. ๐Ÿ” Powerful Search

  • Ctrl/Cmd + Shift + F - Global search
  • tag:#rust - Search by tags
  • path:06-Projects - Search in specific folders

๐Ÿ’ก Workflow

Daily Learning Process

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]
Loading

Step-by-Step

  1. ๐Ÿ“… Morning - Create daily note using template
  2. ๐Ÿ“– Study - Learn from resources, create concept notes
  3. ๐Ÿ’ป Practice - Code along, save useful snippets
  4. ๐Ÿ”— Connect - Link new concepts to existing knowledge
  5. โ“ Document - Record questions and solutions
  6. ๐Ÿ“Š Review - Check graph view, identify weak areas
  7. ๐ŸŒ™ Evening - Update daily note with progress

๐Ÿ”Œ Recommended Plugins

Core Plugins (Built-in)

  • โœ… Daily Notes - Automatic daily note creation
  • โœ… Templates - Template insertion
  • โœ… Graph View - Visual knowledge map
  • โœ… Backlinks - See all references

Community Plugins (Highly Recommended)

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 โญโญ

โš™๏ธ Obsidian Configuration

๐ŸŽ‰ Out-of-the-Box Setup

This vault comes with a complete Obsidian configuration pre-installed! Just open it in Obsidian and start learningโ€”no setup required.

๐Ÿ“ What's Included

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

โŒจ๏ธ Essential Hotkeys

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!

๐ŸŽจ Graph View Colors

The knowledge graph is color-coded by folder:

  • ๐Ÿ”ด Index (Red) โ€ข ๐ŸŸ  Fundamentals (Orange) โ€ข ๐ŸŸก Advanced (Yellow)
  • ๐ŸŸข Standard Library (Green) โ€ข ๐Ÿ”ต Ecosystem (Cyan) โ€ข ๐ŸŸฃ Projects (Purple)

๐Ÿ”ง Customization

All settings can be customized through:

  • Settings (Ctrl/Cmd + ,) โ†’ Appearance, Hotkeys, Plugins
  • Your changes are saved automatically
  • See .obsidian/README.md for detailed configuration guide

๐Ÿ“š Learning Resources

Internal Resources (Included in Vault)

  • ๐Ÿ—บ๏ธ 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

External Resources

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

๐ŸŽจ Best Practices

๐Ÿ“ Note-Taking Tips

  1. Atomic Notes - One concept per note
  2. Link Everything - Connect at least 3 related concepts
  3. Use Examples - Include code snippets
  4. Regular Reviews - Spaced repetition: 1d, 3d, 7d, 30d

๐Ÿท๏ธ Tagging Convention

# Type Tags
#concept #snippet #project #question #resource

# Difficulty
#easy #medium #hard

# Status
#learning #understood #mastered #review

# Topic
#ownership #async #macros #wasm #web

๐Ÿ“… Daily Routine

  • Morning - Review yesterday's notes
  • Midday - Learn new concepts, practice
  • Evening - Summarize in daily note

๐Ÿ”„ Backup & Sync

Option 1: Git (Recommended)

cd rust_vault
git init
git add .
git commit -m "Daily learning update"
git push

Option 2: Cloud Sync

  • Obsidian Sync (Official, paid)
  • Syncthing (Free, self-hosted)
  • OneDrive / Dropbox / iCloud

๐Ÿ“Š Progress Tracking

Using Dataview (Plugin Required)

TABLE status, difficulty, reviewed
FROM #concept
WHERE contains(file.folder, "01-Fundamentals")
SORT status DESC

Manual Tracking

Maintain checklists in your MOC file.


โ“ FAQ

I'm new to Obsidian, where do I start?
  1. Open 00-Index/Rust-MOC.md - Your command center
  2. Read How-To-Use-This-Vault.md - Learn the workflow
  3. Create your first daily note
  4. Start learning from Learning-Roadmap.md
How do I use templates?
  1. Create a new note
  2. Type /template and select the desired template
  3. 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!


๐Ÿค Contributing

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

How to Contribute

  1. Fork this repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments

  • Obsidian - The amazing knowledge base tool
  • Rust Community - For excellent resources
  • All contributors and learners using this vault

๐ŸŒŸ Star History

Star History Chart


๐Ÿš€ Ready to Start?

Open in Obsidian โ€ข View Learning Roadmap โ€ข Join Discussions


Made with โค๏ธ by Paolo Zhao

"The Rust compiler is your friend!" ๐Ÿฆ€


Rust Logo

Last Updated: October 27, 2025 | Version: 0.1.0

About

obsidian rust leaning valt by zed

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages