# Memory Palace A hybrid workspace combining Obsidian-style knowledge management with code development. ## 📚 Documentation **New to this workspace?** - Setup: See [SETUP.md](SETUP.md) for installation on a new computer - Obsidian Guide: See [docs/OBSIDIAN_GUIDE.md](docs/OBSIDIAN_GUIDE.md) for comprehensive guide ## 📁 Structure ### Documentation (`/docs`) - **daily/** - Daily notes and journal entries - **projects/** - Project-specific documentation - **concepts/** - Evergreen notes and core concepts - **fleeting/** - Quick captures and temporary notes - **assets/** - Images, diagrams, and attachments - **reference-material/** - Reference docs and external materials ### Code (`/code`) - **bookmarklets/** - Browser bookmarklets and utilities - **junk-drawer/** - Miscellaneous code, scripts, and work-in-progress items - **scratchpad/** - Experimental code organized by language - python/ - javascript/ - typescript/ - **templates/** - Reusable code templates - **utils/** - Build tools and generators (bookmarklet maker, git tools, etc.) ## 🚀 Getting Started **New to this workspace?** See [SETUP.md](SETUP.md) for complete setup instructions on a new computer. ### Creating Notes - Press `Cmd+Shift+P` and type "Obsidian: Open Today's Daily Note" for daily notes - Use `[[wiki-style links]]` to connect notes - Quick Switcher: "Obsidian: Quick Switcher" to navigate between notes - Graph View: "Obsidian: Open Graph View" to visualize connections ### Linking Notes - Type `[[` to search and link to other notes - Right-click on a note to see backlinks - Use the graph view to visualize connections ### Writing Code - Navigate to `/code` folders for development - Use `Cmd+Shift+P` → "Code Runner: Run Code" to execute scripts - Bookmarks extension: `Cmd+Alt+K` to toggle bookmarks ## 📚 Key Features ### Documentation Features - **Wiki-style linking** - Connect ideas with `[[links]]` ("Obsidian: Show Backlinks") - **Graph visualization** - Visual map of your knowledge ("Obsidian: Open Graph View") - **Daily notes** - Quick capture with today's note ("Obsidian: Open Today's Daily Note") - **Quick Switcher** - Fast navigation between notesowledge - **Daily notes** - Automatic daily note creation ### Code Features - **Multi-language support** - Python, JavaScript, TypeScript - **Quick execution** - Run code snippets instantly - **Code bookmarks** - Mark important code sections - **Todo tracking** - Track TODOs across all files ## 🎯 Useful Comma | Shortcut | Description | | ------------------ | ---------- | ----------------------------------- | | Daily Note | - | Obsidian: Open Today's Daily Note | | Quick Switcher | - | Obsidian: Quick Switcher | | Show Graph | - | Obsidian: Open Graph View | | Show Backlinks | - | Obsidian: Show Backlinks | | Run Code | Ctrl+Alt+N | Execute current file | | Toggle Bookmark | Cmd+Alt+K | Mark/unmark code location | | Show Todos | - | Todo Tree: Focus on View | | Toggle Bookmark | Cmd+Alt+K | Mark/unmark code location | | Show Todos | - | Todo Tree: Focus on View | ## 🔍 Search Tips - Use `Cmd+P` for quick file navigation - `Cmd+Shift+F` for workspace-wide search - Todo Tree automatically finds TODO, FIXME, NOTE, IDEA tags ## 📝 Note-Taking Tips 1. Use descriptive filenames (automatically slugified) 2. Start with fleeting notes, refine into concepts 3. Link liberally - connections create value 4. Review backlinks regularly to discover patterns ## 💡 Bookmarklet Development 1. Write bookmarklets as regular JavaScript in `/code/bookmarklets/` 2. Run `npm run bookmarklet -- code/bookmarklets/your-file.js` 3. Generator removes comments, minifies, and copies to clipboard 4. Paste into browser bookmark URL field See [code/bookmarklets/README.md](code/bookmarklets/README.md) for detailed instructions. ## 🔧 Customization Edit `.vscode/settings.json` to customize: - Daily note location and format - Todo tags and highlighting - Code execution behavior - Search exclusions ## 📦 Module System This project uses **ES modules** (import/export), not CommonJS (require): - `package.json` is configured with `"type": "module"` - Use `import` and `export` statements in all JavaScript files - See [code/templates/](code/templates/) for examples ## 🔄 Version Control **Auto-commit enabled via GitDoc:** - Automatically commits changes 1 second after save - Auto-pushes after each commit - Pull on workspace open - View history with Git Graph (`Cmd+Shift+P` → "Git Graph") - Rollback using Timeline (right-click file → "Open Timeline") See [SETUP.md](SETUP.md) for git configuration and rollback instructions. --- _Start exploring by creating your first note or diving into the code folders!_