diff --git a/README-CN.md b/README-CN.md
index 73554b3..f17eefb 100644
--- a/README-CN.md
+++ b/README-CN.md
@@ -47,6 +47,17 @@ Quiet Outline:

+### 在 Canvas 中导航
+
+
+### 在 Kanban 中导航
+
+### 鼠标悬浮显示预览窗口
+
+
+
+### 记忆展开状态
+在切换已打开的笔记时,展开状态会被记录和恢复
## 局限
+ 由于内置编辑器的懒加载策略(只加载你当前在窗口中能看到的东西。如果你滚动地太快,可以看见有些文本来不及被渲染成相应的元素,如公式、表格、图片),有时只点一下没办法跳转到你想要的位置,尤其是第一次打开这个笔记的时候。 Obsidian内置的核心大纲插件也存在这个问题。 解决方法很简单:**再点一次**。
diff --git a/README.md b/README.md
index 4911054..447a6c7 100644
--- a/README.md
+++ b/README.md
@@ -49,7 +49,17 @@ use regex:

+### Navigate in Canvas
+
+### Navigate in Kanban
+
+### Show content when hovering on heading
+
+
+
+### Remember State
+Memorizing the expanded title state when switching between open notes
## Limitations
diff --git a/main.css b/main.css
index 2a1a23d..2373e66 100644
--- a/main.css
+++ b/main.css
@@ -1,35 +1 @@
-/* sfc-style:D:\MyLearningSpace\Programming\ObsidianPluginDev\测试\.obsidian\plugins\quiet-outline\src\Outline.vue?type=style&index=0 */
-.quiet-outline .n-tree .n-tree-node-indent {
- content: "";
- height: unset;
- align-self: stretch;
-}
-.quiet-outline .level-2 .n-tree-node-indent,
-.quiet-outline .level-3 .n-tree-node-indent:first-child,
-.quiet-outline .level-4 .n-tree-node-indent:first-child,
-.quiet-outline .level-5 .n-tree-node-indent:first-child,
-.quiet-outline .level-6 .n-tree-node-indent:first-child {
- border-right: var(--nav-indentation-guide-width) solid var(--762e1073-rainbowColor1);
-}
-.quiet-outline .level-3 .n-tree-node-indent,
-.quiet-outline .level-4 .n-tree-node-indent:nth-child(2),
-.quiet-outline .level-5 .n-tree-node-indent:nth-child(2),
-.quiet-outline .level-6 .n-tree-node-indent:nth-child(2) {
- border-right: var(--nav-indentation-guide-width) solid var(--762e1073-rainbowColor2);
-}
-.quiet-outline .level-4 .n-tree-node-indent,
-.quiet-outline .level-5 .n-tree-node-indent:nth-child(3),
-.quiet-outline .level-6 .n-tree-node-indent:nth-child(3) {
- border-right: var(--nav-indentation-guide-width) solid var(--762e1073-rainbowColor3);
-}
-.quiet-outline .level-5 .n-tree-node-indent,
-.quiet-outline .level-6 .n-tree-node-indent:nth-child(4) {
- border-right: var(--nav-indentation-guide-width) solid var(--762e1073-rainbowColor4);
-}
-.quiet-outline .level-6 .n-tree-node-indent {
- border-right: var(--nav-indentation-guide-width) solid var(--762e1073-rainbowColor5);
-}
-.n-tree-node.located p {
- color: var(--762e1073-locatedColor);
-}
-/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic2ZjLXN0eWxlOkQ6XFxNeUxlYXJuaW5nU3BhY2VcXFByb2dyYW1taW5nXFxPYnNpZGlhblBsdWdpbkRldlxcXHU2RDRCXHU4QkQ1XFwub2JzaWRpYW5cXHBsdWdpbnNcXHF1aWV0LW91dGxpbmVcXHNyY1xcT3V0bGluZS52dWU/dHlwZT1zdHlsZSZpbmRleD0wIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJcclxuLyogPT09PT09PT09PT09ICovXHJcbi8qICBcdTVGNjlcdTg2NzlcdTU5MjdcdTdFQjJcdTdFQkYgICAqL1xyXG4vKiByYWluYm93IGxpbmUgKi9cclxuLyogPT09PT09PT09PT09ICovXG4ucXVpZXQtb3V0bGluZSAubi10cmVlIC5uLXRyZWUtbm9kZS1pbmRlbnQge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGhlaWdodDogdW5zZXQ7XHJcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuLnF1aWV0LW91dGxpbmUgLmxldmVsLTIgLm4tdHJlZS1ub2RlLWluZGVudCxcclxuLnF1aWV0LW91dGxpbmUgLmxldmVsLTMgLm4tdHJlZS1ub2RlLWluZGVudDpmaXJzdC1jaGlsZCxcclxuLnF1aWV0LW91dGxpbmUgLmxldmVsLTQgLm4tdHJlZS1ub2RlLWluZGVudDpmaXJzdC1jaGlsZCxcclxuLnF1aWV0LW91dGxpbmUgLmxldmVsLTUgLm4tdHJlZS1ub2RlLWluZGVudDpmaXJzdC1jaGlsZCxcclxuLnF1aWV0LW91dGxpbmUgLmxldmVsLTYgLm4tdHJlZS1ub2RlLWluZGVudDpmaXJzdC1jaGlsZCB7XHJcbiAgICBib3JkZXItcmlnaHQ6IHZhcigtLW5hdi1pbmRlbnRhdGlvbi1ndWlkZS13aWR0aCkgc29saWQgdmFyKC0tNzYyZTEwNzMtcmFpbmJvd0NvbG9yMSk7XHJcbiAgICAvKiBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCByZ2IoMjUzLCAxMzksIDMxLCAwLjYpOyAqL1xufVxuLnF1aWV0LW91dGxpbmUgLmxldmVsLTMgLm4tdHJlZS1ub2RlLWluZGVudCxcclxuLnF1aWV0LW91dGxpbmUgLmxldmVsLTQgLm4tdHJlZS1ub2RlLWluZGVudDpudGgtY2hpbGQoMiksXHJcbi5xdWlldC1vdXRsaW5lIC5sZXZlbC01IC5uLXRyZWUtbm9kZS1pbmRlbnQ6bnRoLWNoaWxkKDIpLFxyXG4ucXVpZXQtb3V0bGluZSAubGV2ZWwtNiAubi10cmVlLW5vZGUtaW5kZW50Om50aC1jaGlsZCgyKSB7XHJcbiAgICBib3JkZXItcmlnaHQ6IHZhcigtLW5hdi1pbmRlbnRhdGlvbi1ndWlkZS13aWR0aCkgc29saWQgdmFyKC0tNzYyZTEwNzMtcmFpbmJvd0NvbG9yMik7XHJcbiAgICAvKiBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCByZ2IoMjU1LCAyMjMsIDAsIDAuNik7ICovXG59XG4ucXVpZXQtb3V0bGluZSAubGV2ZWwtNCAubi10cmVlLW5vZGUtaW5kZW50LFxyXG4ucXVpZXQtb3V0bGluZSAubGV2ZWwtNSAubi10cmVlLW5vZGUtaW5kZW50Om50aC1jaGlsZCgzKSxcclxuLnF1aWV0LW91dGxpbmUgLmxldmVsLTYgLm4tdHJlZS1ub2RlLWluZGVudDpudGgtY2hpbGQoMykge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1uYXYtaW5kZW50YXRpb24tZ3VpZGUtd2lkdGgpIHNvbGlkIHZhcigtLTc2MmUxMDczLXJhaW5ib3dDb2xvcjMpO1xyXG4gICAgLyogYm9yZGVyLXJpZ2h0OiAycHggc29saWQgcmdiKDcsIDIzNSwgMzUsIDAuNik7ICovXG59XG4ucXVpZXQtb3V0bGluZSAubGV2ZWwtNSAubi10cmVlLW5vZGUtaW5kZW50LFxyXG4ucXVpZXQtb3V0bGluZSAubGV2ZWwtNiAubi10cmVlLW5vZGUtaW5kZW50Om50aC1jaGlsZCg0KSB7XHJcbiAgICBib3JkZXItcmlnaHQ6IHZhcigtLW5hdi1pbmRlbnRhdGlvbi1ndWlkZS13aWR0aCkgc29saWQgdmFyKC0tNzYyZTEwNzMtcmFpbmJvd0NvbG9yNCk7XHJcbiAgICAvKiBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCByZ2IoNDUsIDE0MywgMjQwLCAwLjYpOyAqL1xufVxuLnF1aWV0LW91dGxpbmUgLmxldmVsLTYgLm4tdHJlZS1ub2RlLWluZGVudCB7XHJcbiAgICBib3JkZXItcmlnaHQ6IHZhcigtLW5hdi1pbmRlbnRhdGlvbi1ndWlkZS13aWR0aCkgc29saWQgdmFyKC0tNzYyZTEwNzMtcmFpbmJvd0NvbG9yNSk7XHJcbiAgICAvKiBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCByZ2IoMTg4LCAxLCAyMjYsIDAuNik7ICovXG59XHJcblxyXG4vKiBsb2NhdGVkIGhlYWRpbmcqL1xuLm4tdHJlZS1ub2RlLmxvY2F0ZWQgcHtcclxuICAgIGNvbG9yOiB2YXIoLS03NjJlMTA3My1sb2NhdGVkQ29sb3IpO1xufVxyXG4iXSwKICAibWFwcGluZ3MiOiAiO0FBS0E7QUFDSTtBQUNBO0FBQ0E7QUFBQTtBQUVKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLSTtBQUFBO0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFJSTtBQUFBO0FBR0o7QUFBQTtBQUFBO0FBR0k7QUFBQTtBQUdKO0FBQUE7QUFFSTtBQUFBO0FBR0o7QUFDSTtBQUFBO0FBS0o7QUFDSTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo= */
+.quiet-outline .n-tree .n-tree-node-indent{content:"";height:unset;align-self:stretch}.quiet-outline .level-2 .n-tree-node-indent,.quiet-outline .level-3 .n-tree-node-indent:first-child,.quiet-outline .level-4 .n-tree-node-indent:first-child,.quiet-outline .level-5 .n-tree-node-indent:first-child,.quiet-outline .level-6 .n-tree-node-indent:first-child{border-right:var(--nav-indentation-guide-width) solid var(--762e1073-rainbowColor1)}.quiet-outline .level-3 .n-tree-node-indent,.quiet-outline .level-4 .n-tree-node-indent:nth-child(2),.quiet-outline .level-5 .n-tree-node-indent:nth-child(2),.quiet-outline .level-6 .n-tree-node-indent:nth-child(2){border-right:var(--nav-indentation-guide-width) solid var(--762e1073-rainbowColor2)}.quiet-outline .level-4 .n-tree-node-indent,.quiet-outline .level-5 .n-tree-node-indent:nth-child(3),.quiet-outline .level-6 .n-tree-node-indent:nth-child(3){border-right:var(--nav-indentation-guide-width) solid var(--762e1073-rainbowColor3)}.quiet-outline .level-5 .n-tree-node-indent,.quiet-outline .level-6 .n-tree-node-indent:nth-child(4){border-right:var(--nav-indentation-guide-width) solid var(--762e1073-rainbowColor4)}.quiet-outline .level-6 .n-tree-node-indent{border-right:var(--nav-indentation-guide-width) solid var(--762e1073-rainbowColor5)}.n-tree-node.located p{color:var(--762e1073-locatedColor)}.quiet-outline .n-tree .n-tree-node .n-tree-node-content .n-tree-node-content__prefix{margin-right:0}.quiet-outline .n-tree .n-tree-node .n-tree-node-content .n-tree-node-content__prefix>*:last-child{margin-right:8px}.n-tree-node-switcher__icon{display:flex;align-items:center;justify-content:center}
diff --git a/manifest.json b/manifest.json
index 902a802..45ecf3e 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,7 +1,7 @@
{
"id": "obsidian-quiet-outline",
"name": "Quiet Outline",
- "version": "0.3.24",
+ "version": "0.3.25",
"minAppVersion": "0.15.6",
"description": "Make outline quiet and more powerful, including no-auto-expand, rendering heading as markdown, and search support.",
"author": "the_tree",
diff --git a/package-lock.json b/package-lock.json
index 17c1e43..53d5890 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,6 +10,7 @@
"license": "MIT",
"dependencies": {
"marked": "^4.0.12",
+ "monkey-around": "^3.0.0",
"vue": "^3.2.31"
},
"devDependencies": {
@@ -26,7 +27,7 @@
"esbuild": "0.13.12",
"hash-sum": "^2.0.0",
"naive-ui": "^2.28.1",
- "obsidian": "latest",
+ "obsidian": "^1.5.7-1",
"tslib": "2.3.1",
"typescript": "4.4.4"
}
@@ -886,18 +887,18 @@
}
},
"node_modules/@types/codemirror": {
- "version": "0.0.108",
- "resolved": "https://registry.npmmirror.com/@types/codemirror/-/codemirror-0.0.108.tgz",
- "integrity": "sha512-3FGFcus0P7C2UOGCNUVENqObEb4SFk+S8Dnxq7K6aIsLVs/vDtlangl3PEO0ykaKXyK56swVF6Nho7VsA44uhw==",
+ "version": "5.60.8",
+ "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.8.tgz",
+ "integrity": "sha512-VjFgDF/eB+Aklcy15TtOTLQeMjTo07k7KAjql8OK5Dirr7a6sJY4T1uVBDuTVG9VEmn1uUsohOpYnVfgC6/jyw==",
"dev": true,
"dependencies": {
"@types/tern": "*"
}
},
"node_modules/@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
"dev": true
},
"node_modules/@types/jest": {
@@ -966,9 +967,9 @@
"dev": true
},
"node_modules/@types/tern": {
- "version": "0.23.4",
- "resolved": "https://registry.npmmirror.com/@types/tern/-/tern-0.23.4.tgz",
- "integrity": "sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==",
+ "version": "0.23.9",
+ "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.9.tgz",
+ "integrity": "sha512-ypzHFE/wBzh+BlH6rrBgS5I/Z7RD21pGhZ2rltb/+ZrVM1awdZwjx7hE5XfuYgHWk9uvV5HLZN3SloevCAp3Bw==",
"dev": true,
"dependencies": {
"@types/estree": "*"
@@ -2951,6 +2952,11 @@
"node": "*"
}
},
+ "node_modules/monkey-around": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/monkey-around/-/monkey-around-3.0.0.tgz",
+ "integrity": "sha512-jL6uY2lEAoaHxZep1cNRkCZjoIWY4g5VYCjriEWmcyHU7w8NU1+JH57xE251UVTohK0lCxMjv0ZV4ByDLIXEpw=="
+ },
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
@@ -3011,12 +3017,12 @@
"dev": true
},
"node_modules/obsidian": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.1.1.tgz",
- "integrity": "sha512-GcxhsHNkPEkwHEjeyitfYNBcQuYGeAHFs1pEpZIv0CnzSfui8p8bPLm2YKLgcg20B764770B1sYGtxCvk9ptxg==",
+ "version": "1.5.7-1",
+ "resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.5.7-1.tgz",
+ "integrity": "sha512-T5ZRuQ1FnfXqEoakTTHVDYvzUEEoT8zSPnQCW31PVgYwG4D4tZCQfKHN2hTz1ifnCe8upvwa6mBTAP2WUA5Vng==",
"dev": true,
"dependencies": {
- "@types/codemirror": "0.0.108",
+ "@types/codemirror": "5.60.8",
"moment": "2.29.4"
},
"peerDependencies": {
@@ -4241,18 +4247,18 @@
}
},
"@types/codemirror": {
- "version": "0.0.108",
- "resolved": "https://registry.npmmirror.com/@types/codemirror/-/codemirror-0.0.108.tgz",
- "integrity": "sha512-3FGFcus0P7C2UOGCNUVENqObEb4SFk+S8Dnxq7K6aIsLVs/vDtlangl3PEO0ykaKXyK56swVF6Nho7VsA44uhw==",
+ "version": "5.60.8",
+ "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.8.tgz",
+ "integrity": "sha512-VjFgDF/eB+Aklcy15TtOTLQeMjTo07k7KAjql8OK5Dirr7a6sJY4T1uVBDuTVG9VEmn1uUsohOpYnVfgC6/jyw==",
"dev": true,
"requires": {
"@types/tern": "*"
}
},
"@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
"dev": true
},
"@types/jest": {
@@ -4321,9 +4327,9 @@
"dev": true
},
"@types/tern": {
- "version": "0.23.4",
- "resolved": "https://registry.npmmirror.com/@types/tern/-/tern-0.23.4.tgz",
- "integrity": "sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==",
+ "version": "0.23.9",
+ "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.9.tgz",
+ "integrity": "sha512-ypzHFE/wBzh+BlH6rrBgS5I/Z7RD21pGhZ2rltb/+ZrVM1awdZwjx7hE5XfuYgHWk9uvV5HLZN3SloevCAp3Bw==",
"dev": true,
"requires": {
"@types/estree": "*"
@@ -5731,6 +5737,11 @@
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
"dev": true
},
+ "monkey-around": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/monkey-around/-/monkey-around-3.0.0.tgz",
+ "integrity": "sha512-jL6uY2lEAoaHxZep1cNRkCZjoIWY4g5VYCjriEWmcyHU7w8NU1+JH57xE251UVTohK0lCxMjv0ZV4ByDLIXEpw=="
+ },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
@@ -5782,12 +5793,12 @@
"dev": true
},
"obsidian": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.1.1.tgz",
- "integrity": "sha512-GcxhsHNkPEkwHEjeyitfYNBcQuYGeAHFs1pEpZIv0CnzSfui8p8bPLm2YKLgcg20B764770B1sYGtxCvk9ptxg==",
+ "version": "1.5.7-1",
+ "resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.5.7-1.tgz",
+ "integrity": "sha512-T5ZRuQ1FnfXqEoakTTHVDYvzUEEoT8zSPnQCW31PVgYwG4D4tZCQfKHN2hTz1ifnCe8upvwa6mBTAP2WUA5Vng==",
"dev": true,
"requires": {
- "@types/codemirror": "0.0.108",
+ "@types/codemirror": "5.60.8",
"moment": "2.29.4"
}
},
diff --git a/package.json b/package.json
index 13dfe1c..0f6029b 100644
--- a/package.json
+++ b/package.json
@@ -14,6 +14,7 @@
"license": "MIT",
"dependencies": {
"marked": "^4.0.12",
+ "monkey-around": "^3.0.0",
"vue": "^3.2.31"
},
"devDependencies": {
@@ -30,7 +31,7 @@
"esbuild": "0.13.12",
"hash-sum": "^2.0.0",
"naive-ui": "^2.28.1",
- "obsidian": "latest",
+ "obsidian": "^1.5.7-1",
"tslib": "2.3.1",
"typescript": "4.4.4"
}
diff --git a/public/nav_in_canvas.gif b/public/nav_in_canvas.gif
new file mode 100644
index 0000000..9162a24
Binary files /dev/null and b/public/nav_in_canvas.gif differ
diff --git a/public/popover.gif b/public/popover.gif
new file mode 100644
index 0000000..5ac3f71
Binary files /dev/null and b/public/popover.gif differ
diff --git a/src/Outline.vue b/src/Outline.vue
index 32e8845..88e0b8a 100644
--- a/src/Outline.vue
+++ b/src/Outline.vue
@@ -22,7 +22,8 @@
style="margin:4px 0;" :format-tooltip="formatTooltip" />
{{ matchCount }} result(s):
@@ -31,16 +32,32 @@