Files
interview/.obsidian/workspace.json
yasinshaw 0fbb50959e feat: add Obsidian visualization plugins and guide
Added comprehensive visualization plugins and setup guide:

**Installed Community Plugins:**
1. **Dataview** - Query and visualize data from Markdown files
   - Create tables, lists, task views
   - Filter and sort by metadata
2. **Kanban** - Task board with drag-and-drop
   - Track learning progress
   - Manage interview prep tasks
3. **Calendar** - Daily notes with calendar view
   - Track study consistency
   - Auto-generate daily journals
4. **Heatmap** - Activity heatmap (GitHub-style)
   - Visualize study frequency
   - Track learning streaks
5. **Obsidian Tasks** - Advanced task management
   - Query tasks by due date, tags, priority
   - Track overdue and upcoming tasks
6. **Obsidian Chart** - Create charts and graphs
   - Pie charts, bar charts, line charts
   - Visualize learning statistics
7. **Advanced Slides** - Create presentations
   - Build interview prep slides
   - Support for Marp.js

**Enhanced Core Plugins:**
- Enabled Graph Analysis for better relationship visualization
- Enabled Webviewer for embedded content

**Created Documentation:**
- Comprehensive installation and usage guide
- Plugin configuration examples
- Best practices for interview preparation
- Keyboard shortcuts
- Troubleshooting tips

**Use Cases:**
- Build knowledge graph with Graph View + Canvas
- Track progress with Calendar + Heatmap + Tasks
- Review problems with Dataview + Kanban
- Create presentations with Advanced Slides

All configurations saved in .obsidian/ directory for automatic sync.

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-03-06 10:50:03 +08:00

236 lines
6.9 KiB
JSON

{
"main": {
"id": "cfc31b234f9d0e88",
"type": "split",
"children": [
{
"id": "32f5a06066909fa8",
"type": "tabs",
"children": [
{
"id": "fcbc762a80282002",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "questions/02-数据库/MyBatis核心原理.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "MyBatis核心原理"
}
}
]
}
],
"direction": "vertical"
},
"left": {
"id": "276b96a5bbc9d368",
"type": "split",
"children": [
{
"id": "2374cad907aa10ed",
"type": "tabs",
"children": [
{
"id": "16a7ce8de420dd10",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical",
"autoReveal": false
},
"icon": "lucide-folder-closed",
"title": "文件列表"
}
},
{
"id": "d44f4fc7eab3f4fb",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
},
"icon": "lucide-search",
"title": "搜索"
}
},
{
"id": "facb2114dd375ef7",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {},
"icon": "lucide-bookmark",
"title": "书签"
}
}
]
}
],
"direction": "horizontal",
"width": 300
},
"right": {
"id": "302ba9ccf0f34d23",
"type": "split",
"children": [
{
"id": "c307a3a357cfa8f6",
"type": "tabs",
"children": [
{
"id": "c4d3c0b53796add6",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "questions/02-数据库/MyBatis核心原理.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
"title": "MyBatis核心原理 的反向链接列表"
}
},
{
"id": "8767022e398a069a",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"file": "questions/02-数据库/MyBatis核心原理.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-going-out",
"title": "MyBatis核心原理 的出链列表"
}
},
{
"id": "fd81199af1061e2b",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-tags",
"title": "标签"
}
},
{
"id": "14164e0847f558c7",
"type": "leaf",
"state": {
"type": "all-properties",
"state": {
"sortOrder": "frequency",
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-archive",
"title": "添加笔记属性"
}
},
{
"id": "90b517de1aa00c75",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"file": "questions/02-数据库/MyBatis核心原理.md",
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
"title": "MyBatis核心原理 的大纲"
}
},
{
"id": "c33e9c75c2a885af",
"type": "leaf",
"state": {
"type": "git-view",
"state": {},
"icon": "git-pull-request",
"title": "Source Control"
}
}
],
"currentTab": 5
}
],
"direction": "horizontal",
"width": 300
},
"left-ribbon": {
"hiddenItems": {
"switcher:打开快速切换": false,
"graph:查看关系图谱": false,
"canvas:新建白板": false,
"daily-notes:打开/创建今天的日记": false,
"templates:插入模板": false,
"command-palette:打开命令面板": false,
"bases:新建数据库": false,
"obsidian-git:Open Git source control": false
}
},
"active": "16a7ce8de420dd10",
"lastOpenFiles": [
"Obsidian可视化插件指南.md",
"10-中间件/Netty实战场景.md",
"10-中间件/Java NIO核心原理.md",
"10-中间件/Netty核心原理.md",
"10-中间件",
"16-LeetCode Hot 100/从前序与中序遍历序列构造二叉树.md",
"16-LeetCode Hot 100/路径总和.md",
"16-LeetCode Hot 100/对称二叉树.md",
"16-LeetCode Hot 100/翻转二叉树.md",
"16-LeetCode Hot 100/二叉树的最大深度.md",
"16-LeetCode Hot 100/二叉树的中序遍历.md",
"16-LeetCode Hot 100/最小栈.md",
"16-LeetCode Hot 100/除自身以外数组的乘积.md",
"16-LeetCode Hot 100/最长连续序列.md",
"16-LeetCode Hot 100/完全平方数.md",
"16-LeetCode Hot 100/最大正方形.md",
"16-LeetCode Hot 100/柱状图中最大的矩形.md",
"16-LeetCode Hot 100/单词搜索.md",
"16-LeetCode Hot 100/子集.md",
"16-LeetCode Hot 100/最长回文子串.md",
"16-LeetCode Hot 100/括号生成.md",
"16-LeetCode Hot 100/删除链表的倒数第N个结点.md",
"16-LeetCode Hot 100/电话号码的字母组合.md",
"16-LeetCode Hot 100/盛最多水的容器.md",
"16-LeetCode Hot 100/三数之和.md",
"16-LeetCode Hot 100/无重复字符的最长子串.md",
"16-LeetCode Hot 100/两数相加.md",
"16-LeetCode Hot 100",
"00-项目概述",
"questions/15-简历面试",
"questions/14-Web3与区块链",
"12-面试技巧",
"08-算法与数据结构",
"questions/13-Golang语言",
"questions/12-面试技巧",
"questions/11-运维"
]
}