我开发了一个快速输入Markdown代码+禅模式的插件(ii-quicker)

注意:应官方对插件的要求,要有一个统一主题,不能多而杂,这个插件的完整版暂时移到了ii-quicker-full仓库,而ii-quicker版将去掉非核心的功能,文章内链接已修改。

介绍

这个插件的主要功能有:快速插入Markdown代码,禅模式,浏览器搜索,状态栏显示当前文档大小,用户自定义命令,JavaScript和CSS代码片段,可拖动状态栏,设置面板增加最小化按钮等。

特色

  • 快速插入常见Markdown代及一些HTML代码,包括Sup,Sub,Audio,Video,Iframe,左中右对齐,变量,脚注,Callout,锚点,HTML注释等。

  • 3种禅模式,包括深度禅模式,轻禅模式,微禅模式,并且你可以自定义他们的样式。

  • 可以用浏览器搜索选中的文本。

  • 状态栏显示当前文档大小。

  • 除了常见和的Markdown代码和常见HTML代码外,你还可以自定义你自己的代码,通过自定义命令输入框,可以把你的代码生成命令。

  • 如果你想对笔记某个功能做细微的调整可以用CSS代码片段,当CSS不足时,你还可以通过JavaScript代码片段做进一步调整。

  • 状态栏可以任意拖动,如果你的状态栏有时候遮挡重要的内容时,这个很有用。

  • 设置面板最小化,这个功能可以让你的设置面板暂时隐藏起来,与关闭不同的是会保持你最小化前的信息状态,比如你输入的状态,滚动条的位置等。

  • 颜色命令的颜色面板中常见的色块选自22种人类最易分辨的颜色。可参见文章20种不同的颜色A Colour Alphabet and the Limits of Colour Coding

安装

到这里下载 Release obsidian-ii-quicker

下载后把 obsidian-ii-quicker.zip 解压后,放到插件目录,重启 obsidian,然后别忘了到设置里开启插件即可。

使用

/ii,一般用于插入代码,ctrl+p + ii或右键菜单,一般用于对选择文字包裹代码。其他快捷方式,比如:如果想选择加粗命令也可以 /iib 等。

/iizctrl+p iiz 显示禅模式,你也可以自己设定快捷键。

禅模式可以通过命令面板ctrl+p + iiz触发,或者你也可以设置自己的快捷键。

浏览器搜索可以通过命令面板和右键菜单,通常使用右键菜单更方便。

时间和日期格式化,采用和官方一致的时间格式化代码,更多格式参见:String + Format

预览

快速输入截图

禅模式截图

动画展示

问题与反馈

您有任何问题都可以到 obsidian-ii-quicker/issues 去反馈。

开发与改进


git clone https://github.com/wish5115/obsidian-ii-quicker-full.git

cd obsidian-ii-quicker-full

npm install

npm run dev

6 个赞

禅模式很赞 :+1:

1 个赞

状态栏可拖动,是否是通过CSS来实现?

不是,通过js实现的

全屏模式后,退不出来!
全屏模式时,不能全屏:

再次触发禅模式就退出了,你可以设置成快捷键,原来是支持esc退出的,但这个esc会和ob的命令面板和斜杠命令的esc冲突,所以去掉了,深度禅模式支持esc退出,但也会和ob esc冲突,但没办法,深度模式下的全屏是浏览器级的,这个esc去不掉。

另外,如果这几种模式你混合使用,可能导致几种模式叠加状态,需要每种模式都退出下,但一般非全屏的模式会退出全屏,不建议混合使用,除非你清楚几种模式是怎么叠加的。

全屏模式时,不能全屏:这个没理解你的意思,你说的是深度禅模式,轻禅模式,微禅模式哪种?如果是深度模式下,本来就全屏了,你再使用软件级别的全屏就是退出全屏了,其他两种也不影响软件级别的全屏。

就是空出右边侧边栏的地方,没有扩展到整个屏幕。

ESC只成功触发过一次,之后,重复执行命令面板里的禅模式,只能出现标题栏,侧扩展栏的按钮和左侧扩展栏都没有出现。

抱歉给你带来了困扰,这个禅模式低版本可能有问题,全屏问题,我不知道你使用的哪种禅模式,这个功能是深度禅模式和轻度禅模式会扩展到全屏的60%,聚焦于文档于屏幕中心,微禅模式会扩展到全屏,如果想让深度禅模式和轻度禅模式也扩展到全屏,可以在插件的css代码片段中修改样式(注意:是对应代码修改,不是把这段代码全覆盖,其实只需要改60%这个值即可),如下:

/**************** Editor Style (编辑器样式) *************/
/* Limit editor size, clamp left minimum value, right maximum value */
/* (限制编辑器大小, clamp左侧是最小值, 右侧是最大值) */
.workspace-leaf.mod-active.ii-zen-light .cm-sizer,
.workspace-leaf.mod-active.ii-zen .cm-sizer {
	max-width: clamp(800px, var(--file-line-width), 60%);
}

把这里的60%改成100%,800px是限制最小值,60%是最限制大值

通过这个css片段,可以随意自定义你的禅模式样式,当然,也可以自定义插件及插件外的其他元素的样式。

明白了。
但为什么深度模式,我的窗口是靠左,而不是居中?是受我的CSS影响?

是的,禅模式只限制了宽度,和增加了背景透明透明度,不会改变其他样式,应该是受你主题的影响。

你可以尝试,用css把你的编辑器宽度调窄,看它是在左侧还是居中,如果在左侧,可以查查具体哪个样式影响了它。官方默认应该是居中的。

明白,是因为原模式浪费版面,我取消了缩减栏宽设置。

建议修改为:检查有无设置缩减栏宽,若没有,进入深度前,先开启缩减栏宽,在退出深度时,恢复原设置。

谢谢建议,后续升级的话会我会认真考虑,但用户的设置可能多样性的,一般倾向于不改变用户原有使用习惯。


怎么设置实现成这个样事效果啊