Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Important

已将CSS、JS脚本转为插件「siyuan-plugin-callout-enhance」,以实现更全面更稳定的功能。后续不再更新本脚本仓库。

概述

  • 参考obsidian callout,优化思源笔记中的callout块(提示块)样式,实现折叠/展开、自定义标题、类型菜单&补全菜单等功能
  • 需要同时搭配CSS和JS脚本
  • 对应于这个帖子。已大量修改原帖子中的代码,以适配Savor主题

更新记录

  • 20260511:

    • 更改11.css(version 0.0.5):

      • 修复列表块/非列表块中的callout块的标题输入区域长度不一致问题
    • 更改11.js(version 0.0.9):

      • 修复修改callout标题后,必须要点击一下标题区域以外的地方才能将修改内容保存的问题

        注:现在直接关闭文档/思源,都会自动保存callout标题

      • 修复对于嵌套的callout块,修改外层callout标题会导致内层callout的修改无法保存的问题

      • 优化callout无正文时,callout标题处回车的操作

        注:之前回车后会删除该callout块,然后撤销该删除操作就会触发思源笔记报错block not found,这似乎是因为思源笔记没有提供相关删除API。目前暂时将标题回车操作改成了在callout首行创建新块,不过创建的空行无法撤销

      • 优化callout中没有正文但存在多个空行时的回车操作

        注:改成了与思源原生callout块一致的逻辑,即存在多空行时,非尾行回车则创建新块,尾行回车则删除行并且光标跳出callout

  • 20260510:

    • 更改11.js(version 0.0.8):
      • 修复Callout标题文字修改的持久化问题(无论有无Callout正文)
      • 修复潜在的代码冗余和问题
  • 20260510:

    • 更改11.css(version 0.0.4):
      • 修复列表块中的callout块宽度异常的问题
      • 优化callout块的icon+标题的整体位置,并增大callout内正文区域的子块边界与callout边界的距离
  • 20260430:

    • 更改11.js(version 0.0.7):
      • 实现切换菜单位置的智能调整
      • 优化折叠/展开按钮判断逻辑,避免Asri主题下点击按钮进入标题编辑的情况
      • 修复潜在问题
    • 更改22.js(version 0.0.7):
      • 实现补全菜单位置的智能调整
      • 修复潜在问题
  • 20260428:

    • 更改11.css(version 0.0.3):
      • 约束callout在flex容器里的拉伸,避免它的展开/折叠高度受到在水平布局超级块中同级块高度的影响
    • 更改11.js(version 0.0.6):
      • 修复切换Callout类型后,刷新该笔记页又回到原Callout类型的问题
      • 优化Asri主题下的切换菜单样式和交互体验,同样适配其他主题
    • 更改22.js(version 0.0.6):
      • 优化Asri主题下的补全菜单样式和交互体验,同样适配其他主题
  • 20260424:

    • 更改11.css(version 0.0.2):
      • 优化callout折叠/展开状态下的标题与icon位置,防止抖动;
      • 增加折叠/展开动作的上拉/下拉动画
    • 更改11.js(version 0.0.5):
      • 优化代码,解决“空Callout回车键删除”操作潜在的模拟按键与 API 调用的竞态问题
    • 更改22.js(version 0.0.4 & version 0.0.5):
      • 参考思源斜杠菜单,优化补全菜单触发逻辑,实现仅在引述块为空时输入[才触发、以及鼠标点击其他位置会自动关闭菜单等特性;
      • 删除[会自动关闭菜单
      • 优化代码,解决 DOM 节点泄漏、isInBlockquote 与 getBlockquoteElement 函数冗余、DOM 随着每次输入都遍历等问题
  • 20260422:

    • 更改11.js(version 0.0.4): 修复了 Callout 中无正文时的一些操作会触发的 bug
  • 20260131:

    • 更改11.js(version 0.0.3)和22.js(version 0.0.3),根据个人需求,在原基础上增加了几个 callout 新样式:

      • Info(蓝色)

      • Quote(灰色)

      • Question(黄色,同 Warning)

      需要注意这几个新样式转换回官方 callout 后存在问题(即关闭 css 代码片段),会变成背景透明、且 ICON 消失的 callout。介意的话慎用!

  • 20260114:

    • 更改11.js(version 0.0.2): 实现折叠/展开状态的持久化。使 Callout 块的折叠/展开状态真正持久化保存到思源笔记的 IAL(块属性)中,而不再只是临时修改 DOM 属性(下次刷新/重开文档就会丢失)

    • 更改22.js(version 0.0.2):

      完全基于原帖子更新后的相关代码进行更改,以修复“索引错误”的问题。另外也进行了一定优化:

      • 限制补全菜单只能在引述块中触发,而非任意容器块
      • 根据个人习惯,触发方式改为 [
      • 修改补全菜单的样式

About

更改思源笔记中的Callout样式,仿照的是Obsidian中的Callout样式

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages