[css] 在思源中制作 callout

图一 github callout,图二是我做的思源 callout

image.png

image.png

代码片段

/* callout_note*/ .bq[custom-cssclasses="callout_note"]{ border-left: .25em solid #1f6feb; background-color: #1f71eb16 !important; color: var(--b3-theme-on-background); padding:15px !important; border-radius: 0; } div[custom-cssclasses="callout_note"] > div:first-child > div:first-child { color: #4493f8; display:inline-flex; align-items: center; } div[custom-cssclasses="callout_note"] > div:first-child > div:first-child:before { content: ""; display: inline-block; overflow: visible !important; vertical-align: middle; width: 22px; height: 22px; mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjcxNDI4NTcxNDI4NTcxNDIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY2xhc3M9Imx1Y2lkZSBsdWNpZGUtY2lyY2xlLWFsZXJ0Ij48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxsaW5lIHgxPSIxMiIgeDI9IjEyIiB5MT0iOCIgeTI9IjEyIi8+PGxpbmUgeDE9IjEyIiB4Mj0iMTIuMDEiIHkxPSIxNiIgeTI9IjE2Ii8+PC9zdmc+"); /* 设置为mask */ mask-size: cover; background-color: currentColor; margin-right: 10px; mask-repeat: no-repeat; } /* Tip*/ .bq[custom-cssclasses="callout_tip"]{ border-left: .25em solid #238636; background-color: #23863615 !important; color: var(--b3-theme-on-background); padding:15px !important; border-radius: 0; } div[custom-cssclasses="callout_tip"] > div:first-child > div:first-child { color: #238636; display:inline-flex; align-items: center; } div[custom-cssclasses="callout_tip"] > div:first-child > div:first-child:before { content: ""; display: inline-block; overflow: visible !important; vertical-align: middle; width: 22px; height: 22px; mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjcxNDI4NTcxNDI4NTcxNDIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY2xhc3M9Imx1Y2lkZSBsdWNpZGUtbGlnaHRidWxiIj48cGF0aCBkPSJNMTUgMTRjLjItMSAuNy0xLjcgMS41LTIuNSAxLS45IDEuNS0yLjIgMS41LTMuNUE2IDYgMCAwIDAgNiA4YzAgMSAuMiAyLjIgMS41IDMuNS43LjcgMS4zIDEuNSAxLjUgMi41Ii8+PHBhdGggZD0iTTkgMThoNiIvPjxwYXRoIGQ9Ik0xMCAyMmg0Ii8+PC9zdmc+"); /* 设置为mask */ mask-size: cover; background-color: currentColor; margin-right: 10px; mask-repeat: no-repeat; } /* Important*/ .bq[custom-cssclasses="callout_important"]{ border-left: .25em solid #8957e5; background-color: #8957e515 !important; color: var(--b3-theme-on-background); padding:15px !important; border-radius: 0; } div[custom-cssclasses="callout_important"] > div:first-child > div:first-child { color: #8957e5; display:inline-flex; align-items: center; } div[custom-cssclasses="callout_important"] > div:first-child > div:first-child:before { content: ""; display: inline-block; overflow: visible !important; vertical-align: middle; width: 22px; height: 22px; mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjcxNDI4NTcxNDI4NTcxNDIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY2xhc3M9Imx1Y2lkZSBsdWNpZGUtbWVzc2FnZS1zcXVhcmUtd2FybmluZyI+PHBhdGggZD0iTTIxIDE1YTIgMiAwIDAgMS0yIDJIN2wtNCA0VjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAyeiIvPjxwYXRoIGQ9Ik0xMiA3djIiLz48cGF0aCBkPSJNMTIgMTNoLjAxIi8+PC9zdmc+"); /* 设置为mask */ mask-size: cover; background-color: currentColor; margin-right: 10px; mask-repeat: no-repeat; } /* Warning*/ .bq[custom-cssclasses="callout_warning"]{ border-left: .25em solid #9e6a03; background-color: #9e6a0315 !important; color: var(--b3-theme-on-background); padding:15px !important; border-radius: 0; } div[custom-cssclasses="callout_warning"] > div:first-child > div:first-child { color: #9e6a03; display:inline-flex; align-items: center; } div[custom-cssclasses="callout_warning"] > div:first-child > div:first-child:before { content: ""; display: inline-block; overflow: visible !important; vertical-align: middle; width: 22px; height: 22px; mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjcxNDI4NTcxNDI4NTcxNDIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY2xhc3M9Imx1Y2lkZSBsdWNpZGUtdHJpYW5nbGUtYWxlcnQiPjxwYXRoIGQ9Im0yMS43MyAxOC04LTE0YTIgMiAwIDAgMC0zLjQ4IDBsLTggMTRBMiAyIDAgMCAwIDQgMjFoMTZhMiAyIDAgMCAwIDEuNzMtMyIvPjxwYXRoIGQ9Ik0xMiA5djQiLz48cGF0aCBkPSJNMTIgMTdoLjAxIi8+PC9zdmc+"); /* 设置为mask */ mask-size: cover; background-color: currentColor; margin-right: 10px; mask-repeat: no-repeat; } /* Caution*/ .bq[custom-cssclasses="callout_caution"]{ border-left: .25em solid #da3633; background-color: #da363315 !important; color: var(--b3-theme-on-background); padding:15px !important; border-radius: 0; } div[custom-cssclasses="callout_caution"] > div:first-child > div:first-child { color: #da3633; display:inline-flex; align-items: center; } div[custom-cssclasses="callout_caution"] > div:first-child > div:first-child:before { content: ""; display: inline-block; overflow: visible !important; vertical-align: middle; width: 22px; height: 22px; mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjcxNDI4NTcxNDI4NTcxNDIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY2xhc3M9Imx1Y2lkZSBsdWNpZGUtb2N0YWdvbi1hbGVydCI+PHBhdGggZD0iTTEyIDE2aC4wMSIvPjxwYXRoIGQ9Ik0xMiA4djQiLz48cGF0aCBkPSJNMTUuMzEyIDJhMiAyIDAgMCAxIDEuNDE0LjU4Nmw0LjY4OCA0LjY4OEEyIDIgMCAwIDEgMjIgOC42ODh2Ni42MjRhMiAyIDAgMCAxLS41ODYgMS40MTRsLTQuNjg4IDQuNjg4YTIgMiAwIDAgMS0xLjQxNC41ODZIOC42ODhhMiAyIDAgMCAxLTEuNDE0LS41ODZsLTQuNjg4LTQuNjg4QTIgMiAwIDAgMSAyIDE1LjMxMlY4LjY4OGEyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LjY4OC00LjY4OEEyIDIgMCAwIDEgOC42ODggMnoiLz48L3N2Zz4="); /* 设置为mask */ mask-size: cover; background-color: currentColor; margin-right: 10px; mask-repeat: no-repeat; }
  • 代码片段

    代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。

    用户在该标签下分享代码片段时需在帖子标题前添加 [css] [js] 用于区分代码片段类型。

    132 引用 • 873 回帖 • 2 关注
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    24707 引用 • 101423 回帖
2 操作
JeffreyChen 在 2024-10-19 00:02:44 更新了该帖
JeffreyChen 在 2024-10-19 00:02:32 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 使用指南

    Callout 模板.zip

    1. 将 Callout 模板解压到思源的模板文件夹中。工作空间路径\data\templates
    2. 在设置 -> 外观 -> 代码片段中粘贴 css 片段并启用,然后点击右下角的确定
    3. 在笔记中使用斜杠菜单 / 模板即可使用

    image.png

    image.png

  • 关闭 css 片段后就是个引用块,当然用思源的样式简单调了下

    Image1729269086923.png

  • xjtcnj

    如果带有自动折叠功能,就更好了。obsidian 中的 callout 就挺好的。

    1 回复
    1 操作
    xjtcnj 在 2024-11-07 08:58:22 更新了该回帖
  • EmptyLight

    要是一步到位写成挂件就能自带样式了,但是写挂件好像相当复杂。。。

    1 回复
  • 这个晚上看看,尽量纯 css 不用 js。另外思源所有块都带了个持久化的折叠,好像也没啥必要专门做一个。不过你倒提醒我了,要去优化下折叠后的效果trollface

    3 回复
  • ACai 5 评论

    emmm 挂件就不考虑了,这个 callout 样式和我在群里发的一些样式都是为准备写的 思源笔记装修队施工指南 做准备的。挂件不太适合小白trollface

    为教程确实需要简单一点
    EmptyLight 1 赞同
    另外我不清楚挂件能不能直接创建内容块并赋予样式
    ACai
    挂件就可以引入 css 和 js 了,可以通过 js 添加块,样式还没看其他挂件,好像挂件都是用自己的 iframe 渲染东西(突然感觉不太合适)。。。模板有上架集市的想法吗,感觉很好用啊,为了教程需要不上架也可以
    EmptyLight
    有,但是再等等,多做一些,模板上架规则还没看过
    ACai
    @ACai 上架踢我,我当场把你模板的 CSS 加到主题里面适配(代码片段原地下班),模板示例仓库
    EmptyLight
  • 块的折叠状态目前只是半持久化的,上级标题展开之后所有子块的折叠都会展开

    原来如此
    ACai
  • Kootea

    很好看

  • xnyshu via macOS

    这个解释对不对:在笔记应用如 Obsidian 中,callout 是一种允许用户在不打断笔记流的情况下添加额外内容的功能。

    1 回复
  • 我的理解是 callout 就是一种特殊的引用块。

  • xjtcnj 1 评论

    平时为折叠状态、需要看时,打开。

    1 回复
    只靠模板可以实现这个功能吗?我看思源模板里只有 md 文件,不靠 js 可以达到这个效果吗?
    EmptyLight
  • shiyuankill 1 评论

    请问这个怎么用的,小白不知道怎么使用

    使用指南中有写
    ACai
  • 这个是 ob 的 callout 效果吧,我也是想要这种效果,目前没有发现实现办法

    1 回复
  • 目前折叠效果是这样的image.png

  • xjtcnj

    是 ob 的 callout,,使用上很方便。

  • shiyuankill 1 评论

    是导入到 css 样式吗?然后怎么看出来呢

    把代码片段的内容放在思源设置代码片段->css 中激活,把模板压缩包解压到思源的模板路径下,然后/调用模板即可
    ACai
  • shiyuankill

    请问模版压缩包在哪里下载

  • Mayrain

    唔,很优秀的 callout,但是想问一下 lz 有没有自定义 callout 的教程呢?😭 想自己加几个 callout,但是没法解决图标问题

    1 回复
  • Lucide

    图标在这里找的,每个图标页面的下方 copy data URL,然后替换 css 片段的 mask 中的内容

请输入回帖内容 ...

推荐标签 标签

  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 254 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    107 引用 • 127 回帖 • 363 关注
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 442 关注
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖 • 1 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖 • 1 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 167 关注
  • 导航

    各种网址链接、内容导航。

    43 引用 • 177 回帖 • 1 关注
  • 国际化

    i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。

    8 引用 • 26 回帖
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖
  • gRpc
    11 引用 • 9 回帖 • 89 关注
  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    10 引用 • 76 回帖 • 1 关注
  • 自由行
    1 关注
  • Telegram

    Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。

    5 引用 • 35 回帖
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    226 引用 • 476 回帖
  • 分享

    有什么新发现就分享给大家吧!

    247 引用 • 1794 回帖 • 1 关注
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 17 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    124 引用 • 74 回帖
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    6 引用 • 15 回帖 • 44 关注
  • 音乐

    你听到信仰的声音了么?

    61 引用 • 512 回帖
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    84 引用 • 324 回帖
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用 • 1 关注
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 617 关注
  • 倾城之链
    23 引用 • 66 回帖 • 158 关注
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    36 引用 • 155 回帖 • 1 关注
  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖 • 3 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    53 引用 • 40 回帖 • 2 关注