xhuajin / obsidian-tabs

MIT License
39 stars 2 forks source link

[FR] 效仿ob在代码块里转义反引号的形式, 让更少的反引号对也可以嵌套更多的. #11

Open XMB-7 opened 3 weeks ago

XMB-7 commented 3 weeks ago

在ob里, 若想在代码块里转义反引号, 除了可以 image 还可以 image

因此建议可以同理支持 image

在标签页里写代码块时, 增加具体标签页里的代码块的`数量, 比增加整个tabs的代码块的`数量, 在操作上要更便捷一些.

xhuajin commented 1 week ago

我没有修改对于代码块的识别,插件中注册了一个名为 'tabs' 的代码块。markdown的语法应该是不支持外层反引号比内层的少的。因此如果需要在 tab 中写代码块,目前还是需要手动给外层增加反引号个数,后续可能我会优化一下这个,比如保存的时候检查一下是否有代码块,如果有则自动将 tabs 的反引号个数增加到多余代码块中的个数。

xhuajin commented 1 week ago

1.1.0 加了这个功能

XMB-7 commented 6 days ago

抱歉没试出有什么改变, 能麻烦解释下对此做了什么更新么.

另外刚刚想到, 或许一个更合适的方式是, 提供命令, 增加光标所在tabs代码块的最外层的反引号对的数目n (比如在插件设置中设置n=3). 这样一来, 如果在tabs中需要内嵌代码块, 就先执行一下该命令, 接着就可以正常往下键入三个反引号对了.

xhuajin commented 6 days ago

我理解错你的意思了,后续有更新我再留言

xhuajin commented 6 days ago

增加了编辑后点击保存自动识别反引号个数,并且自动增加最外层的代码块反引号个数的功能。

XMB-7 commented 6 days ago

感谢, 已测试该功能. 但就我个人而言, 还是更倾向于不使用双击编辑, 因为一旦不手动保存, 即彻底丢失修改的内容, 这是个大隐患, 找快照都找不回来. 我还是更喜欢把光标落于tabs代码块内, 即移动光标到预定位置再进行编辑, 这样起码修改内容是自动保存的. 因此这一更新对我而言相对鸡肋, 因为我尽量规避使用双击编辑, 所以还是更期待我的新想法, 就是提供一个命令, 增加光标所在的tabs代码块最外层的反引号数, 这样能在直接编辑tabs代码块的过程中使用.


关于双击编辑不保存, 首先有个小bug, 当tabs代码块位于篇尾时, 光标往下点出代码块, 将非预期地直接退出编辑, 继而丢失修改内容. recording

其次, ob本身是自动保存的, 这就更弱化了手动保存的使用习惯, 起码我是比较容易在双击编辑之后遗忘进行手动保存的, 尤其是当标签页内容很长视域内已经看不到导航栏上的保存按钮时, 此时退出软件乃至关机, 就会直接造成内容丢失, 而且还非常容易让用户意识不到, 回看时还纳闷自己到底做没做过修改. 因此我在出现两三次这样的问题后, 就在刻意回避使用双击编辑这一功能.

xhuajin commented 6 days ago

其实我也想写成自动保存,但是关于代码块的渲染,ob的逻辑是改了内容的话整个代码块会重新渲染,因此如果我如果写成了每隔0.1s保存一次的话,每次保存整个代码块都会重新渲染。这个重新渲染指的是这个代码块包含的所有变量都被清空。目前确实存在你说的因为忘记保存或者因为切出了源码导致内容丢失,这个不是bug,是光标放到代码块中导致的取消渲染,这个逻辑我没法更改。我现在在考虑换一种修改 tab 内容的方式,例如双击后弹出个编辑器页面,改为在 modal 上渲染一个编辑器而不是直接在正文中显示编辑器,这样就能够写成自动保存了。