├── .github └── workflows │ └── main.yml ├── README.md ├── README_zh_CN.md ├── font ├── Harmony-500.woff2 ├── Harmony-600.woff2 ├── Harmony-700.woff2 └── Twemoji.woff2 ├── icon.png ├── preview.png ├── style ├── custom │ ├── function.css │ ├── list-fold.css │ ├── list2board.css │ ├── list2map.css │ ├── list2table.css │ └── progress.css ├── module │ ├── av.css │ ├── blockquote.css │ ├── breadcrumb.css │ ├── dock.css │ ├── editor.css │ ├── h-reminder.css │ ├── main.css │ ├── menu.css │ ├── mobile.css │ ├── ordered-list.css │ ├── search.css │ ├── shrink.css │ ├── status.css │ ├── tab-bar.css │ ├── toolbar.css │ └── unordered-list.css ├── theme │ ├── savor-dark.css │ ├── savor-flower.css │ ├── savor-forest.css │ ├── savor-light.css │ ├── savor-mountain.css │ ├── savor-ocean.css │ ├── savor-salt.css │ ├── savor-sugar.css │ ├── savor-vinegar.css │ └── savor-wind.css └── topbar │ ├── Splugin.css │ ├── bullet-threading.css │ ├── conceal-mark.css │ ├── tab-bar-vertical.css │ └── top-fixed.css ├── theme.css ├── theme.js └── theme.json /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Create package.zip 3 2 | on: 3 | push: 4 | tags: 5 | - "*" 6 | jobs: 7 | build: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@master 11 | - name: Archive Release 12 | uses: thedoctor0/zip-release@0.7.1 13 | with: 14 | type: 'zip' 15 | filename: 'package.zip' 16 | exclusions: '*.git* /*node_modules/* .editorconfig' 17 | 18 | - name: Upload Release 19 | uses: ncipollo/release-action@v1 20 | with: 21 | allowUpdates: true 22 | prerelease: false 23 | artifactErrorsFailBuild: true 24 | removeArtifacts: false 25 | replacesArtifacts: false 26 | artifacts: "package.zip" 27 | token: ${{ secrets.GITHUB_TOKEN }} 28 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # The five-in-one theme of light, dark, salt, sugar, and vinegar 2 | 3 | * "salt" eye-protection color (used in light mode) 4 | * "sugar" eye-protection color (colored arrow for note root directory, title color corresponding to outline, used in light mode) 5 | * "vinegar" deep black theme color (used in dark mode) 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /README_zh_CN.md: -------------------------------------------------------------------------------- 1 | # 10合1主题 2 | 3 | * Light颜色(基础配色) 4 | * dark颜色(基础配色) 5 | * Salt护眼颜色(在明亮模式下使用) 6 | * Sugar护眼颜色(笔记根目录箭头彩色,标题颜色与大纲对应,在明亮模式下使用) 7 | * Vinegar(深黑主题颜色,在暗黑模式下使用) 8 | 9 | * Forest颜色(基础清新配色) 10 | * Flower颜色(明亮多彩配色) 11 | * Wind护眼颜色(低饱和度配色,面板图标减少50%的色彩) 12 | * Ocean颜色(对比强烈配色) 13 | * Mountain护眼颜色(柔和黑暗配色) 14 | 15 | 16 | ## 更多主题介绍请移步到链滴社区 17 | 18 | [记录应是简单且真实的,值得细细品味。](https://ld246.com/article/1702127214082) 19 | 小伙伴们的建议反馈,在社区回复跟帖即可。 20 | 21 | ## v5.5.4 22 | * 修正部分情况下子弹线错位问题 23 | * 微调页签钉住样式 24 | * 简化集市样式 25 | * 优化清理资源界面样式 26 | * 优化历史快照界面样式 27 | 28 | ## v5.5.3 29 | * 调整ocean配色 30 | * 调整vinegar配色 31 | * 调整切换主题按钮样式 32 | * 重置搜索界面 33 | 34 | ## v5.5.2 35 | * 微调分区间距 36 | * 重构标题实现样式,提示调至前面,减少不明bug 37 | * 调整暗黑主题函数,边框改为暗色 38 | * 修正垂直页签样式 39 | 40 | ## v5.5.0 41 | * 修改salt菜单颜色 42 | * 修复切换配色时写入配置错误问题 43 | * 重构简化页签部分样式 44 | * 修正ocean页签配色 45 | * 修正搜索结果样式 46 | 47 | ## v5.4.9 48 | * 调整页签样式 49 | * 修复新窗口页签样式错误问题 50 | * 大纲也显示标签样式 51 | * 调整salt配色 52 | * 调整forest配色 53 | * 调整工具栏底色 54 | * 调整行内备注底色 55 | * 修正搜索结果样式 56 | * 加强折叠列表样式 57 | 58 | ## v5.4.8 59 | * 修复思源v3.1.25版本不支持emoji变体选择器-16(Variation Selector-16, VS16)引起的emoji缺失或显示错误问题 60 | 61 | ## v5.4.7 62 | * 适配思源v3.1.25版本图片导出功能 63 | 64 | ## v5.4.6 65 | * 修复菜单创建bug 66 | * 修复子弹线加载失效bug 67 | * 优化顶栏样式细节 68 | 69 | ## v5.4.5 70 | * 修正菜单创建机制 71 | * 修正颜色切换机制 72 | * 更改合并顶栏的右侧间距机制 73 | 74 | ## v5.4.4 75 | * 微调配色加载机制 76 | * 更改底栏机制 77 | * 修复合并顶栏加载问题 78 | * 修改工作空间显示机制 79 | 80 | ## v5.4.3 81 | * 更改底栏定位机制 82 | * 合并顶栏样式适配新版 83 | * 重构切换配色动画 84 | * 重构主题theme.js 85 | * 新版本新窗口样式适配 86 | * 修复子弹线在某种情况下不显示的问题 87 | * 重构配色机制 88 | * 删除折叠列表预览功能(此功能触发不稳定) 89 | * 重置标题样式 90 | * 调整超级块折叠后标题样式 91 | * 优化导图样式 92 | * 修复引用块样式 93 | * 微调vinegar、ocean配色 94 | 95 | ## v5.4.2 96 | * 加入切换配色动画 97 | * 调整暗黑配色文档树箭头 98 | * 修复暗黑配色题头图图标颜色 99 | * 修复新建空白文档标题颜色 100 | * 修正合并顶栏时,工作空间按钮的最大宽度 101 | * 代码块底色修正 102 | * 微调代码块样式 103 | * 修正设置界面页签样式 104 | * 加入合并顶栏后页签文字顶部拖动功能,加强小窗情况下拖动效果 105 | 106 | ## v5.4.1 107 | * 调整钉住样式 108 | * 修正垂直页签钉住样式 109 | * 修正垂直页签激活样式 110 | * 修正垂直页签关闭按钮样式 111 | * 微调垂直页签宽度抓手位置 112 | * 重置右上角切换外观菜单样式,使用更加精简的方案 113 | 114 | ## v5.4.0 115 | * 调整分割线颜色 116 | 117 | ## v5.3.9 118 | * 文档树箭头样式微调 119 | * 微调大纲样式 120 | * 调整页签钉住样式,减少颜色覆盖,参考asri主题分割线样式修改 121 | * 加入底栏右侧判断,避免重复创建 122 | * MAC平台合并顶栏间距调整 123 | * 优化切换按钮机制,避免重复创建 124 | * 调整列表折叠后子列表链接样式 125 | 126 | ## v5.3.8 127 | * 文档树改错位了,给修复回来 128 | 129 | ## v5.3.7 130 | * 消除折叠插件后插件仍能被hover错误 131 | * 重置页签实现方式,修复合并页签错误问题,减少切换边框闪烁问题 132 | * 调整整体圆角,所有配色模块间距一致 133 | * 修正salt配色顶栏标题颜色 134 | * 更换默认英语字体 135 | * 调整工作空间字重 136 | * 重置底栏样式 137 | * 修正编辑器右上角hover样式 138 | * 减少切换主题时对其他主题底栏的样式影响 139 | 140 | ## v5.3.6 141 | * 修正salt配色在合并顶栏下页签颜色错误问题 142 | * 修复没打开任意文档时边框显示错误 143 | * 修复合并顶栏后新窗口不能拖动bug 144 | * 修正题头图按钮位置 145 | 146 | ## v5.3.5 147 | * 修正平板颜色错误问题,修正颜色细节 148 | * 修正开关hover颜色 149 | * 合并顶栏后,工作空间最大宽度调整 150 | * 调整弹窗阴影,提升质感 151 | * 适配编辑器打开插件页面样式 152 | * 修正salt配色在合并顶栏下页签颜色错误问题 153 | * 减少与番茄工具箱样式冲突 154 | 155 | ## v5.3.4 【颜色重置测试版】 156 | * 更改颜色管理机制 157 | 158 | ## v5.3.3 【祝大家新春快乐】 159 | * 修复悬浮侧栏底色 160 | * 优化集市页签颜色 161 | * 修复新窗口下js报错 162 | 163 | ## v5.3.2 164 | * 使用oklch颜色模型,优化颜色显示效果 165 | * 修改字体颜色排序,修改字体background3背景颜色 166 | * 重构集市样式 167 | * 调整所有配色 168 | * 修正侧栏计数按钮 169 | * 修正引用浮动窗口配色 170 | * 更改边栏和文档树激活样式 171 | * 修正插件折叠按钮激活机制 172 | * 修正引述块底色 173 | * 修正数据库样式 174 | * 修正提示语颜色 175 | * 修正图谱节点颜色 176 | * 禁止标题符号鼠标点击效果 177 | * 修正题头图按钮样式 178 | 179 | ## v5.3.1 180 | * 只保留搜索和设置面板的背景模糊 181 | * 优化标题记号 182 | 183 | ## v5.3.0 184 | * 适配新窗口页签样式 185 | * 适配新窗口底栏样式 186 | * 微调隐藏底栏时底栏样式 187 | * 重置列表子弹线样式 188 | * 修正子弹线与各种转换视图冲突问题 189 | * 重置合并顶栏后折叠插件样式,减少插件对样式影响 190 | * 加入插件折叠动画 191 | 192 | ## v5.2.9 193 | * 修正搜索面板因滤镜造成快标定位错误问题 194 | 195 | ## v5.2.8 196 | * 搜索替换样式修正 197 | 198 | ## v5.2.7 199 | * 修正合并顶栏的倒圆角 200 | * 修正文字工具条里功能激活颜色 201 | * 修正未打开文档时样式 202 | * 微调页签样式 203 | * 适配脚注插件样式 204 | * 调整搜索框样式 205 | * 修正搜索分组样式 206 | * 修正搜索资源内容面板样式 207 | * 修正列出失效块面板样式 208 | 209 | ## v5.2.6 210 | * 修正标题块不能填写空格错误 211 | * 优化子弹线样式 212 | * 优化有序列表样式 213 | * 修正子弹线与有序列表折叠冲突样式 214 | * 改变合并顶栏后左侧页签间距的设定机制,优化动画 215 | 216 | ## v5.2.5 217 | * 修正合并顶栏后钉住页签颜色问题 218 | * 调整钉住页签自定义表情样式 219 | * 优化看板样式 220 | * 优化搜索类型样式 221 | 222 | ## v5.2.4 223 | * 修正功能弹窗下划线错误问题 224 | * 优化页签激活导致宽度伸缩问题 225 | 226 | ## v5.2.3 227 | * 重置搜索页面实现方式,减少性能消耗 228 | * 优化弹出分栏菜单 229 | * 标题提示图案兼容其他行内格式 230 | * 修正列表包含标题的时候的折叠样式 231 | * 清除css中所有has语法,性能最大限度优化 232 | * 修复手机端无序列表错位样式 233 | * 优化手机端设置页、侧栏 234 | 235 | ## v5.2.2 236 | * 修复切换明暗主题错误问题 237 | 238 | ## v5.2.1 239 | * 重置垂直页签效果 240 | * 垂直页签适配新的页签结构 241 | * 优化没打开页签时合并顶栏的样式 242 | * 调整有序列表样式 243 | * 优化列表子弹线样式 244 | * 优化分栏功能面板样式 245 | * 优化设置界面 246 | 247 | ## v5.2.0 248 | * 重构页签样式实现,修正页签过多显示错误问题 249 | * 添加页签伪元素遮罩,加强低分辨率显示效果 250 | 251 | ## v5.1.9 252 | * 修复salt因合并顶栏引起颜色错误 253 | 254 | ## v5.1.7 255 | * 分栏搜索面板样式优化 256 | * 打开列表子弹线功能场景下,框选列表项时不再显示列表线以保持框选高亮的准确性 257 | * 重构合并顶栏的机制,提升合并顶栏后流畅度 258 | * 修复关闭页签不流畅的问题 259 | * 优化全屏模式下底栏样式 260 | * 修复当激活页签为首项时,编辑面板左上角有缺口的问题 261 | * 页签与合并顶栏后的页签一致,减少重绘 262 | * 调整合并顶栏后顶栏层级,插件展开时不会被页签遮挡 263 | * 内置英文字体改为Roboto,确保在删除twemoji字体情况下可以使用Google noto emoji 264 | * 调整侧栏面板标题间距 265 | * 调整面包屑间距 266 | 267 | ## v5.1.6 268 | * 优化性能以减少卡顿 269 | 270 | ## v5.1.4 271 | * 重构twemoji字体,位图改为矢量图,消除像素模糊 272 | * 补全emoji v16缺失图标 273 | * twemoji改为woff2格式,减少主题字体空间占用 274 | * 修正合并顶栏遮挡问题 275 | * 修正底栏距离计算 276 | 277 | ## v5.1.3 278 | * 列表转导图加入背景样式 279 | * 修复页签末端被遮挡问题 280 | * 修正折叠插件按钮颜色 281 | * 修正底栏样式缺口 282 | * 修正侧栏调整宽度控件 283 | * 修正底栏距离计算 284 | * 文档树图标恢复为默认 285 | 286 | ## v5.1.2 287 | * 适配新版twemoji 288 | * 行内键盘样式优化 289 | * 合并所有配色 290 | * 修正文档标签被裁切问题 291 | * 优化文字工具条底色 292 | * 修正按钮颜色 293 | * 【新特性】列表转导图加入拖拽和【alt+滚轮】缩放功能,恢复为普通列表即可【重置】。 294 | * 列表转看板模式改为弹性布局,优化样式 295 | * 更改折叠块样式 296 | 297 | ## v5.1.1 298 | * 更改底栏代码,适配更多场景 299 | * 优化页签样式 300 | * 适配垂直页签 301 | 302 | ## v5.1.0 303 | ### 特别鸣谢[Wetoria](https://github.com/Wetoria)对此版本的帮助,让主题有飞跃式的进步,大伙多多支持【增强思源笔记】插件,不仅有底部反链、lifelog、时间戳、格式刷等出众功能,并且未来还会有白板功能。 304 | * 更改子弹线实现方式【性能损耗最大化减少】 305 | * 优化页签栏效果 306 | * 重新设计底栏效果 307 | 308 | ## v5.0.9 309 | * 把底部状态栏调整到编辑器右下方,解决右侧栏面板遮挡问题 310 | * 显示/隐藏停靠栏按钮移到边栏上,并且隐藏底栏也常驻 311 | * 调整反链面板样式 312 | * 修复主题切换时颜色残留bug 313 | * 页签与页签功能按钮对齐 314 | * 优化页签样式,弱化未聚焦页签底色 315 | * 修复末端页签定位被遮挡问题 316 | * 合并顶栏非焦点页签取消底色 317 | * 下划线加粗 318 | * 减少合并顶栏遮挡问题 319 | 320 | ## v5.0.8 321 | * 消除合并顶栏页签栏对插件遮挡 322 | * 适配浏览器端合并顶栏样式 323 | * 修正合并顶栏影响数据库页签问题 324 | * 更改集市样式 325 | 326 | ## v5.0.7 327 | * 修复悬浮侧栏显示错位问题bug 328 | 329 | ## v5.0.6 330 | * 右侧大纲下方增加间距 331 | * 题头图按钮微调 332 | * 更改文档树默认图标 333 | * 优化salt配色 334 | 335 | ## v5.0.5 336 | * 数据库输入框修正 337 | 338 | ## v5.0.4 339 | * 减少垂直页签功能与插件的冲突 340 | * 垂直页签钉住文本常显 341 | * 优化文档头图按钮 342 | * 文档标签改到左上角 343 | 344 | ## v5.0.3 345 | * 【新特性】垂直页签加入调节宽度功能【仅左侧页签可以调整】 346 | * 修正垂直页签在窗口状态应为不生效 347 | * 修正合并顶栏与集市页签冲突问题 348 | * 修正合并顶栏与悬浮侧栏冲突问题 349 | * 修正悬浮底栏背景色缺失问题 350 | * 调整salt配色 351 | * 修正合并顶栏与侧栏不对齐问题 352 | 353 | ## v5.0.2 354 | * 修复mac顶栏重叠bug 355 | * 垂直页签与合并顶栏改为不可同时使用 356 | * 反链面板微调 357 | 358 | ## v5.0.1 359 | * 修复因合并顶栏引起的插件消失bug 360 | 361 | ## v5.0.0 362 | * 为维护更加方便,重构结构样式与Odyssey一致,优化大量细节,重新设计界面,bug先不管了,放上来测试一下。 363 | 364 | ## v4.2.7 365 | * 修复合并顶栏salt配色显示错误问题 366 | * 调整顶栏层级 367 | 368 | ## v4.2.6 369 | * 适配新版列表转导图 370 | * 适配新版列表转表格 371 | * 适配新版引述样式(不再使用底色) 372 | * 修正暗黑主题右上角信息提示配色 373 | * 修正表格去表头样式 374 | * 修正引述块使用底色状态下,取消左侧伪元素 375 | * 调整代码块样式 376 | * 调整嵌入块样式 377 | * 修复反链面板代码块不对齐问题 378 | 379 | ## v4.2.5 380 | * 适配新版字体选择面板样式 381 | * 调整表格样式 382 | * 调整各个配色的引述块底色 383 | 384 | ## v4.2.4 385 | * 修复搜索资源文件内容面板样式 386 | * 调整搜索结果标签样式 387 | * 调整滚动条宽度 388 | * 调整表情选择弹窗宽度 389 | * 调整数据库主键为引用后加粗样式 390 | * 修改合并顶栏后插件按钮固定为折叠状态,展开才看到,不再使用上个方案 391 | * 调整新版本表格样式 392 | * 调整salt表格配色 393 | 394 | ## v4.2.3 395 | * 修复搜索面板替换功能失效问题 396 | * 调整替换搜索框间距 397 | * 修复搜索面板筛选框底色 398 | * 调整保存查询条件标签关闭图标 399 | 400 | ## v4.2.2 401 | * 重新设计搜索页面(原来主次不分明,顺序也怪怪的,现把搜索块区块和搜索结果区块分开) 402 | 403 | ## v4.2.1 404 | * 适配新版本切换按钮 405 | 406 | ## v4.2.0 407 | * 修复新版思源视图选择失效问题 408 | * 恢复block__icon按钮激活样式 409 | 410 | 411 | ## v4.1.9 412 | * 修复插件取消钉住后合并顶栏显示错位问题 413 | 414 | ## v4.1.8 415 | * 修复侧栏取消钉住时,替换背景插件显示错误问题 416 | * 微调引述块间距 417 | * 修改集市样式 418 | 419 | ## v4.1.7 420 | * 修复新窗口配色与主窗口不一致bug 421 | * 修复salt配色新窗口Window按钮配色 422 | * 调整切换主题配色按钮位置 423 | * 重构插件按钮样式,避免移除按钮插件影响 424 | 425 | ## v4.1.6 426 | * 修复某些系统里,导出pdf不显示emoji问题 427 | * 适配替换背景插件 428 | * 修复salt页签hover配色错误问题 429 | 430 | ## v4.1.5 431 | * 修复因标题margin太高引起鼠标框选范围错误bug 432 | * 适配浏览器端切换主题配色按钮样式 433 | * 适配浏览器端合并顶栏后插件按钮样式 434 | * 重构收缩插件按钮样式 435 | 436 | ## v4.1.4 437 | * 修复开启展开插件时取消合并顶栏显示错误 438 | * 修复sugar配色引用锚文本底色 439 | 440 | ## v4.1.3 441 | * 修复离线情况下字体显示错误问题 442 | 443 | ## v4.1.2 444 | * 更改收缩插件按钮实现 445 | * 调整侧栏面板按钮大小 446 | * 微调侧栏面板选项样式 447 | 448 | ## v4.1.1 449 | * 修复因字体顺序引起显示错误问题 450 | 451 | ## v4.1.0 452 | * 修复twemoji在正文里显示错误问题 453 | 454 | ## v4.0.9 455 | * 修复新窗口偏移问题 456 | * 调整新窗口右上角按钮间距 457 | * 调整切换按钮样式 458 | * 微调引用样式 459 | * 调整页签样式 460 | * 调整文档标题样式 461 | * 调整数据库主键更多按钮样式 462 | 463 | ## v4.0.8 464 | * 修复salt配色停靠栏不能隐藏问题 465 | 466 | ## v4.0.7 467 | * 引入google字体(Roboto、Noto Sans) 468 | * 修改停靠栏样式 469 | * 调整侧栏面板样式 470 | * 调整侧栏面板分割线 471 | * 调整侧栏面板悬浮样式 472 | * 调整引述块样式 473 | * 取消反链间距收窄 474 | * 适配3.1.4代码块样式 475 | * 修正背景颜色选择样式 476 | 477 | ## v4.0.6 478 | * 修复嵌入块背景色 479 | * 设置快捷键界面左侧对齐 480 | * 优化反链隐藏文字样式 481 | * 砍掉内置的callout样式,可以使用集市里的callout插件 482 | * 调整编辑器emoji选择界面 483 | * 修改插件收缩展开按钮描述文案 484 | 485 | ## v4.0.5 486 | * 隐藏插件图标隐藏展开按钮 487 | * 调整面包屑文档图标大小 488 | * 优化伪文档面包屑样式 489 | * 优化合并顶栏后数据库表头样式 490 | * 微调切换按钮 491 | * 更改dock栏按钮样式 492 | 493 | ## v4.0.4 494 | * 微调切换按钮 495 | 496 | ## v4.0.3 497 | * 调整启动时合并页签默认样式 498 | * 调整加载时间 499 | * 调整合并顶栏部分颜色 500 | * 无顶栏插件情况下隐藏按钮 501 | * 弹出窗口首块为列表时默认展开 502 | * 调整滑杆颜色 503 | * 内置twemoji v15.1版本【暂缺v16部分图标,预计下半年更新】 504 | * 调整图标大小 505 | * 微调切换按钮 506 | 507 | ## v4.0.2 508 | * 更改页签下划线实现方式 509 | * 取消失焦情况下页签阴影 510 | * 调整页签间距 511 | * 修复编辑器分界线层级问题 512 | * 页签合并后小窗口下直接遮挡插件栏,避免重叠 513 | 514 | ## v4.0.1 515 | * 提及无内容时隐藏提示语 516 | * 悬浮右侧栏取消下间距 517 | * 调整插件展开按钮实现方式 518 | 519 | ## v4.0.0 520 | * 修复顶栏合并后按钮被屏蔽问题 521 | * 修正分界线被覆盖问题 522 | * 顶栏合并后页签懒间距调整 523 | * 修复搜索窗口伪元素不显示问题 524 | * 斜杠菜单使用弹性分栏布局 525 | * 修正数据库筛选里单选、多选项颜色 526 | * 修正dock栏图标激活状态下hover颜色 527 | 528 | ## v3.9.9 529 | * 修复合并页签后数据库页签不能点击bug 530 | * 顶栏间距调整 531 | * 修正合并页签后salt配色 532 | * 修正页签因高度引起滚动问题 533 | * 修正新窗口模式下底栏偏移问题 534 | 535 | ## v3.9.8 536 | * 合并页签新特性移至外观切换二级菜单 537 | * 默认样式改为经典页签 538 | 539 | ## v3.9.7 540 | * 修复页签下划线偏移bug 541 | * 微调页签样式 542 | * 调整sugar配色 543 | * 调整菜单间距 544 | * 修复插件功能按钮偏移问题 545 | 546 | ## v3.9.6 547 | * 页签合并顶栏新机制测试 548 | * 整体结构调整 549 | * 部分代码重构,删除部分代码 550 | * 修复标签添加按钮样式 551 | * 修复数据库属性样式 552 | * 调整题头图按钮样式 553 | * 修复底栏偏移问题 554 | * 隐藏VIP标识 555 | * 【新特性】顶栏所有插件按钮移到右侧并压缩间距 556 | * 【新特性】可点击展开所有插件按钮 557 | 558 | ## v3.9.5 559 | * 切换按钮样式修正 560 | 561 | ## v3.9.4 562 | * 优化切换按钮实现 563 | * 优化引述块标题间距 564 | * 优化动态滚动条样式 565 | * 调整边栏样式,简化界面 566 | * 优化底栏样式 567 | * 新结构适配各个配色 568 | * 修复页签栏新建按钮偏移问题 569 | * 修复数据库在缩放情况下按钮大小不一致问题 570 | * 数据库单选最后一项改为透明背景,用于emoji单选项 571 | * 调整反链样式 572 | * 调整左右悬浮面板弹出距离 573 | * 修复拖拽题头图提示语样式 574 | 575 | ## v3.9.3 576 | * 适配新版文档标签 577 | 578 | ## v3.9.2 579 | * 修复标题间距缺失问题 580 | * 修复集市已下载空白页面错位 581 | 582 | ## v3.9.1 583 | * 重置标题提示样式 584 | * 微调顶栏按钮样式 585 | * dock栏收窄,中心区域扩大 586 | * dock按钮激活颜色修正 587 | * 修正底栏样式 588 | * 修正反链提及滚动条问题 589 | * 适配新版数据库页签样式 590 | * 修复数据库输入框显示错误问题 591 | * 砍掉链接图标功能,用插件更全面 592 | * 修正Callout 第一个段落块显示问题 593 | * 修正集市按钮样式 594 | * 修正数据库搜索栏样式 595 | * 调整集市已下载分区样式 596 | * 取消集市标题区域模糊样式 597 | * 调整数据库标题样式 598 | 599 | ## v3.9.0 600 | * 修复集市已下载切换按钮样式 601 | * 修复集市下载计数样式 602 | * 修复集市卡片悬浮样式 603 | * 减少顶栏高度 604 | * 修复全屏编辑下面包屑错位问题 605 | 606 | ## v3.8.9 607 | * 修复打开pdf的时候不能使用列表转视图问题 608 | * 删除进度条任务视图(可用进度条挂件代替) 609 | * 适配新版本主题切换不刷新机制 610 | * 修复vinegar文档树功能按钮配色 611 | * 属性面板数据库标签颜色 612 | 613 | ## v3.8.8 614 | * 修复右侧栏被底栏遮挡问题 615 | * 集市已下载插件切换按钮间距调整 616 | * 反链样式微调 617 | * 修复导出图片时标签显示问题 618 | * 修复有序列表子项在聚焦情况下丢失编号问题 619 | * 修复暗黑配色引用锚文本背景颜色 620 | * 适配新版本闪卡挖空样式 621 | * 引用锚文本标记后闪卡内不显示锚文本 622 | 623 | ## v3.8.7 624 | * 又想到了底栏适配的新点子,哐哐一顿优化,底停靠栏又可以与状态栏合并 625 | * 数据库输入栏激活样式优化 626 | 627 | ## v3.8.6 628 | * 隐藏底栏激活按钮状态不隐藏 629 | * 隐藏底栏激活按钮集中在左侧 630 | * 隐藏底栏没有激活按钮的情况下隐藏状态栏的时候隐藏底栏 631 | * 隐藏状态栏样式调整 632 | 633 | ## v3.8.4 634 | * 修复新版本设置菜单显示错位 635 | * 修复垂直标签与数据库冲突问题 636 | * 由于底部面板实现不够优雅,放弃底部dock栏与状态栏合并 637 | * 优化数据库添加按钮样式 638 | 639 | ## v3.8.3 640 | * 修复搜索界面缩小后偏移bug 641 | * 修复数据库按钮样式 642 | * 锁定文档的情况下不显示头图按钮 643 | * 优化数据库主键样式 644 | 645 | ## v3.8.2 646 | * 修复反链块标问题 647 | 648 | ## v3.8.1 649 | * 修复反链面包屑显示问题 650 | * 修复vinegar块标颜色 651 | * 优化引述块添加底色后样式 652 | * 深黑颜色调整,优化显示样式 653 | * 优化反链折叠展开样式,减少性能占用 654 | * 修复书签显示错误 655 | * 优化自动宽度(不换行)效果,调节宽度后可变为换行 656 | * 修复sugar侧栏logo显示问题 657 | * 修复关系图工具栏滚动条问题 658 | 659 | ## v3.8.0 660 | * 正式版发布,has语法逐渐优化,提升流畅度。 661 | * 按钮图标改为svg代码 662 | * 部分配色细节优化 663 | -------------------------------------------------------------------------------- /font/Harmony-500.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/royc01/notion-theme/120af884c60c5ae3685d6cfa6baeb8ff14d5a37f/font/Harmony-500.woff2 -------------------------------------------------------------------------------- /font/Harmony-600.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/royc01/notion-theme/120af884c60c5ae3685d6cfa6baeb8ff14d5a37f/font/Harmony-600.woff2 -------------------------------------------------------------------------------- /font/Harmony-700.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/royc01/notion-theme/120af884c60c5ae3685d6cfa6baeb8ff14d5a37f/font/Harmony-700.woff2 -------------------------------------------------------------------------------- /font/Twemoji.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/royc01/notion-theme/120af884c60c5ae3685d6cfa6baeb8ff14d5a37f/font/Twemoji.woff2 -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/royc01/notion-theme/120af884c60c5ae3685d6cfa6baeb8ff14d5a37f/icon.png -------------------------------------------------------------------------------- /preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/royc01/notion-theme/120af884c60c5ae3685d6cfa6baeb8ff14d5a37f/preview.png -------------------------------------------------------------------------------- /style/custom/function.css: -------------------------------------------------------------------------------- 1 | #savorToolbar{ 2 | margin: 0 4px; 3 | .b3-menu__item{ 4 | background-color: var(--Sv-menu-background); 5 | &:hover{ 6 | background-color: var(--Sv-list-background)!important; 7 | } 8 | } 9 | #buttonSavor-dark svg,#buttonSavor-light svg{ 10 | color: var(--Sv-dock-item--activefocus-background); 11 | } 12 | .button_on svg{ 13 | color: var(--Sv-dock-item--activefocus-background); 14 | } 15 | } 16 | #commonMenu:not([data-name="barmode"])>#savorToolbar{ 17 | display: none; 18 | } 19 | 20 | [data-name="barmode"]{ 21 | display: grid; 22 | width: 140px; 23 | .b3-menu__items { 24 | display: flex ; 25 | flex-direction: row ; 26 | flex-wrap: nowrap ; 27 | margin:0px 4px 3px 4px; 28 | gap: 3px; 29 | padding: 3px; 30 | border-radius: 6px; 31 | background-color: var(--Sv-list-background); 32 | overflow:visible; 33 | .b3-menu__item { 34 | display: inline-block; 35 | white-space: nowrap; 36 | padding: 0; 37 | line-height: 5px; 38 | background-color: transparent; 39 | &.b3-menu__item--selected,&:hover{ 40 | background-color: var(--Sv-menu-selected); 41 | box-shadow: 0 4px 9px rgba(0, 0, 0, .05), 0 1.5px 2.8px rgba(0, 0, 0, .07), 0 0.3px 0.7px rgba(0, 0, 0, .12); 42 | } 43 | .b3-menu__icon{ 44 | margin: 7px 12px; 45 | } 46 | &.b3-menu__item--selected .b3-menu__icon{ 47 | color: var(--Sv-status-barDock-color); 48 | } 49 | .b3-menu__label{ 50 | position: absolute; 51 | bottom: -28px; 52 | left: 0; 53 | color: var(--b3-tooltips-color); 54 | background-color: var(--b3-tooltips-background); 55 | height: 18px; 56 | line-height: 18px; 57 | padding: 5px 8px; 58 | border-radius: 6px; 59 | min-width:unset; 60 | opacity: 0; 61 | pointer-events: none; 62 | } 63 | &:hover>.b3-menu__label{ 64 | opacity: 1; 65 | transition: var(--b3-transition); 66 | } 67 | } 68 | 69 | } 70 | & #savorToolbar{ 71 | order: 2; 72 | } 73 | } 74 | #concealButton{ 75 | margin-top: 8px; 76 | &::before{ 77 | content: ""; 78 | height: 1px; 79 | width: calc(100% - 10px); 80 | border-bottom: 1px solid var(--b3-theme-surface-lighter); 81 | position: absolute; 82 | top:-5px; 83 | left: 5px; 84 | } 85 | } 86 | 87 | .savor-icon{ 88 | margin-bottom: -2px; 89 | } -------------------------------------------------------------------------------- /style/custom/list-fold.css: -------------------------------------------------------------------------------- 1 | 2 | .protyle-wysiwyg [data-node-id].li[fold="1"]>.h1>[spellcheck]:not(.fn__flex-1.history__text.protyle [data-node-id].li[fold="1"]>.h1>[spellcheck])::after, 3 | .protyle-wysiwyg [data-node-id].li[fold="1"]>.h2>[spellcheck]:not(.fn__flex-1.history__text.protyle [data-node-id].li[fold="1"]>.h2>[spellcheck])::after, 4 | .protyle-wysiwyg [data-node-id].li[fold="1"]>.h3>[spellcheck]:not(.fn__flex-1.history__text.protyle [data-node-id].li[fold="1"]>.h3>[spellcheck])::after, 5 | .protyle-wysiwyg [data-node-id].li[fold="1"]>.h4>[spellcheck]:not(.fn__flex-1.history__text.protyle [data-node-id].li[fold="1"]>.h4>[spellcheck])::after, 6 | .protyle-wysiwyg [data-node-id].li[fold="1"]>.h5>[spellcheck]:not(.fn__flex-1.history__text.protyle [data-node-id].li[fold="1"]>.h5>[spellcheck])::after, 7 | .protyle-wysiwyg [data-node-id].li[fold="1"]>.h6>[spellcheck]:not(.fn__flex-1.history__text.protyle [data-node-id].li[fold="1"]>.h6>[spellcheck])::after, 8 | .protyle-wysiwyg [data-node-id].li[fold="1"]>.p>[spellcheck]:not(.fn__flex-1.history__text.protyle [data-node-id].li[fold="1"]>.p>[spellcheck])::after{ 9 | content: "🔗"; 10 | display: inline; 11 | vertical-align: 6%; 12 | font-size: 10px; 13 | color: var(--h1-list-graphic); 14 | margin-left: 6px; 15 | border-radius: 4px; 16 | background-color: var(--b3-font-background10); 17 | padding:3px 4px; 18 | opacity:1; 19 | } 20 | -------------------------------------------------------------------------------- /style/custom/list2board.css: -------------------------------------------------------------------------------- 1 | /*————————————————————列表转看板————————————————————*/ 2 | 3 | .protyle-wysiwyg .list[custom-f~=kb][data-node-id][data-type="NodeList"] 4 | { 5 | display: grid; 6 | flex-direction: row; 7 | grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); 8 | margin-bottom: 10px; 9 | } 10 | 11 | 12 | /* ————————————————————所有子项目的表格(除去第一列其余的列),包含溢出的空白部分,所以才会有边框—————————————————————— */ 13 | 14 | .protyle-wysiwyg *[custom-f~=kb]>.li{ 15 | min-width: 200px; 16 | background-color: var(--Sv-list-background); 17 | padding: 8px 8px 2px 8px; 18 | margin-right: 10px; 19 | margin-bottom: 0px; 20 | margin-top: 0px; 21 | border-radius: 8px; 22 | >[data-node-id]{ 23 | margin-left: 0px; 24 | margin-bottom: 8px; 25 | } 26 | } 27 | 28 | /* ————————————————————对所有子列表项设置格式———————————————————— */ 29 | 30 | .protyle-wysiwyg *[custom-f~=kb]>.li>.list>.li{ 31 | border-radius: 6px; 32 | padding: 0.4em 0.4em 0.4em 0 ; 33 | background-color: var(--b3-theme-background); 34 | box-shadow: rgba(15, 15, 15, 0.02) 0px 0px 0px 1px, rgba(15, 15, 15, 0.05) 0px 2px 4px; 35 | margin-bottom: 8px; 36 | } 37 | .protyle-wysiwyg *[custom-f="kb"] .li { 38 | display: flex; 39 | } 40 | 41 | /*只处理每个列表的第一行*/ 42 | .protyle-wysiwyg .list[custom-f~=kb] > div > div:nth-child(2), 43 | .protyle-wysiwyg .sb>*[custom-f~=kb] > div > div:nth-child(2) 44 | { 45 | min-width: var(--kbline-boarditem-minwidth); 46 | border-radius: 3px; 47 | padding:9px 10px 11px 38px; 48 | } 49 | .list[custom-f~=kb] > [data-subtype="o"][data-type="NodeListItem"] { 50 | &::after { 51 | left: 18px; 52 | top: 17px; 53 | } 54 | } 55 | .protyle-wysiwyg .list[custom-f~=kb] > div > div:nth-child(2)[data-type="NodeHeading"], 56 | .protyle-wysiwyg .sb>*[custom-f~=kb] > div > div:nth-child(2)[data-type="NodeHeading"] 57 | { 58 | 59 | padding:9px 10px 7px 38px; 60 | } 61 | .protyle-wysiwyg *[custom-f~=kb] .li [data-type="NodeHeading"]>[spellcheck]:after{ 62 | display:none; 63 | }/*取消标题层级提示*/ 64 | 65 | /*标题行循环颜色*/ 66 | .protyle-wysiwyg .list[custom-f~=kb] > div:nth-child(4n-3) > .protyle-action, 67 | .protyle-wysiwyg .sb>*[custom-f~=kb] > div:nth-child(4n-3) > .protyle-action{ 68 | color:var(--b3-font-color13); 69 | & + [data-node-id]{ 70 | background-color:var(--b3-font-background13); 71 | border-radius: 6px; 72 | } 73 | } 74 | .protyle-wysiwyg .list[custom-f~=kb] > div:nth-child(4n-2) > .protyle-action, 75 | .protyle-wysiwyg .sb>*[custom-f~=kb] > div:nth-child(4n-2) > .protyle-action{ 76 | color:var(--b3-font-color5); 77 | & + [data-node-id]{ 78 | background-color:var(--b3-font-background6); 79 | border-radius: 6px; 80 | } 81 | } 82 | .protyle-wysiwyg .list[custom-f~=kb] > div:nth-child(4n-1) > .protyle-action, 83 | .protyle-wysiwyg .sb>*[custom-f~=kb] > div:nth-child(4n-1) > .protyle-action{ 84 | color:var(--b3-font-color9); 85 | & + [data-node-id]{ 86 | background-color:var(--b3-font-background10); 87 | border-radius: 6px; 88 | } 89 | } 90 | .protyle-wysiwyg .list[custom-f~=kb] > div:nth-child(4n) > .protyle-action, 91 | .protyle-wysiwyg .sb>*[custom-f~=kb] > div:nth-child(4n) > .protyle-action{ 92 | color:var(--b3-font-color7); 93 | & + [data-node-id]{ 94 | background-color:var(--b3-font-background8); 95 | border-radius: 6px; 96 | } 97 | } 98 | 99 | /*只处理每个列表第一行的点*/ 100 | .protyle-wysiwyg .list[custom-f~=kb] > div > div:nth-child(1), 101 | .protyle-wysiwyg .sb>*[custom-f~=kb] > div > div:nth-child(1) 102 | { 103 | transform: translate(8px, 13px); 104 | z-index:2; 105 | } 106 | 107 | /* ————————————————————去除小竖线———————————————————— */ 108 | .list[custom-f="kb"][data-node-id] .li:before { 109 | display: none; 110 | } 111 | 112 | /* 对除了第一层之外的子列表 .protyle-action 移动 */ 113 | .protyle-wysiwyg *[custom-f~=kb]>.li>.list>.li>.protyle-action{ 114 | position: absolute; 115 | top: 5px; 116 | border-radius: 3px; 117 | } 118 | 119 | /* 引用计数 */ 120 | .list[custom-f="kb"] .protyle-attr--refcount{ 121 | height: 14px; 122 | width: 14px; 123 | left:-44px; 124 | top:9px; 125 | padding: 0; 126 | line-height: 14px; 127 | text-align: center; 128 | } 129 | 130 | .list[custom-f="kb"] .list .protyle-attr--refcount{ 131 | height: 14px; 132 | width: 14px; 133 | left:-14px; 134 | top:9px; 135 | padding: 0; 136 | line-height: 14px; 137 | text-align: center; 138 | } 139 | 140 | /*————————————————————列表转化看板 END————————————————————*/ -------------------------------------------------------------------------------- /style/custom/list2map.css: -------------------------------------------------------------------------------- 1 | /*————————————————————————列表转导图————————————————————————*/ 2 | /*整个导图取消缩进*/ 3 | .protyle-wysiwyg *[custom-f="dt"] .li .list{ 4 | padding: 0px; 5 | margin: 0px; 6 | transition: all 0.5s; 7 | } 8 | .protyle-wysiwyg *[custom-f="dt"].list{ 9 | overflow-x:auto;/*溢出滚动*/ 10 | padding:60px 30px!important; 11 | margin:10px 0px; 12 | border: 1px solid var(--Sv-fold-border); 13 | background: radial-gradient(var(--Sv-list-background) 1.5px, transparent 1px) 0 0 / 20px 20px; 14 | } 15 | /*子项设偏移调整*/ 16 | .protyle-wysiwyg *[custom-f="dt"] [data-node-id].li>[data-node-id]{ 17 | margin-left: 20px !important; 18 | margin-right: -24px !important; 19 | } 20 | .protyle-wysiwyg *[custom-f="dt"] [data-node-id].li>.list{ 21 | padding-left: 20px; 22 | } 23 | /*文字设置居中*/ 24 | .protyle-wysiwyg *[custom-f="dt"] .li { 25 | display: flex; 26 | flex-direction: unset; 27 | margin: 0; 28 | } 29 | .protyle-wysiwyg *[custom-f="dt"] .li .p,.protyle-wysiwyg *[custom-f="dt"] .li [data-type="NodeHeading"] { 30 | display: flex; 31 | align-items: center; 32 | left:6px; 33 | margin: 0; 34 | flex-shrink:0;/*不压缩宽度*/ 35 | } 36 | .protyle-wysiwyg *[custom-f="dt"] .li [data-type="NodeHeading"]>[spellcheck]:after{ 37 | display:none; 38 | }/*取消标题层级提示*/ 39 | .protyle-wysiwyg *[custom-f="dt"] .li div{ 40 | border-right:10px solid transparent; 41 | } 42 | /*文字框*/ 43 | .protyle-wysiwyg *[custom-f="dt"] .li div>div[spellcheck]{ 44 | margin-left:-8px; 45 | padding:5px 0 5px 10px; 46 | margin-top:2px; 47 | background-color:var(--b3-block-daotu); 48 | border-radius:8px; 49 | box-shadow: rgba(15, 15, 15, 0.1) 0px 0px 0px 1px, rgba(15, 15, 15, 0.1) 0px 2px 4px; 50 | max-width:15vw; 51 | } 52 | .protyle-wysiwyg *[custom-f="dt"] .li[data-subtype="t"]>[data-node-id]>div[spellcheck] 53 | { 54 | padding:5px 0px 5px 35px; 55 | } 56 | .protyle-wysiwyg *[custom-f="dt"] .li[data-subtype="o"]>[data-node-id]>div[spellcheck] 57 | { 58 | padding:5px 10px 5px 25px; 59 | } 60 | .protyle-wysiwyg *[custom-f="dt"] .li[data-subtype="t"]>.code-block>.protyle-action{ 61 | padding:5px 0px 5px 30px; 62 | } 63 | .protyle-wysiwyg *[custom-f="dt"] .li[data-subtype="t"]>[data-node-id]>div.hljs 64 | { 65 | padding:30px 0px 22px 30px; 66 | } 67 | .protyle-wysiwyg *[custom-f="dt"] .li[data-subtype="o"]>.code-block>.protyle-action{ 68 | padding:5px 0px 5px 30px; 69 | } 70 | .protyle-wysiwyg *[custom-f="dt"] .li[data-subtype="o"]>[data-node-id]>div.hljs 71 | { 72 | padding:30px 0px 22px 30px; 73 | } 74 | .protyle-wysiwyg *[custom-f="dt"] .li div>div.hljs{ 75 | padding:30px 10px 22px; 76 | margin-left: 2px; 77 | background-color:var(--b3-menu-background); 78 | } 79 | /*去除竖线*/ 80 | .list[custom-f="dt"][data-node-id] .li>:before { 81 | display: none; 82 | } 83 | 84 | /*圆点符号居中对齐*/ 85 | .protyle-content *[custom-f~=dt] [data-subtype="u"][data-node-id].li>div.protyle-action { 86 | top:50%; 87 | margin-left:-18px; 88 | }/*无序列表*/ 89 | .protyle-content *[custom-f~=dt] [data-subtype="o"][data-node-id].li>div.protyle-action { 90 | top:calc(50% + 1px); 91 | margin-left:17px; 92 | }/*有序列表*/ 93 | .list[custom-f="dt"][data-node-id] .li>.protyle-action{ 94 | top:calc(50% + 1px); 95 | left:3px; 96 | position: absolute; 97 | transform: translate(0, -50%); 98 | z-index: 2; 99 | } 100 | .protyle-wysiwyg *[custom-f="dt"] [data-subtype="u"][data-node-id].li>.protyle-action:after{ 101 | left:37px; 102 | } 103 | .list[custom-f="dt"][data-node-id] .protyle-action svg{ 104 | left:20px; 105 | } 106 | 107 | /*前继承线*/ 108 | .protyle-wysiwyg *[custom-f="dt"] .li::before,.protyle-wysiwyg *[custom-f="dt"] .li[fold="1"]::before{ 109 | content: ''; 110 | position: absolute; 111 | top: 50%!important; 112 | border-top:var(--b3-border-daotu); 113 | width: 20px; 114 | height: 50%!important; 115 | } 116 | 117 | /*上竖线*/ 118 | .protyle-wysiwyg *[custom-f="dt"] .li::before{ 119 | bottom: 50%; 120 | border-left:var(--b3-border-daotu); 121 | left: 0px; 122 | } 123 | 124 | .protyle-wysiwyg *[custom-f="dt"] .li:hover::before{ 125 | border-left:var(--b3-border-daotu); 126 | } 127 | /*下竖线*/ 128 | .protyle-wysiwyg *[custom-f="dt"] .li::after{ 129 | content: ''; 130 | position: absolute; 131 | border-left:var(--b3-border-daotu); 132 | width: 20px; 133 | height: 50%; 134 | } 135 | /*单个子项直线*/ 136 | .protyle-wysiwyg *[custom-f="dt"] .list>.li:first-child:nth-last-child(2)::after{ 137 | border-radius:0px!important; 138 | } 139 | /*单子项居中*/ 140 | .protyle-wysiwyg *[custom-f="dt"] .list>.li:first-child:nth-last-child(2){ 141 | top: 50%; 142 | transform: translate(0, -50%); 143 | } 144 | /*取消多余线条*/ 145 | .protyle-wysiwyg *[custom-f="dt"] .li:first-child::after,.protyle-wysiwyg *[custom-f="dt"] .li:nth-last-child(2)::before{ 146 | border:none!important; 147 | } 148 | /*上框线*/ 149 | .protyle-wysiwyg *[custom-f="dt"] .li:first-child::before{ 150 | border-radius:8px 0 0 0 ; 151 | } 152 | /*下框线*/ 153 | .protyle-wysiwyg *[custom-f="dt"] .li:nth-last-child(2)::after{ 154 | border-bottom:var(--b3-border-daotu)!important; 155 | border-radius:0 0 0 8px!important; 156 | } 157 | /*后继承线*/ 158 | .list[custom-f="dt"] .list::after{ 159 | content: ''; 160 | position: absolute; 161 | left: 0; 162 | top: 50%; 163 | border-top:var(--b3-border-daotu); 164 | width: 20px; 165 | height: 0; 166 | } 167 | 168 | /*根目录最小宽度,保证块标可点*/ 169 | div *[custom-f="dt"]>[data-type="NodeListItem"]>[data-type="NodeParagraph"]>[spellcheck]{ 170 | min-width:50px; 171 | } 172 | 173 | /*————————————————————————————————————————————————————————————————————————*/ 174 | 175 | .protyle-wysiwyg *[custom-f="dt"] .li::before{ 176 | display: flex!important; 177 | } 178 | /*取消根目录线*/ 179 | div *[custom-f="dt"]>[data-type="NodeListItem"].li::before, 180 | div *[custom-f="dt"]>[data-type="NodeListItem"].li::after{ 181 | display: none!important; 182 | } 183 | 184 | 185 | 186 | .protyle-wysiwyg *[custom-f="dt"] .li[data-subtype="u"]>.protyle-action svg{ 187 | color:unset; 188 | } 189 | 190 | 191 | 192 | [custom-f="dt"]::before { 193 | content: "拖拽:鼠标拖动节点 | 缩放:Alt + 鼠标滚轮 | 双击:复位节点"; 194 | position: absolute; 195 | top: 10px; 196 | right: 10px; 197 | font-size: 12px; 198 | color: var(--b3-theme-on-surface); 199 | background-color: var(--b3-theme-surface); 200 | border-radius: 4px; 201 | box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); 202 | padding: 3px 10px; 203 | opacity: 0.8; 204 | pointer-events: none; 205 | } -------------------------------------------------------------------------------- /style/custom/list2table.css: -------------------------------------------------------------------------------- 1 | /* -----------------------------------------------列表转化为表格------------------------------------------- */ 2 | .list[data-node-id][data-type="NodeList"][custom-f="bg"]{ 3 | display:grid; 4 | width: calc(100% - 8px); 5 | padding:15px 5px 15px 5px; 6 | overflow-x: auto; 7 | & .li { 8 | display: flex; 9 | outline: 1px solid var(--b3-border-color); 10 | background-color: var(--b3-theme-background); 11 | border-radius: 0px; 12 | flex-direction: unset; 13 | margin: 0; 14 | &:before{ 15 | display: none!important; 16 | } 17 | &>div { 18 | margin-right: 20px;/* 调整每个子列表项右侧边距 */ 19 | } 20 | & .list { 21 | padding: 0px; 22 | margin: 0px !important; 23 | width:100%; 24 | outline: 1px solid var(--b3-border-color); 25 | border-radius: 0px; 26 | &>.li:first-child:nth-last-child(2){ 27 | top: 50%; 28 | transform: translate(0, -50%); 29 | height:100%; 30 | }/*单子项居中*/ 31 | } 32 | &>.protyle-action { 33 | position: absolute; 34 | top: 50%; 35 | transform: translate(0, -50%); 36 | opacity:0.3; 37 | }/* 设置前面的符号居中对齐 */ 38 | } 39 | & [data-node-id].li>[data-node-id] { 40 | margin-left: 6px !important; 41 | } 42 | & .p { 43 | flex: 1; 44 | left:18px; 45 | text-align: left; 46 | align-items: center; 47 | display: flex; 48 | min-width: 120px; 49 | min-height: 30px; 50 | height:auto; 51 | margin: 0; 52 | } 53 | & .li>.list>.li { 54 | outline: none !important; 55 | border-top:1px solid var(--b3-border-color); 56 | &:first-of-type { 57 | border-top: none; 58 | } 59 | } 60 | } 61 | 62 | 63 | .protyle-wysiwyg *[custom-f="bg"] .li [data-type="NodeHeading"]>[spellcheck]:after{ 64 | display:none; 65 | }/*取消标题层级提示*/ 66 | 67 | 68 | 69 | 70 | .protyle-wysiwyg *[custom-f="bg"] .code-block { 71 | width:calc(100% - 12px); 72 | } 73 | 74 | -------------------------------------------------------------------------------- /style/custom/progress.css: -------------------------------------------------------------------------------- 1 | /*进度条任务列表*/ 2 | 3 | 4 | @property --progress { 5 | syntax: ''; 6 | inherits: false; 7 | initial-value: 0%; 8 | } 9 | 10 | .protyle-wysiwyg [data-node-id].list[data-subtype="t"][custom-f="progress"]>.li:first-child>.protyle-action--task+[data-node-id] [contenteditable]+.protyle-attr{ 11 | border:1px solid var(--b3-scroll-color); 12 | border-radius: 25px; 13 | width:100%; 14 | height:8px; 15 | left:-25px; 16 | position:absolute; 17 | } 18 | 19 | .protyle-wysiwyg [data-node-id].list[data-subtype="t"][custom-f="progress"]>.li:first-child>.protyle-action--task+[data-node-id] [contenteditable]+ .protyle-attr[style*="--progress"]{ 20 | content:var(--progress) ; 21 | border-radius: 25px; 22 | background: linear-gradient(90deg,var(--b3-theme-primary-light) var(--progress), var(--b3-scroll-color) 0); 23 | height:8px; 24 | transition: .3s --progress; 25 | left:-25px; 26 | position:absolute; 27 | } 28 | .protyle-wysiwyg [data-node-id].list[data-subtype="t"][custom-f="progress"]>.li:first-child>.protyle-action--task+[data-node-id] [contenteditable]+ .protyle-attr[style*="--progress"]:after{ 29 | content:attr(value)'%'; 30 | font-size:16px; 31 | position:absolute; 32 | top:-10px; 33 | right:-40px; 34 | } 35 | -------------------------------------------------------------------------------- /style/module/av.css: -------------------------------------------------------------------------------- 1 | /*数据库*/ 2 | .av__celltext--ref{ 3 | font-weight:700; 4 | } 5 | .av__cell .b3-chip[data-type="block-more"],.av__cell .b3-chip[data-type="block-ref"]{ 6 | padding: 4px!important; 7 | top:5px; 8 | background-color: var(--b3-theme-background)!important; 9 | color: var(--b3-theme-on-surface); 10 | box-shadow: rgba(15, 15, 15, 0.1) 0px 0px 0px 1px, rgba(15, 15, 15, 0.1) 0px 2px 4px; 11 | border-bottom:none!important; 12 | } 13 | .av__header .layout-tab-bar .item__graphic{ 14 | padding: 6px 4px 4px 7px; 15 | } 16 | 17 | [data-type="av-search-icon"] +div{ 18 | font-size: 90%; 19 | } 20 | [data-type="av-search-icon"] +div svg{ 21 | right: 5px; 22 | } 23 | .protyle-hint .b3-text-field{ 24 | margin:5px 8px 4px 0px!important; 25 | } 26 | .av__views .layout-tab-bar .item--focus::after { 27 | background-color: var(--b3-theme-on-background); 28 | height: 0.25em; 29 | } 30 | .av__panel .b3-chip { 31 | margin:0px 6px 6px 0px; 32 | border-radius:6px; 33 | } 34 | .av__panel .b3-menu .b3-chips input { 35 | height: 24px; 36 | margin:0px 0px 6px 0px; 37 | border-radius: 5px; 38 | } 39 | .custom-attr__avvalue .b3-chip,.av__cell .b3-chip, .b3-menu__label .b3-chip{ 40 | border-radius:3px; 41 | } 42 | .custom-attr__avvalue .b3-chip[style*="color1)"],.av__cell .b3-chip[style*="color1)"],.av__panel .b3-chip[style*="color1)"],[data-name="av-col-option"] .color__square[style*="color1)"],.b3-menu__label .b3-chip[data-color="1"]{ 43 | background-color:var(--b3-font-background3)!important; 44 | color:var(--Sv-font-color3)!important; 45 | } 46 | .custom-attr__avvalue .b3-chip[style*="color2)"],.av__cell .b3-chip[style*="color2)"],.av__panel .b3-chip[style*="color2)"],[data-name="av-col-option"] .color__square[style*="color2)"],.b3-menu__label .b3-chip[data-color="2"]{ 47 | background-color:var(--b3-font-background13)!important; 48 | color:var(--Sv-font-color13)!important; 49 | } 50 | .custom-attr__avvalue .b3-chip[style*="color3)"],.av__cell .b3-chip[style*="color3)"],.av__panel .b3-chip[style*="color3)"],[data-name="av-col-option"] .color__square[style*="color3)"],.b3-menu__label .b3-chip[data-color="3"]{ 51 | background-color:var(--b3-font-background12)!important; 52 | color:var(--Sv-font-color12)!important; 53 | } 54 | .custom-attr__avvalue .b3-chip[style*="color4)"],.av__cell .b3-chip[style*="color4)"],.av__panel .b3-chip[style*="color4)"],[data-name="av-col-option"] .color__square[style*="color4)"],.b3-menu__label .b3-chip[data-color="4"]{ 55 | background-color:var(--b3-font-background11)!important; 56 | color:var(--Sv-font-color11)!important; 57 | } 58 | .custom-attr__avvalue .b3-chip[style*="color5)"],.av__cell .b3-chip[style*="color5)"],.av__panel .b3-chip[style*="color5)"],[data-name="av-col-option"] .color__square[style*="color5)"],.b3-menu__label .b3-chip[data-color="5"]{ 59 | background-color:var(--b3-font-background10)!important; 60 | color:var(--Sv-font-color10)!important; 61 | } 62 | .custom-attr__avvalue .b3-chip[style*="color6)"],.av__cell .b3-chip[style*="color6)"],.av__panel .b3-chip[style*="color6)"],[data-name="av-col-option"] .color__square[style*="color6)"],.b3-menu__label .b3-chip[data-color="6"]{ 63 | background-color:var(--b3-font-background9)!important; 64 | color:var(--Sv-font-color9)!important; 65 | } 66 | .custom-attr__avvalue .b3-chip[style*="color7)"],.av__cell .b3-chip[style*="color7)"],.av__panel .b3-chip[style*="color7)"],[data-name="av-col-option"] .color__square[style*="color7)"],.b3-menu__label .b3-chip[data-color="7"]{ 67 | background-color:var(--b3-font-background8)!important; 68 | color:var(--Sv-font-color8)!important; 69 | } 70 | .custom-attr__avvalue .b3-chip[style*="color8)"],.av__cell .b3-chip[style*="color8)"],.av__panel .b3-chip[style*="color8)"],[data-name="av-col-option"] .color__square[style*="color8)"],.b3-menu__label .b3-chip[data-color="8"]{ 71 | background-color:var(--b3-font-background7)!important; 72 | color:var(--Sv-font-color7)!important; 73 | } 74 | .custom-attr__avvalue .b3-chip[style*="color9)"],.av__cell .b3-chip[style*="color9)"],.av__panel .b3-chip[style*="color9)"],[data-name="av-col-option"] .color__square[style*="color9)"],.b3-menu__label .b3-chip[data-color="9"]{ 75 | background-color:var(--b3-font-background6)!important; 76 | color:var(--Sv-font-color6)!important; 77 | } 78 | .custom-attr__avvalue .b3-chip[style*="color10)"],.av__cell .b3-chip[style*="color10)"],.av__panel .b3-chip[style*="color10)"],[data-name="av-col-option"] .color__square[style*="color10)"],.b3-menu__label .b3-chip[data-color="10"]{ 79 | background-color:var(--b3-font-background5)!important; 80 | color:var(--Sv-font-color5)!important; 81 | } 82 | .custom-attr__avvalue .b3-chip[style*="color11)"],.av__cell .b3-chip[style*="color11)"],.av__panel .b3-chip[style*="color11)"],[data-name="av-col-option"] .color__square[style*="color11)"],.b3-menu__label .b3-chip[data-color="11"]{ 83 | background-color:var(--b3-font-background4)!important; 84 | color:var(--Sv-font-color4)!important; 85 | } 86 | .custom-attr__avvalue .b3-chip[style*="color12)"],.av__cell .b3-chip[style*="color12)"],.av__panel .b3-chip[style*="color12)"],[data-name="av-col-option"] .color__square[style*="color12)"],.b3-menu__label .b3-chip[data-color="12"]{ 87 | background-color:var(--b3-font-background2)!important; 88 | color:var(--Sv-font-color2)!important; 89 | } 90 | .custom-attr__avvalue .b3-chip[style*="color13)"],.av__cell .b3-chip[style*="color13)"],.av__panel .b3-chip[style*="color13)"],[data-name="av-col-option"] .color__square[style*="color13)"],.b3-menu__label .b3-chip[data-color="13"]{ 91 | background-color:var(--b3-font-background1)!important; 92 | color:var(--Sv-font-color1)!important; 93 | } 94 | 95 | .av__title{ 96 | padding: 5px 0px 5px 6px; 97 | } 98 | .av__mask .b3-text-field:not(#searchInput, #replaceInput, #searchAssetInput,.b3-text-field--text){ 99 | background-color: var(--b3-theme-surface); 100 | box-shadow: inset 0 0 0 .6px var(--b3-scroll-color); 101 | &:hover{ 102 | background-color: var(--b3-theme-surface) !important; 103 | } 104 | 105 | } -------------------------------------------------------------------------------- /style/module/blockquote.css: -------------------------------------------------------------------------------- 1 | /* 引述 */ 2 | .protyle-wysiwyg .bq{ 3 | color: var(--Sv-bq-color); 4 | background-color: transparent; 5 | } 6 | .protyle-wysiwyg .bq:before{ 7 | background-color: var(--Sv-bq-color); 8 | } 9 | .list .bq { 10 | margin-right:0px!important; 11 | }/*列表里代码块对齐*/ 12 | .bq[style*="background1)"]{ 13 | border: none; 14 | background-color: var(--Sv-bq-background1)!important; 15 | border-radius: 5px; 16 | box-shadow: 0 0 0 2px var(--b3-font-background1) inset; 17 | &:before{ 18 | display: none; 19 | } 20 | } 21 | .bq[style*="background2"]{ 22 | border: none; 23 | background-color: var(--Sv-bq-background2)!important; 24 | border-radius: 5px; 25 | box-shadow: 0 0 0 2px var(--b3-font-background2) inset; 26 | &:before{ 27 | display: none; 28 | } 29 | } 30 | .bq[style*="background3"]{ 31 | border: none; 32 | background-color: var(--Sv-bq-background3)!important; 33 | border-radius: 5px; 34 | box-shadow: 0 0 0 2px var(--b3-font-background3) inset; 35 | &:before{ 36 | display: none; 37 | } 38 | } 39 | .bq[style*="background4"]{ 40 | border: none; 41 | background-color: var(--Sv-bq-background4)!important; 42 | border-radius: 5px; 43 | box-shadow: 0 0 0 2px var(--b3-font-background4) inset; 44 | &:before{ 45 | display: none; 46 | } 47 | } 48 | .bq[style*="background5"]{ 49 | border: none; 50 | background-color: var(--Sv-bq-background5)!important; 51 | border-radius: 5px; 52 | box-shadow: 0 0 0 2px var(--b3-font-background5) inset; 53 | &:before{ 54 | display: none; 55 | } 56 | } 57 | .bq[style*="background6"]{ 58 | border: none; 59 | background-color: var(--Sv-bq-background6)!important; 60 | border-radius: 5px; 61 | box-shadow: 0 0 0 2px var(--b3-font-background6) inset; 62 | &:before{ 63 | display: none; 64 | } 65 | } 66 | .bq[style*="background7"]{ 67 | border: none; 68 | background-color: var(--Sv-bq-background7)!important; 69 | border-radius: 5px; 70 | box-shadow: 0 0 0 2px var(--b3-font-background7) inset; 71 | &:before{ 72 | display: none; 73 | } 74 | } 75 | .bq[style*="background8"]{ 76 | border: none; 77 | background-color: var(--Sv-bq-background8)!important; 78 | border-radius: 5px; 79 | box-shadow: 0 0 0 2px var(--b3-font-background8) inset; 80 | &:before{ 81 | display: none; 82 | } 83 | } 84 | .bq[style*="background9"]{ 85 | border: none; 86 | background-color: var(--Sv-bq-background9)!important; 87 | border-radius: 5px; 88 | box-shadow: 0 0 0 2px var(--b3-font-background9) inset; 89 | &:before{ 90 | display: none; 91 | } 92 | } 93 | .bq[style*="background10"]{ 94 | border: none; 95 | background-color: var(--Sv-bq-background10)!important; 96 | border-radius: 5px; 97 | box-shadow: 0 0 0 2px var(--b3-font-background10) inset; 98 | &:before{ 99 | display: none; 100 | } 101 | } 102 | .bq[style*="background11"]{ 103 | border: none; 104 | background-color: var(--Sv-bq-background11)!important; 105 | border-radius: 5px; 106 | box-shadow: 0 0 0 2px var(--b3-font-background11) inset; 107 | &:before{ 108 | display: none; 109 | } 110 | } 111 | .bq[style*="background12"]{ 112 | border: none; 113 | background-color: var(--Sv-bq-background12)!important; 114 | border-radius: 5px; 115 | box-shadow: 0 0 0 2px var(--b3-font-background12) inset; 116 | &:before{ 117 | display: none; 118 | } 119 | } 120 | .bq[style*="background13"]{ 121 | border: none; 122 | background-color: var(--Sv-bq-background13)!important; 123 | border-radius: 5px; 124 | box-shadow: 0 0 0 2px var(--b3-font-background13) inset; 125 | &:before{ 126 | display: none; 127 | } 128 | } -------------------------------------------------------------------------------- /style/module/breadcrumb.css: -------------------------------------------------------------------------------- 1 | /* ————————————————————面包屑———————————————————— */ 2 | .protyle-breadcrumb{ 3 | padding: 3px 6px 3px 6px; 4 | &>.protyle-breadcrumb__bar .protyle-breadcrumb__item{ 5 | &:hover{ 6 | background-color: var(--Sv-breadcrumb-hover); 7 | } 8 | &:first-child{ 9 | &::before{ 10 | content:"📄"; 11 | margin-right:-14px; 12 | font-size: 12px; 13 | } 14 | &>svg.popover__block{ 15 | padding:2px; 16 | color:transparent; 17 | background-color: transparent; 18 | } 19 | } 20 | &>svg.popover__block{ 21 | height: 10px; 22 | width: 10px; 23 | padding:4px; 24 | border-radius:3px; 25 | background-color: var(--Sv-breadcrumb-hover); 26 | } 27 | } 28 | .protyle-breadcrumb__item--active{ 29 | background-color: transparent; 30 | &:hover{ 31 | background-color: var(--Sv-breadcrumb-hover) ; 32 | } 33 | &:not(:first-child)>svg{ 34 | color: var(--Sv-breadcrumb-active-color) ; 35 | background-color: var(--Sv-breadcrumb-active)!important; 36 | } 37 | } 38 | .protyle-breadcrumb__text{ 39 | margin-left: 6px; 40 | font-size:90%; 41 | } 42 | .protyle-breadcrumb__arrow{ 43 | width: 0px; 44 | height: 13px; 45 | margin-top:1px; 46 | transform: rotate(22deg); 47 | border-left: 1px solid var(--Sv-breadcrumb-arrow); 48 | } 49 | } 50 | 51 | /*只读按钮*/ 52 | [aria-label="解除锁定"],[aria-label="Make doc writable"]{ 53 | background-color: var(--Sv-breadcrumb-hover); 54 | } 55 | /*退出聚焦按钮 */ 56 | .protyle-breadcrumb__icon[data-type="exit-focus"]{ 57 | font-weight: 700; 58 | border-radius: 6px; 59 | background-color: var(--Sv-breadcrumb-active); 60 | color: var(--Sv-breadcrumb-active-color) !important; 61 | box-shadow: rgb(15 15 15 / 10%) 0px 1px 2px; 62 | height:24px; 63 | &:hover{ 64 | background-color:var( --Sv-breadcrumb-active-hover)!important; 65 | } 66 | 67 | } -------------------------------------------------------------------------------- /style/module/dock.css: -------------------------------------------------------------------------------- 1 | /* ————————————————————边栏———————————————————— */ 2 | .dock{ 3 | background-color: var(--Sv-dock-background); 4 | border: none!important; 5 | &.dock--vertical{ 6 | width: 33px; 7 | } 8 | &#dockLeft{ 9 | .dock__item{ 10 | margin: 5px 0px 5px 5px; 11 | } 12 | } 13 | &#dockRight{ 14 | .dock__item{ 15 | margin: 5px 5px 5px 0px; 16 | } 17 | } 18 | &#dockBottom{ 19 | height: 33px; 20 | padding: 0 38px; 21 | .dock__item{ 22 | margin: 0px 5px 5px 0px; 23 | } 24 | .fn__flex-1{ 25 | flex: 0; 26 | } 27 | } 28 | & .dock__item{ 29 | color: var(--Sv-dock-item-color); 30 | padding:8px ; 31 | border-radius: var(--Sv-dock-item-radius); 32 | svg{ 33 | width: 12px; 34 | height: 12px; 35 | } 36 | &:first-child{ 37 | margin-top: 0px!important; 38 | } 39 | &:hover{ 40 | color: var(--Sv-dock-item-hover-color); 41 | background-color: var(--Sv-dock-item-active-background); 42 | } 43 | &.dock__item--activefocus{ 44 | background: var(--Sv-dock-item--activefocus-background)!important; 45 | color:var(--Sv-dock-item--activefocus-color)!important; 46 | }/*dock焦点状态*/ 47 | } 48 | & .dock__item--active{ 49 | color: var(--Sv-dock-item-hover-color); 50 | background-color: var(--Sv-dock-item-active-background); 51 | } 52 | & .dock__item--active:hover{ 53 | color: var(--Sv-dock-item-hover-color); 54 | background-color: var(--Sv-dock-item-active-background-hover); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /style/module/editor.css: -------------------------------------------------------------------------------- 1 | /* ————————————————————编辑区———————————————————— */ 2 | /*头图、图标*/ 3 | .protyle-background{ 4 | .protyle-background__img img{ 5 | margin: 0 5px; 6 | border-radius: 6px; 7 | width: calc(100% - 10px); 8 | } 9 | .protyle-background__icon:not(.fn__none){ 10 | margin-right: 12px; 11 | border-radius:6px; 12 | /*&:not(.fn__none)+.b3-chips{ 13 | margin-left:80px; 14 | margin-top:-40px; 15 | transform:none; 16 | }*/ 17 | &:hover{ 18 | background-color:var(--Sv-background-icon-hover); 19 | opacity:1; 20 | } 21 | } 22 | .b3-button{ 23 | box-shadow: none!important; 24 | padding: 4px 6px; 25 | margin-top: 0px; 26 | font-weight: 500; 27 | color: var(--b3-theme-on-surface); 28 | background-color: transparent; 29 | & svg{ 30 | width:12px; 31 | height:12px; 32 | padding:2px; 33 | color: var(--Sv-background-icon-button-color); 34 | background-color: var(--Sv-background-icon-button); 35 | border-radius:3px; 36 | opacity:0.6; 37 | } 38 | &:hover{ 39 | background-color: var(--Sv-background-icon-button-hover); 40 | } 41 | } 42 | .protyle-icons{ 43 | box-shadow: rgba(15, 15, 15, 0.1) 0px 0px 0px 1px, rgba(15, 15, 15, 0.1) 0px 2px 4px; 44 | border-radius: 6px; 45 | right: 12px; 46 | .protyle-icon{ 47 | height: 28px; 48 | line-height: 20px; 49 | padding: 4px 8px; 50 | color: var(--Sv-protyle-icon-color); 51 | background-color: var(--Sv-protyle-icon); 52 | box-shadow: rgba(15, 15, 15, 0.1) 0 0px 0px 1px; 53 | &:after{ 54 | content: attr(aria-label); 55 | } 56 | &:hover{ 57 | background-color: var(--Sv-protyle-icon-hover); 58 | } 59 | svg{ 60 | width: 12px; 61 | margin: 3px 2px; 62 | } 63 | } 64 | .protyle-icon--text{ 65 | background-color: var(--Sv-img-icons-span); 66 | color:var(--Sv-protyle-icon-text-color); 67 | padding:4px 40px; 68 | &:hover{ 69 | background-color: var(--Sv-img-icons-span); 70 | } 71 | }/*上下移动题图提示语*/ 72 | } 73 | [style="cursor: move;"] ~ .protyle-icons:not([style="opacity: .86;"]){ 74 | box-shadow: none; 75 | } 76 | } 77 | .protyle-top:hover .protyle-background--enable .protyle-background__action, .protyle-top:hover .protyle-background--enable .protyle-background__img .protyle-icons, [style="cursor: move;"] ~ .protyle-icons{ 78 | opacity: 1 !important; 79 | } 80 | 81 | /*文档标签*/ 82 | .protyle-background__ia{ 83 | display: flex; 84 | align-items: flex-end; 85 | .protyle-background__action .b3-button{ 86 | margin: 0 8px 8px 0; 87 | } 88 | .b3-chips__doctag{ 89 | padding: 4px; 90 | & .b3-button{ 91 | box-shadow: none; 92 | background-color: var(--Sv-background-icon-hover); 93 | width: 28px; 94 | height: 28px; 95 | overflow: hidden; 96 | font-size: 0; 97 | opacity: 0.6; 98 | border-radius: 6px; 99 | &:hover{ 100 | opacity: 1; 101 | } 102 | & svg{ 103 | margin-right: 0px; 104 | background-color: transparent; 105 | color: var(--b3-theme-on-background); 106 | } 107 | 108 | } 109 | & .b3-chip{ 110 | padding: 0 0 1px 8px; 111 | font-size:90%; 112 | font-weight: 600; 113 | & .b3-chip__close{ 114 | width: 14; 115 | margin-top: -20px; 116 | margin-right: -8px; 117 | opacity: 0; 118 | } 119 | &:hover .b3-chip__close{ 120 | opacity: 1; 121 | } 122 | &.b3-chip--secondary{ 123 | background-color: var(--Sv-chip--secondary-bg); 124 | color: var(--Sv-chip--secondary-color); 125 | } 126 | &.b3-chip--primary{ 127 | background-color: var(--Sv-chip--primary-bg); 128 | color: var(--Sv-chip--primary-color); 129 | } 130 | &.b3-chip--info{ 131 | background-color: var(--Sv-chip--info-bg); 132 | color: var(--Sv-chip--info-color); 133 | } 134 | &.b3-chip--success{ 135 | background-color: var(--Sv-chip--success-bg); 136 | color: var(--Sv-chip--success-color); 137 | } 138 | &.b3-chip--warning{ 139 | background-color: var(--Sv-chip--warning-bg); 140 | color: var(--Sv-chip--warning-color); 141 | } 142 | &.b3-chip--error{ 143 | background-color: var(--Sv-chip--error-bg); 144 | color: var(--Sv-chip--error-color); 145 | } 146 | &.b3-chip--pink{ 147 | background-color: var(--Sv-chip--pink-bg); 148 | color: var(--Sv-chip--pink-color); 149 | } 150 | &::before{ 151 | content: "#"; 152 | width:10px; 153 | height:22px; 154 | line-height:22px; 155 | font-size:1.1em; 156 | } 157 | } 158 | } 159 | } 160 | 161 | /*文档标题块*/ 162 | .protyle-title__input{ 163 | font-size: 40px; 164 | } 165 | .protyle-title__input:empty:after{ 166 | color: var(--Sv-title-input-empty); 167 | } 168 | 169 | /*h1~6标题间距*/ 170 | .protyle-wysiwyg .h1,.protyle-wysiwyg .h2,.protyle-wysiwyg .h3,.protyle-wysiwyg .h4,.protyle-wysiwyg .h5,.protyle-wysiwyg .h6{ 171 | font-weight:700; 172 | margin-top: .5em; 173 | margin-bottom: .1em; 174 | } 175 | 176 | .bq > .h1,.bq > .h2,.bq > .h3,.bq > .h4,.bq > .h5,.bq > .h6{ 177 | margin-top: 0em!important; 178 | margin-bottom: 0.1em!important; 179 | } 180 | 181 | /*块标*/ 182 | .protyle-gutters{ 183 | transition: top 150ms ease-out; 184 | & button{ 185 | padding:5px 0px; 186 | svg { 187 | color: var(--Sv-gutters-color); 188 | padding:0 5px; 189 | border-radius:4px; 190 | height: 24px!important; 191 | } 192 | &[data-type="fold"] svg { 193 | padding:0px 7px; 194 | } 195 | &:hover svg { 196 | background-color: var(--Sv-gutters-background); 197 | } 198 | } 199 | } 200 | /* 无序列表 */ 201 | .protyle-wysiwyg [data-node-id].li>.protyle-action{ 202 | color: var(--Sv-protyle-action-color); 203 | } 204 | .protyle-wysiwyg [data-node-id].li[fold="1"]:not([data-subtype="o"].en_item_bullet_actived)>.protyle-action:after, .protyle-wysiwyg [data-node-id].li>.protyle-action:hover:after{ 205 | background-color: var(--Sv-protyle-action-hover)!important; 206 | } 207 | /* 有序列表 */ 208 | .protyle-wysiwyg [data-node-id].li[data-subtype="o"]>.protyle-action--order:after{ 209 | padding:1px 2px; 210 | margin:-0.65em 0 0 -0.7em; 211 | height:1.1em; 212 | line-height:1.1em; 213 | } 214 | /* 任务列表 */ 215 | .protyle-task--done svg{ 216 | color: var(--Sv-task-done); 217 | } 218 | .protyle-action--task:hover svg{ 219 | color: var(--Sv-task-done-hover); 220 | } 221 | .protyle-wysiwyg [data-node-id].li>.protyle-action--task:hover:after{ 222 | display:none; 223 | } 224 | /*块右上角引用数*/ 225 | .protyle-attr--refcount{ 226 | height: 20px; 227 | width: 20px; 228 | padding: 0; 229 | line-height: 20px; 230 | text-align: center; 231 | } 232 | /* 超级块 */ 233 | .protyle-wysiwyg [data-node-id].sb[data-sb-layout=col]{ 234 | column-gap: 8px; 235 | } 236 | /* 行内键盘 */ 237 | .b3-typography kbd, .b3-typography span[data-type~=kbd], .protyle-wysiwyg kbd, .protyle-wysiwyg span[data-type~=kbd]{ 238 | border:none; 239 | border-radius: 4px; 240 | box-shadow: rgba(15, 15, 15, 0.07) 0px 0px 0px 1px, rgba(15, 15, 15, 0.1) 0 2px 1px; 241 | background-color: var(--b3-theme-background); 242 | color: var(--Sv-kbd-color); 243 | font: 75% "var(--b3-font-family)"; 244 | vertical-align: 10%; 245 | } 246 | /* 图片圆角 */ 247 | .protyle-wysiwyg img{ 248 | border-radius: 6px; 249 | } 250 | /* 文字弹出工具条 */ 251 | .protyle-toolbar{ 252 | box-shadow: rgba(0, 0, 0, 0.07) 0px 16px 24px 0px, rgba(0, 0, 0, 0.1) 0px 2px 6px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px; 253 | animation: toolbar 0.2s ease-in-out; 254 | padding: 2px; 255 | .protyle-toolbar__item{ 256 | height:28px; 257 | width:28px; 258 | margin: 2px; 259 | border-radius: 4px; 260 | padding: 1px 6px 0px 6px; 261 | &:hover{ 262 | background-color: var(--Sv-background-icon-hover); 263 | } 264 | &:not(.protyle-toolbar__item--current){ 265 | color: var(--Sv-protyle-toolbar-color); 266 | } 267 | } 268 | } 269 | .protyle-util{ 270 | animation: menu 0.2s ease-in-out; 271 | box-shadow: rgba(15, 15, 15, 0.05) 0px 0px 0px 1px, rgba(15, 15, 15, 0.1) 0px 3px 6px, rgba(15, 15, 15, 0.2) 0px 9px 24px; 272 | border:none; 273 | background-color: var(--Sv-protyle-util-bg); 274 | /* 弹出工具条字体颜色选择 */ 275 | .color__square[style*="--b3-font-background3"] { 276 | order: 14; 277 | } 278 | .protyle-font>div:not(.fn__hr--small):not(.fn__flex){ 279 | margin-left: 4px; 280 | } 281 | .protyle-font>.fn__flex:first-child{ 282 | margin-left: 4px; 283 | } 284 | .color__square{ 285 | font-weight: 600; 286 | } 287 | [data-position="3south"],.protyle-font__style{ 288 | box-shadow: 0 0 0 1px var(--Sv-color-d-shadow) inset; 289 | &:hover{ 290 | box-shadow: 0 0 0 2px var(--Sv-color-d-shadow) inset!important; 291 | } 292 | } 293 | [data-type="color"][style*="(--b3-font-color1)"],[data-type="backgroundColor"][style*="(--b3-font-background1)"]{ 294 | box-shadow: 0 0 0 1px var(--Sv-color1-shadow) inset; 295 | &:hover{ 296 | box-shadow: 0 0 0 2px var(--Sv-color1-shadow) inset; 297 | } 298 | } 299 | [data-type="color"][style*="(--b3-font-color2)"],[data-type="backgroundColor"][style*="(--b3-font-background2)"]{ 300 | box-shadow: 0 0 0 1px var(--Sv-color2-shadow) inset; 301 | &:hover{ 302 | box-shadow: 0 0 0 2px var(--Sv-color2-shadow) inset; 303 | } 304 | } 305 | [data-type="color"][style*="(--b3-font-color3)"],[data-type="backgroundColor"][style*="(--b3-font-background4)"]{ 306 | box-shadow: 0 0 0 1px var(--Sv-color3-shadow) inset; 307 | &:hover{ 308 | box-shadow: 0 0 0 2px var(--Sv-color3-shadow) inset; 309 | } 310 | } 311 | [data-type="color"][style*="(--b3-font-color4)"],[data-type="backgroundColor"][style*="(--b3-font-background5)"]{ 312 | box-shadow: 0 0 0 1px var(--Sv-color4-shadow) inset; 313 | &:hover{ 314 | box-shadow: 0 0 0 2px var(--Sv-color4-shadow) inset; 315 | } 316 | } 317 | [data-type="color"][style*="(--b3-font-color5)"],[data-type="backgroundColor"][style*="(--b3-font-background6)"]{ 318 | box-shadow: 0 0 0 1px var(--Sv-color5-shadow) inset; 319 | &:hover{ 320 | box-shadow: 0 0 0 2px var(--Sv-color5-shadow) inset; 321 | } 322 | } 323 | [data-type="color"][style*="(--b3-font-color6)"],[data-type="backgroundColor"][style*="(--b3-font-background7"]{ 324 | box-shadow: 0 0 0 1px var(--Sv-color6-shadow) inset; 325 | &:hover{ 326 | box-shadow: 0 0 0 2px var(--Sv-color6-shadow) inset; 327 | } 328 | } 329 | [data-type="color"][style*="(--b3-font-color7)"],[data-type="backgroundColor"][style*="(--b3-font-background8)"]{ 330 | box-shadow: 0 0 0 1px var(--Sv-color7-shadow) inset; 331 | &:hover{ 332 | box-shadow: 0 0 0 2px var(--Sv-color7-shadow) inset; 333 | } 334 | } 335 | [data-type="color"][style*="(--b3-font-color8)"],[data-type="backgroundColor"][style*="(--b3-font-background9)"]{ 336 | box-shadow: 0 0 0 1px var(--Sv-color8-shadow) inset; 337 | &:hover{ 338 | box-shadow: 0 0 0 2px var(--Sv-color8-shadow) inset; 339 | } 340 | } 341 | [data-type="color"][style*="(--b3-font-color9)"],[data-type="backgroundColor"][style*="(--b3-font-background10)"]{ 342 | box-shadow: 0 0 0 1px var(--Sv-color9-shadow) inset; 343 | &:hover{ 344 | box-shadow: 0 0 0 2px var(--Sv-color9-shadow) inset; 345 | } 346 | } 347 | [data-type="color"][style*="(--b3-font-color10)"],[data-type="backgroundColor"][style*="(--b3-font-background11)"]{ 348 | box-shadow: 0 0 0 1px var(--Sv-color10-shadow) inset; 349 | &:hover{ 350 | box-shadow: 0 0 0 2px var(--Sv-color10-shadow) inset; 351 | } 352 | } 353 | [data-type="color"][style*="(--b3-font-color11)"],[data-type="backgroundColor"][style*="(--b3-font-background12)"]{ 354 | box-shadow: 0 0 0 1px var(--Sv-color11-shadow) inset; 355 | &:hover{ 356 | box-shadow: 0 0 0 2px var(--Sv-color11-shadow) inset; 357 | } 358 | } 359 | [data-type="color"][style*="(--b3-font-color12)"],[data-type="backgroundColor"][style*="(--b3-font-background13)"]{ 360 | box-shadow: 0 0 0 1px var(--Sv-color12-shadow) inset; 361 | &:hover{ 362 | box-shadow: 0 0 0 2px var(--Sv-color12-shadow) inset; 363 | } 364 | } 365 | [data-type="color"][style*="(--b3-font-color13)"],[data-type="backgroundColor"][style*="(--b3-font-background3)"]{ 366 | box-shadow: 0 0 0 1px var(--Sv-color13-shadow) inset; 367 | &:hover{ 368 | box-shadow: 0 0 0 2px var(--Sv-color13-shadow) inset; 369 | } 370 | } 371 | [data-type="style1"][style*="(--b3-card-error-color)"]{ 372 | box-shadow: 0 0 0 1px var(--Sv-error-shadow) inset; 373 | &:hover{ 374 | box-shadow: 0 0 0 2px var(--Sv-error-shadow) inset; 375 | } 376 | } 377 | [data-type="style1"][style*="(--b3-card-warning-color)"]{ 378 | box-shadow: 0 0 0 1px var(--Sv-warning-shadow) inset; 379 | &:hover{ 380 | box-shadow: 0 0 0 2px var(--Sv-warning-shadow) inset; 381 | } 382 | } 383 | [data-type="style1"][style*="(--b3-card-info-color)"]{ 384 | box-shadow: 0 0 0 1px var(--Sv-info-shadow) inset; 385 | &:hover{ 386 | box-shadow: 0 0 0 2px var(--Sv-info-shadow) inset; 387 | } 388 | } 389 | [data-type="style1"][style*="(--b3-card-success-color)"]{ 390 | box-shadow: 0 0 0 1px var(--Sv-success-shadow) inset; 391 | &:hover{ 392 | box-shadow: 0 0 0 2px var(--Sv-success-shadow) inset; 393 | } 394 | } 395 | } 396 | 397 | /* 引用弹出搜索菜单 */ 398 | .protyle-hint{ 399 | padding:0 5px; 400 | box-shadow: rgba(15, 15, 15, 0.05) 0px 0px 0px 1px, rgba(15, 15, 15, 0.1) 0px 3px 6px, rgba(15, 15, 15, 0.2) 0px 9px 24px; 401 | border:none; 402 | background-color: var(--b3-theme-background); 403 | } 404 | .protyle-hint .b3-list-item{ 405 | margin:5px 0px; 406 | width:100%!important; 407 | } 408 | .b3-list--background .b3-list-item:hover:not(.b3-list-item--focus):not(.dragover):not(.protyle-wysiwyg--select):not(.protyle-wysiwyg--hl):not(.dragover__top):not(.dragover__bottom), .b3-list--background .b3-list-item--focus:not(.dragover):not(.protyle-wysiwyg--select):not(.protyle-wysiwyg--hl):not(.dragover__top):not(.dragover__bottom){ 409 | background-color: var(--Sv-list-background); 410 | } 411 | 412 | /* 表格 */ 413 | .b3-typography table, .protyle-wysiwyg table{ 414 | font-weight:500; 415 | } 416 | .b3-typography table thead, .protyle-wysiwyg table thead{ 417 | background-color: var(--Sv-table-thead); 418 | } 419 | .protyle-wysiwyg div.table[data-node-id] table { 420 | width: auto; 421 | } 422 | 423 | .b3-typography table tr:nth-child(even) td, .protyle-wysiwyg table tr:nth-child(even) td{ 424 | background-color:transparent; 425 | } 426 | /*页面宽度*/ 427 | .protyle-wysiwyg div.table[data-node-id][custom-f~=full] table{ 428 | font-weight:500; 429 | width: 100%; 430 | display: table; 431 | } 432 | .protyle-wysiwyg [data-node-id][custom-f~=full] colgroup{ 433 | border-style:unset; 434 | } 435 | /* 自定义表格宽度 */ 436 | .protyle-wysiwyg div.table[data-node-id][custom-f~=auto] table { 437 | width: max-content; 438 | } 439 | .protyle-wysiwyg [data-node-id][custom-f~=auto] table { 440 | width: max-content !important; 441 | } 442 | /* 表头和表行格式一致 */ 443 | .protyle-wysiwyg [data-node-id][custom-t~=biaotou] table th { 444 | font-weight: normal !important; 445 | color: inherit !important; 446 | background-color: transparent!important; 447 | } 448 | .protyle-wysiwyg [data-node-id][custom-t~=biaotou] table thead { 449 | background-color: transparent!important; 450 | } 451 | /* 竖表头格式 */ 452 | .protyle-wysiwyg [data-node-id][custom-t~=vbiaotou] table th { 453 | font-weight: normal !important; 454 | color: inherit !important; 455 | background-color: var(--b3-theme-background) !important; 456 | } 457 | .protyle-wysiwyg [data-node-id][custom-t~=vbiaotou] table tr th:first-child, 458 | .protyle-wysiwyg [data-node-id][custom-t~=vbiaotou] table tr td:first-child{ 459 | font-weight: bold !important; 460 | background-color: var(--Sv-table-thead) !important; 461 | } 462 | /* 标签 */ 463 | .protyle-wysiwyg span[data-type="tag"], .sy__outline span[data-type="tag"]{ 464 | border-radius: 6px; 465 | padding:0px 4px 2px 4px!important; 466 | color: var(--Sv-protyle-tag-color)!important; 467 | border-bottom:none !important; 468 | background-color: var(--Sv-protyle-tag-bg); 469 | } 470 | .protyle-wysiwyg span[data-type="tag"]::before, .sy__outline span[data-type="tag"]::before{ 471 | content: "#"; 472 | } 473 | .export-img span[data-type="tag"]::before{ 474 | content: ""; 475 | } 476 | /*块引用*/ 477 | /*.protyle-wysiwyg [data-node-id] span[data-type*="block-ref"][data-subtype="s"]:not([data-type="virtual-block-ref"]):not([data-type*="sup"]):not([data-type*="sub"]){ 478 | color: var(--b3-theme-primary)!important; 479 | } 480 | .protyle-wysiwyg [data-node-id] span[data-type="block-ref"][data-subtype="s"]:not([data-type="virtual-block-ref"]):not([data-type*="sup"]):not([data-type*="sub"])::before { 481 | color: var(--b3-theme-on-surface)!important; 482 | content: "[["!important; 483 | opacity: 0.5; 484 | } 485 | 486 | .protyle-wysiwyg [data-node-id] span[data-type="block-ref"][data-subtype="s"]:not([data-type="virtual-block-ref"]):not([data-type*="sup"]):not([data-type*="sub"])::after { 487 | color: var(--b3-theme-on-surface)!important; 488 | content: "]]"!important; 489 | opacity: 0.5; 490 | }*/ 491 | 492 | .protyle-wysiwyg [data-node-id] span[data-type*="block-ref"]:not([data-type="virtual-block-ref"]):not([data-type*="sup"]):not([data-type*="sub"]):not(.av__celltext--ref){ 493 | font-size:95%; 494 | padding:2px 3px 1px 3px; 495 | color: var(--Sv-block-ref-color); 496 | background-color: var(--Sv-block-ref-background); 497 | border-bottom: var(--Sv-block-ref-bottom); 498 | border-image: var(--Sv-block-ref-bottom-image); 499 | transition: none; 500 | } 501 | .protyle-wysiwyg [data-node-id] span[data-type*="block-ref"]:not([data-type="virtual-block-ref"]):not([data-type*="sup"]):not([data-type*="sub"]):not(.av__celltext--ref):hover{ 502 | background-color:var(--Sv-block-ref-background-hover); 503 | } 504 | /*上标块引*/ 505 | .protyle-wysiwyg [data-node-id] span[data-type*="block-ref"][data-type*="sup"],.protyle-wysiwyg [data-node-id] span[data-type*="block-ref"][data-type*="sub"]{ 506 | font-size:65%; 507 | color:var(--Sv-block-ref-su); 508 | background-color:var(--Sv-block-ref-color); 509 | border-radius:5px; 510 | padding: 1px 3px 2px 3px; 511 | border-bottom:none; 512 | } 513 | /* 超链接 */ 514 | .protyle-wysiwyg [data-node-id] span[data-type~=a]{ 515 | color: var(--Sv-block-link-color); 516 | border-bottom:1px solid var(--Sv-block-link-bottom); 517 | &:hover{ 518 | color: var(--Sv-block-link-color-hover); 519 | border-bottom:1px solid var(--Sv-block-link-bottom-hover); 520 | } 521 | } 522 | /*上标链接*/ 523 | .protyle-wysiwyg [data-node-id] span[data-type*="a"][data-type*="sup"],.protyle-wysiwyg [data-node-id] span[data-type*="a"][data-type*="sub"]{ 524 | font-size:65%; 525 | border-radius:5px; 526 | padding: 1px 4px 2px 4px; 527 | border: 1px solid var(--Sv-block-link-bottom); 528 | &:hover{ 529 | border:1px solid var(--Sv-block-link-bottom-hover); 530 | } 531 | } 532 | 533 | /* 嵌入块 */ 534 | .protyle-wysiwyg [data-node-id].render-node[data-type="NodeBlockQueryEmbed"]{ 535 | border: 2px dashed var(--Sv-block-NBQE); 536 | } 537 | /* 命名,别名,备注*/ 538 | .protyle-attr--name,.protyle-attr--alias,.protyle-attr--memo{ 539 | color: var(--Sv-protyle-attr); 540 | font-size:90%; 541 | padding:0 3px; 542 | width:auto; 543 | } 544 | /* 下划线 */ 545 | .b3-typography u, .b3-typography span[data-type~=u], .protyle-wysiwyg u, .protyle-wysiwyg span[data-type~=u] { 546 | border-bottom: 2px solid; 547 | } 548 | /*代码块*/ 549 | .code-block { 550 | background-color: var(--Sv-code-block-background)!important; 551 | .protyle-action{ 552 | padding:4px 3px; 553 | .protyle-action__language{ 554 | margin-left: 0.5em!important; 555 | height:16px; 556 | line-height:14px; 557 | border-radius:3px; 558 | padding:4px; 559 | &:hover{ 560 | background-color: var(--Sv-list-background); 561 | } 562 | } 563 | .protyle-action__copy,.protyle-action__menu{ 564 | color: var(--b3-theme-on-background); 565 | background-color: var(--Sv-list-background); 566 | &:hover{ 567 | background-color:var(--Sv-list-focus-hover); 568 | } 569 | } 570 | } 571 | } 572 | 573 | /*行内代码*/ 574 | .fn__code, .b3-typography code:not(.hljs), .b3-typography span[data-type~=code], .protyle-wysiwyg code:not(.hljs), .protyle-wysiwyg span[data-type~=code]{ 575 | color:var(--Sv-inline-code); 576 | } 577 | /*折叠样式*/ 578 | .protyle-wysiwyg div[fold="1"]:not(div[data-type="NodeListItem"]),.protyle-wysiwyg [data-node-id][fold="1"]:not(.li):not([data-type=NodeHeading]){ 579 | /*background-color:var(--Sv-fold-background);*/ 580 | background-image: repeating-linear-gradient(-45deg,var(--Sv-list-background),var(--Sv-list-background) 5px, var(--Sv-list-focus-hover) 0, var(--Sv-list-focus-hover) 10px); 581 | border-radius:5px; 582 | border:1px solid var(--Sv-fold-border); 583 | opacity: 0.6; 584 | } 585 | .protyle-wysiwyg div[fold="1"][data-type="NodeHeading"]:before{ 586 | background-color:transparent; 587 | } 588 | .sb[fold="1"] [data-type="NodeHeading"]{ 589 | margin-top: 0px; 590 | margin-bottom: 0px; 591 | } 592 | 593 | /*pdf批注*/ 594 | .protyle-wysiwyg span[data-type="file-annotation-ref"] { 595 | font-size: 90%; 596 | border-radius: 3px; 597 | padding:2px 6px 4px 6px; 598 | color: var( --b3-theme-on-background)!important; 599 | background-color:var(--Sv-pdf-ref-bg); 600 | &:before { 601 | content:"🔖 "; 602 | } 603 | &:hover { 604 | background-color:var(--Sv-pdf-ref-bg-hover); 605 | } 606 | } 607 | 608 | 609 | /*备注*/ 610 | .b3-typography span[data-type~=inline-memo], .protyle-wysiwyg span[data-type~=inline-memo] { 611 | background-color: var(--b3-theme-primary-lightest); 612 | border-bottom: 2px solid var(--b3-theme-primary); 613 | } 614 | .tooltip--memo{ 615 | font-size:14px; 616 | color:var(--b3-theme-on-background); 617 | background-color:var(--b3-theme-background); 618 | box-shadow: rgba(15, 15, 15, 0.05) 0px 0px 0px 1px, rgba(15, 15, 15, 0.1) 0px 3px 6px, rgba(15, 15, 15, 0.2) 0px 9px 24px; 619 | padding:10px; 620 | } 621 | 622 | /* 标记 */ 623 | .b3-typography mark, .b3-typography span[data-type~=mark], .protyle-wysiwyg mark, .protyle-wysiwyg span[data-type~=mark]{ 624 | background: rgba(255,212,0,0.14)!important; 625 | border-bottom: 2px solid rgb(255, 212, 0); 626 | } -------------------------------------------------------------------------------- /style/module/h-reminder.css: -------------------------------------------------------------------------------- 1 | .protyle-wysiwyg { 2 | .h1 > [spellcheck]:not(:empty){ padding-left: 1em;margin-left: -1em;background: var(--h1-r-graphic);background-position: left center;background-repeat: no-repeat;} 3 | .h2 > [spellcheck]:not(:empty){ padding-left: 1em;margin-left: -1em;background: var(--h2-r-graphic);background-position: left center;background-repeat: no-repeat;} 4 | .h3 > [spellcheck]:not(:empty){ padding-left: 1.2em;margin-left: -1.2em;background: var(--h3-r-graphic);background-position: left center;background-repeat: no-repeat;} 5 | .h4 > [spellcheck]:not(:empty){ padding-left: 1.3em;margin-left: -1.3em;background: var(--h4-r-graphic);background-position: left center;background-repeat: no-repeat;} 6 | .h5 > [spellcheck]:not(:empty){ padding-left: 1.4em;margin-left: -1.4em;background: var(--h5-r-graphic);background-position: left center;background-repeat: no-repeat;} 7 | .h6 > [spellcheck]:not(:empty){ padding-left: 1.6em;margin-left: -1.6em;background: var(--h6-r-graphic);background-position: left center;background-repeat: no-repeat;} 8 | } -------------------------------------------------------------------------------- /style/module/main.css: -------------------------------------------------------------------------------- 1 | /* ————————————————————中心———————————————————— */ 2 | .layout__resize:not(.layout__resize--lr) { 3 | margin: var(--Sv-layout--resize-margin); 4 | &:after{ 5 | height: 7px; 6 | top: 0px; 7 | border-radius: 3px; 8 | background-color: var(--Sv-layout--resize); 9 | } 10 | &:hover:after{ 11 | background-color: var(--Sv-layout--resize-hover); 12 | } 13 | } 14 | .layout__resize--lr { 15 | margin: 0 0.5px; 16 | width: var(--Sv-layout-resize-lr-width); 17 | &:after{ 18 | width: 7px; 19 | border-radius: 3px; 20 | background-color: var(--Sv-layout--resize); 21 | } 22 | &:hover:after{ 23 | background-color: var(--Sv-layout--resize-hover); 24 | } 25 | } 26 | 27 | #toolbar + .fn__flex{ 28 | background-color: var(--Sv-dock-background); 29 | } 30 | body:not(.body--mobile,.body--window) #layouts{ 31 | min-height: 90%; 32 | margin: var(--Sv-layout-margin); 33 | .layout__center .layout-tab-container{ 34 | border-radius: var(--Sv-center-radius); 35 | background-color: transparent; 36 | } 37 | } 38 | 39 | #savorPlugins{ 40 | display: none; 41 | } 42 | 43 | .layout__dockl:not(.layout--float), .layout__dockr:not(.layout--float){ 44 | min-height: 90%; 45 | } 46 | 47 | 48 | /*-----------------------新窗口-------------------------*/ 49 | .body--window { 50 | #layouts div[data-type=wnd]{ 51 | background-color: var(--Sv-toolbar-background)!important; 52 | & > .fn__flex > .layout-tab-bar { 53 | border-radius: 6px 0 0 6px; 54 | margin-top:4px; 55 | background-color: transparent; 56 | .item:not(.item--readonly) { 57 | margin-bottom:8px!important; 58 | margin-left: 5px; 59 | pointer-events: visibleFill; 60 | } 61 | & .item--readonly{ 62 | height: 28px; 63 | & .block__icon--show{ 64 | background-color: transparent; 65 | &[data-type="new"]{ 66 | margin-right: 6px; 67 | } 68 | &:hover { 69 | background-color: var(--Sv-tab-bar-item-background-focus); 70 | } 71 | } 72 | } 73 | &.layout-tab-bar--readonly{ 74 | margin-right: 0px!important; 75 | margin-top:5px; 76 | height: 33px; 77 | } 78 | } 79 | } 80 | .toolbar__window .toolbar__item{ 81 | padding: 7px; 82 | margin: 3px; 83 | border-radius: 6px; 84 | &#closeWindow{ 85 | width: 40px; 86 | margin: 3px 1px; 87 | &.toolbar__item--close{ 88 | padding: 2px 6px; 89 | } 90 | svg{ 91 | width: 12px!important; 92 | height: 12px!important; 93 | padding: 8px; 94 | border-radius: 6px; 95 | } 96 | &:hover{ 97 | background-color: rgba(0, 0, 0, 0); 98 | svg{ 99 | color: var(--Sv-toolbar-closeWindow-svg); 100 | background: var(--Sv-toolbar-closeWindow-hover); 101 | } 102 | } 103 | } 104 | } 105 | #status { 106 | right: -7px; 107 | bottom: 0px; 108 | #statusHelp { 109 | right: 0px; 110 | } 111 | } 112 | } 113 | 114 | 115 | .layout__center{ 116 | .sy__outline,.sy__graph,.sy__backlink,[data-timeout]{ 117 | & .block__icons,& .fn__flex-1{ 118 | background-color: var(--b3-theme-background); 119 | } 120 | } 121 | } 122 | 123 | 124 | /* 全局过渡动画 */ 125 | :root { 126 | --transition-time: 0.3s; 127 | --transition-timing: cubic-bezier(0.4, 0, 0.2, 1); 128 | 129 | /* 默认情况下不应用过渡效果 */ 130 | --theme-transition: none; 131 | } 132 | 133 | 134 | /* 当添加theme-transitioning类时才应用过渡效果 */ 135 | :root.theme-transitioning { 136 | --theme-transition: all var(--transition-time) var(--transition-timing); 137 | } 138 | 139 | /* 界面框架元素过渡效果 */ 140 | .layout__center, 141 | .toolbar, 142 | .block__icons, 143 | .b3-dialog__container, 144 | .b3-menu, 145 | .dock__item, 146 | .layout-tab-bar, 147 | .layout-tab-container, 148 | .block__content, 149 | .fn__flex-1, 150 | .b3-menu__item, 151 | .b3-menu__submenu, 152 | .dock__item, 153 | .toolbar__item, 154 | .toolbar__text, 155 | .layout-tab-bar__item, 156 | .block__logo, 157 | .block__icon, 158 | .b3-text-field, 159 | .b3-select, 160 | .b3-button, 161 | .b3-card, 162 | .b3-list-item, 163 | .b3-list__item, 164 | .status, 165 | #status, 166 | #toolbar, 167 | #dockLeft, 168 | #dockRight, 169 | #dockTop, 170 | #dockBottom, 171 | .b3-dialog, 172 | .b3-snackbar, 173 | body.body--window, 174 | body:not(.body--window) #layouts, 175 | [data-type="outline"] .b3-list-item, 176 | [data-type="graph"] .b3-list-item, 177 | [data-type="backlink"] .b3-list-item, 178 | /* 编辑器相关元素 */ 179 | .protyle-background, 180 | .protyle-title, 181 | .protyle-toolbar, 182 | .protyle-util, 183 | .protyle, 184 | .protyle-content, 185 | .protyle-preview, 186 | .b3-typography, 187 | .protyle-breadcrumb, 188 | .protyle-breadcrumb__bar, 189 | .protyle-wysiwyg__embed, 190 | .protyle-wysiwyg__preview, 191 | /* 编辑器和内容元素 */ 192 | .layout__center .fn__flex-1, 193 | .layout__center .protyle-content, 194 | .layout__center .protyle-background, 195 | .layout__center .protyle-title, 196 | .layout__center .protyle-wysiwyg, 197 | .layout__center .protyle-preview, 198 | .layout__center .b3-typography, 199 | .layout__center .protyle-breadcrumb, 200 | .layout__center .protyle-breadcrumb__bar, 201 | .layout__center .protyle-wysiwyg [data-node-id], 202 | .layout__center .protyle-wysiwyg [data-type="NodeParagraph"], 203 | .layout__center .protyle-wysiwyg [data-type="NodeHeading"], 204 | .layout__center .protyle-wysiwyg div, 205 | .layout__center .protyle-wysiwyg p, 206 | .layout__center .protyle-wysiwyg h1, 207 | .layout__center .protyle-wysiwyg h2, 208 | .layout__center .protyle-wysiwyg h3, 209 | .layout__center .protyle-wysiwyg h4, 210 | .layout__center .protyle-wysiwyg h5, 211 | .layout__center .protyle-wysiwyg h6, 212 | .layout__center .protyle-wysiwyg li, 213 | .layout__center .protyle-wysiwyg blockquote, 214 | .layout__center .layout-tab-bar::before, 215 | .layout__center .layout-tab-bar::after, 216 | .layout__center .layout-tab-bar .item::before, 217 | .layout__center .layout-tab-bar .item::after, 218 | .layout__center .layout-tab-bar--readonly::before, 219 | .layout__center .layout-tab-bar--readonly::after, 220 | .layout__center .layout-tab-container::before, 221 | .layout__center .layout-tab-container::after { 222 | transition: var(--theme-transition); 223 | } -------------------------------------------------------------------------------- /style/module/menu.css: -------------------------------------------------------------------------------- 1 | /* ————————————————————弹出菜单&设置菜单———————————————————— */ 2 | .b3-menu{ 3 | box-shadow: var(--Sv-menu-shadow); 4 | background-color: var(--Sv-menu-background); 5 | border:none; 6 | border-radius: var(--Sv-layout-radius); 7 | padding: 4px 0; 8 | .b3-menu__items{ 9 | padding: 0 4px; 10 | .b3-menu__item{ 11 | margin: 0; 12 | background-color: var(--Sv-menu-background); 13 | &:hover{ 14 | background-color: var(--Sv-menu-item-hover); 15 | } 16 | } 17 | } 18 | .b3-menu__submenu{ 19 | background-color:var(--Sv-menu-background); 20 | box-shadow: var(--Sv-menu-shadow); 21 | border:none; 22 | border-radius: var(--Sv-layout-radius); 23 | padding: 4px 0; 24 | margin-top: 4px; 25 | } 26 | .b3-menu__icon--small{ 27 | margin-right:-4px; 28 | } 29 | .b3-menu__accelerator{ 30 | color:var(--Sv-menu-accelerator); 31 | }/*快捷键提示*/ 32 | } 33 | 34 | 35 | /*快捷键面板*/ 36 | #keymapList .b3-list--border .b3-list__panel:before{ 37 | left: -16px; 38 | } 39 | 40 | /* 按钮 */ 41 | .b3-button--outline,.b3-button--text:not(.ft__selectnone,.bk_label),.b3-button.fn__block{ 42 | font-weight:700; 43 | background-color:var( --Sv-button-background); 44 | color: var(--Sv-button-color); 45 | box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .2); 46 | &:hover,&:focus{ 47 | background-color: var(--Sv-button-background-hover); 48 | box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .2); 49 | } 50 | svg{ 51 | height: 14px; 52 | width: 14px; 53 | } 54 | } 55 | .b3-button--cancel{ 56 | font-weight:700; 57 | background-color: var(--Sv-button-cancel); 58 | color: var(--b3-theme-on-background); 59 | box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .2); 60 | &:hover,&:focus{ 61 | background-color: var(--b3-theme-surface-lighter); 62 | box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .2); 63 | } 64 | svg{ 65 | height: 14px; 66 | width: 14px; 67 | } 68 | } 69 | 70 | /* 开关 */ 71 | .b3-switch { 72 | height: 18px; 73 | width: 30px; 74 | border-radius: 44px; 75 | border: none; 76 | &:hover{ 77 | box-shadow: 0 0 0 3px oklch(calc(var(--b3-theme-surface-base-l)*0.8) var(--b3-theme-surface-base-ch) / 0.1); 78 | } 79 | &:after { 80 | box-shadow: none; 81 | width: 12px; 82 | height: 12px; 83 | border-radius: 44px; 84 | background: var(--b3-theme-background); 85 | transform: translate(-4px,3px); 86 | top: 0px; 87 | border: none; 88 | } 89 | &:before{ 90 | display: none !important; 91 | } 92 | &:checked:after { 93 | background: var(--b3-theme-background)!important; 94 | transform: translate(-2px,3px); 95 | } 96 | } 97 | 98 | 99 | 100 | /*引用块弹出框*/ 101 | .block__popover--open{ 102 | border:none; 103 | box-shadow: var(--b3-dialog-shadow); 104 | .protyle,.protyle-breadcrumb{ 105 | background-color: var(--Sv-menu-background); 106 | } 107 | } 108 | .block__popover .protyle-wysiwyg>[data-node-id].li[fold="1"]>div:nth-child(3):not(.protyle-attr){ 109 | display: block; 110 | }/*弹窗列表不折叠*/ 111 | 112 | /* 选择下拉菜单、输入框 */ 113 | .b3-text-field:not(#searchInput, #replaceInput, #searchAssetInput,.b3-text-field--text){ 114 | box-shadow: none; 115 | background-color: var(--Sv-select-field); 116 | &:hover{ 117 | background-color: var(--Sv-list-focus-hover)!important; 118 | box-shadow: rgba(15, 15, 15, 0.05) 0px 0px 0px 1px inset!important; 119 | } 120 | &:focus:hover{ 121 | box-shadow: inset 0 0 0 1px var(--b3-theme-primary), 0 0 0 3px var(--b3-theme-primary-lightest)!important; 122 | } 123 | } 124 | .b3-select,.b3-select:hover{ 125 | box-shadow: none; 126 | } 127 | 128 | 129 | /* 移动文档菜单 */ 130 | 131 | /* —————— 设置、搜索界面 —————— */ 132 | .b3-dialog--open[data-key="dialog-setting"], 133 | .b3-dialog--open[data-key="dialog-search"], 134 | .b3-dialog--open[data-key="dialog-replace"], 135 | .b3-dialog--open[data-key="dialog-globalsearch"]{ 136 | .b3-dialog__scrim{ 137 | backdrop-filter: blur(2px); 138 | } 139 | } 140 | .b3-dialog{ 141 | .b3-dialog__scrim{ 142 | background-color: var(--Sv--dialog-scrim); 143 | } 144 | .b3-dialog__container{ 145 | border: none; 146 | border-radius: 10px; 147 | background-color: var(--Sv--dialog-container); 148 | /*.b3-label:not(.b3-label--inner) { 149 | box-shadow: 0 15px 0 0 var(--b3-theme-background), 0 15.5px 0 0 var(--b3-border-color); 150 | }这个影响太多 暂时不能加*/ 151 | .b3-tab-bar{ 152 | margin: 5px; 153 | /*background-color: var(--Sv--dialog-tab-bar);*/ 154 | .config__tab-hr{ 155 | margin: 16px 8px;; 156 | } 157 | .b3-list-item{ 158 | &:hover,&.b3-list-item--focus{ 159 | background-color: var(--Sv-list-background)!important; 160 | } 161 | &.b3-list-item--focus:hover{ 162 | background-color: var(--Sv-list-focus-hover)!important; 163 | } 164 | &.b3-list-item--focus .b3-list-item__text{ 165 | font-weight: 600; 166 | color: var(--b3-theme-on-background)!important; 167 | } 168 | } 169 | .b3-list-item__graphic{ 170 | color: var(--Sv-list-item-color) 171 | } 172 | } 173 | .config__tab-wrap{ 174 | margin: 5px 5px 5px 0px; 175 | border-radius: 6px; 176 | height: unset; 177 | .config__tab-container { 178 | &[data-name="bazaar"],&[data-name="image"]{ 179 | background-color: var(--Sv--dialog-container); 180 | } 181 | & .b3-label :where(.fn__flex-1,.fn__block,.fn__flex-center):not(.ft__on-surface,.b3-button,.b3-form__icon,.fn__size200,ul,input):first-child,& :where(.b3-label,.config__ite)::first-line{ 182 | font-weight: 600; 183 | } 184 | & .config-query .fn__flex-1, & .b3-label__text, & .b3-label :where(a,code,.ft__on-surface):not(.b3-button--outline) { 185 | font-weight: 400 !important; 186 | } 187 | .layout-tab-bar{ 188 | background-color: transparent; 189 | border: none; 190 | height: 43px; 191 | margin-bottom: -6px; 192 | &+.fn__flex-1{ 193 | background-color: var(--Sv--dialog-container); 194 | } 195 | .item:not(.item--readonly){ 196 | min-height: 33px; 197 | border-radius: 6px; 198 | overflow: unset !important; 199 | /*background-color: var(--Sv-bazaar-item);*/ 200 | margin: 0 10px 10px -5px;/*消除鼠标滚轮左右浮动*/ 201 | transition:none; 202 | &:last-child{ 203 | margin-right: 0px; 204 | } 205 | &:first-child{ 206 | margin-left: 0px;/*消除鼠标滚轮左右浮动*/ 207 | } 208 | &:hover{ 209 | background-color: var(--Sv-bazaar-focus); 210 | } 211 | &.item--focus{ 212 | background-color: var(--Sv-tab-bar-item-background-focus); 213 | border-radius: var(--Sv-tab-bar-item--focus-radius); 214 | &::after{ 215 | background-color:transparent; 216 | top: 27px; 217 | height: 10px; 218 | left: calc(-1 * var(--Sv-dock-item-radius) - 2px) ; 219 | border-radius: 0; 220 | width: calc(100% + var(--Sv-dock-item-radius)*2 + 4px); 221 | transition: var(--b3-transition); 222 | background-image: var(--Sv-tab-bar-item-after); 223 | background-size: 12px 12px,12px 12px, 224 | calc(100% - var(--Sv-dock-item-radius)*2 - 4px) calc(100% + var(--Sv-dock-item-radius)*2 + 8px); 225 | background-position: right bottom, left bottom, center top; 226 | background-repeat: no-repeat; 227 | box-shadow: var(--Sv-tab-bar-item-background-focus) 0 8px 0 0; 228 | } 229 | & .item__text { 230 | font-weight: 700; 231 | } 232 | 233 | } 234 | } 235 | } 236 | } 237 | .fn__hr--b:not(.resize__move){ 238 | height: 11px; 239 | } 240 | [data-name="bazaar"]/*集市*/{ 241 | .b3-card--wrap { 242 | min-width: 300px; 243 | } 244 | 245 | .config-bazaar__panel{ 246 | background-color: var(--Sv-bazaar-focus); 247 | border-radius: 8px 8px 0 0; 248 | } 249 | } 250 | } 251 | .config-assets{ 252 | background-color: var(--Sv-bazaar-focus); 253 | border-radius: 8px; 254 | } 255 | .config-bazaar__title{ 256 | padding: 12px 16px 8px 16px;; 257 | background-color: var(--Sv-bazaar-focus); 258 | backdrop-filter:none; 259 | } 260 | 261 | .config-bazaar__panel[data-type=downloaded]{ 262 | .b3-button{ 263 | background-color: var(--Sv-bazaar-item); 264 | height:24px; 265 | margin-top:4px; 266 | padding: 4px 6px; 267 | clip-path: inset(-4px ); 268 | box-shadow: 0 0 0 50px var(--Sv-bazaar-item); 269 | transition:none; 270 | color:var(--b3-theme-on-background); 271 | font-weight: 500; 272 | } 273 | .b3-button:not(.b3-button--outline){ 274 | background-color:var(--b3-theme-background); 275 | color:var(--b3-theme-on-background); 276 | font-weight: 700; 277 | box-shadow: 0 4px 9px rgba(0,0,0,.05), 0 1.5px 2.8px rgba(0,0,0,.07), 0 0.3px 0.7px rgba(0,0,0,.12),0 0 0 50px var(--Sv-bazaar-item); 278 | } 279 | .b3-button[data-type="install-all"]{ 280 | box-shadow: none; 281 | margin-top: 0px; 282 | background-color: #ee6f5b; 283 | color: #fff; 284 | } 285 | [data-type="myPlugin"]{ 286 | clip-path: inset(-4px round 6px 0 0 6px); 287 | } 288 | [data-type="myWidget"]{ 289 | clip-path: inset(-4px round 0 6px 6px 0); 290 | & ~ .b3-form__icon .b3-text-field{ 291 | padding: 6px 8px; 292 | } 293 | & ~ .b3-form__icon .b3-form__icon-icon{ 294 | top: 8px; 295 | } 296 | & + .fn__space{ 297 | width: 16px; 298 | } 299 | } 300 | .config-bazaar__content { 301 | display: grid; 302 | grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); 303 | gap: 0px; 304 | width: auto; 305 | margin-top: 0px; 306 | margin-right: 6px; 307 | margin-bottom: 6px; 308 | .b3-card { 309 | display: grid; 310 | grid-template-columns: 90px 1fr; 311 | margin: 6px 0 0 6px; 312 | box-shadow: none; 313 | background-color: var(--Sv-list-background); 314 | &:hover{ 315 | box-shadow: var(--Sv-card-current-shadow); 316 | } 317 | } 318 | .b3-card__info{ 319 | white-space: nowrap; 320 | overflow: hidden; 321 | text-overflow: ellipsis; 322 | } 323 | /*.b3-card__desc{ 324 | display: block; 325 | }*/ 326 | .b3-card__actions{ 327 | position: absolute; 328 | top: 70px; 329 | right: 0px; 330 | } 331 | } 332 | } 333 | } 334 | .config-bazaar__content { 335 | grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); 336 | gap: 0px; 337 | width: auto; 338 | margin-top: 0px; 339 | margin-bottom: 6px; 340 | .b3-card { 341 | display: grid; 342 | grid-template-columns: 90px 1fr; 343 | margin: 6px 0 0 6px; 344 | box-shadow: none; 345 | background-color: var(--Sv-list-background); 346 | &:hover{ 347 | box-shadow: var(--Sv-card-current-shadow); 348 | } 349 | } 350 | .b3-card--current{ 351 | box-shadow: var(--Sv-card-current-shadow); 352 | } 353 | .b3-cards>.fn__flex-1{ 354 | margin-left: 6px!important; 355 | min-width: 300px!important; 356 | } 357 | } 358 | } 359 | 360 | [data-key="dialog-history"]{ 361 | .b3-dialog__scrim{ 362 | backdrop-filter: blur(2px); 363 | } 364 | .b3-dialog__container{ 365 | background-color: var(--Sv--dialog-container); 366 | padding: 6px; 367 | border-radius: 12px; 368 | } 369 | #historyContainer{ 370 | background-color: var(--b3-theme-background); 371 | border-radius: 6px; 372 | } 373 | .layout-tab-bar{ 374 | background-color: transparent; 375 | border: none; 376 | height: 43px; 377 | margin-bottom: -6px; 378 | &+.fn__flex-1{ 379 | background-color: var(--Sv--dialog-container); 380 | } 381 | .item:not(.item--readonly){ 382 | min-height: 33px; 383 | border-radius: 6px; 384 | overflow: unset !important; 385 | /*background-color: var(--Sv-bazaar-item);*/ 386 | margin: 0 10px 10px -5px;/*消除鼠标滚轮左右浮动*/ 387 | transition:none; 388 | &:last-child{ 389 | margin-right: 0px; 390 | } 391 | &:first-child{ 392 | margin-left: 0px;/*消除鼠标滚轮左右浮动*/ 393 | } 394 | &:hover{ 395 | background-color: var(--Sv-bazaar-focus); 396 | } 397 | &.item--focus{ 398 | background-color: var(--Sv-tab-bar-item-background-focus); 399 | border-radius: var(--Sv-tab-bar-item--focus-radius); 400 | &::after{ 401 | background-color:transparent; 402 | top: 27px; 403 | height: 10px; 404 | left: calc(-1 * var(--Sv-dock-item-radius) - 2px) ; 405 | border-radius: 0; 406 | width: calc(100% + var(--Sv-dock-item-radius)*2 + 4px); 407 | transition: var(--b3-transition); 408 | background-image: var(--Sv-tab-bar-item-after); 409 | background-size: 12px 12px,12px 12px, 410 | calc(100% - var(--Sv-dock-item-radius)*2 - 4px) calc(100% + var(--Sv-dock-item-radius)*2 + 8px); 411 | background-position: right bottom, left bottom, center top; 412 | background-repeat: no-repeat; 413 | box-shadow: var(--Sv-tab-bar-item-background-focus) 0 8px 0 0; 414 | } 415 | & .item__text { 416 | font-weight: 700; 417 | } 418 | 419 | } 420 | } 421 | } 422 | } 423 | 424 | 425 | /*登录页面*/ 426 | .config-account__center{ 427 | background-color:transparent; 428 | .b3-chip::before { 429 | display:none; 430 | } 431 | .config-account__center--text{ 432 | overflow: visible; 433 | } 434 | .config-account__svg{ 435 | margin-left:-100%; 436 | svg{ 437 | width:30px; 438 | height:30px; 439 | padding:16px; 440 | margin:0px; 441 | opacity:0.1; 442 | transition: all 2000ms ease-out; 443 | &:hover{ 444 | opacity:1; 445 | transition: all 100ms ease-out; 446 | } 447 | } 448 | } 449 | } 450 | 451 | 452 | 453 | /* pdf */ 454 | #sidebarContainer,#viewerContainer{ 455 | top:40px; 456 | } 457 | .pdfViewer{ 458 | background-color:var(--b3-theme-background); 459 | } 460 | #toolbarViewer{ 461 | padding:5px 5px 5px 8px; 462 | height:40px; 463 | background-color: var(--b3-theme-background); 464 | } 465 | #sidebarResizer { 466 | margin: 0 -0.5px; 467 | right: -3px; 468 | &:after{ 469 | width: 5px; 470 | border-radius: 3px; 471 | background-color: var(--Sv-layout--resize); 472 | } 473 | &:hover:after{ 474 | background-color: var(--Sv-layout--resize-hover); 475 | } 476 | } 477 | 478 | 479 | /* '/'弹出分栏*/ 480 | .hint--menu{ 481 | box-shadow: var(--Sv-menu-shadow); 482 | background-color: var(--b3-theme-background); 483 | padding:5px; 484 | border:none; 485 | border-radius: 6px; 486 | &>div{ 487 | min-width: 50vw; 488 | column-width: 180px; 489 | column-rule:1px outset var(--b3-border-color); 490 | /*column-fill:auto; 491 | max-height: 402px !important;*/ 492 | } 493 | .b3-list-item{ 494 | margin:0!important; 495 | width:100%!important; 496 | } 497 | .b3-list-item__text{ 498 | margin:0 0 0 8px; 499 | color:var(--b3-theme-on-background); 500 | } 501 | .b3-list-item__graphic,.color__square { 502 | margin:0px; 503 | width:10px; 504 | height:12px; 505 | border:1px solid var(--b3-border-color); 506 | padding: 2px 3px; 507 | border-radius: 3px; 508 | box-shadow:none; 509 | } 510 | } 511 | .hint--menu>.emojis{ 512 | min-width: unset; 513 | } 514 | 515 | .hint--menu>.b3-list-item--two{ 516 | margin:0; 517 | } 518 | @media screen and (min-width: 1280px){ 519 | .hint--menu .b3-list-item--two{ 520 | width:calc(25% - 5px); 521 | } 522 | .hint--menu{ 523 | max-height: 600px !important; 524 | } 525 | } 526 | @media screen and (max-width: 1280px) { 527 | .hint--menu>div{ 528 | columns:unset; 529 | } 530 | } 531 | .emojis{ 532 | width: 366px!important; 533 | } 534 | .emojis__panel{ 535 | padding-right: 0px; 536 | } 537 | .emojis__item { 538 | height: 32px; 539 | line-height: 30px; 540 | vertical-align: middle; 541 | text-align: center; 542 | justify-content: center; 543 | align-items: center; 544 | padding: 2px; 545 | width: 32px; 546 | font-size: 22px; 547 | margin: 0 3px 4px 0; 548 | img,svg.custom-icon { 549 | margin: 0; 550 | width: 18px; 551 | height:18px; 552 | padding: 7px; 553 | display: block; 554 | } 555 | &:hover{ 556 | font-size: 24px; 557 | } 558 | } 559 | 560 | 561 | /*滚动条*/ 562 | ::-webkit-scrollbar { 563 | width : var(--webkit-scrollbar); 564 | height: var(--webkit-scrollbar); 565 | background-color:transparent; 566 | } 567 | ::-webkit-scrollbar-thumb{ 568 | border-radius: var(--webkit-scrollbar-thumb); 569 | background-color:var(--Sv-scroll-color); 570 | box-shadow: none; 571 | } 572 | ::-webkit-scrollbar-thumb:hover{ 573 | background-color:var(--Sv-scroll-color-hover); 574 | } 575 | .b3-slider::-webkit-slider-runnable-track { 576 | height: 2px; 577 | background-color: var(--Sv--slider-thumb)!important; 578 | } 579 | .b3-slider::-webkit-slider-thumb { 580 | transform:unset !important; 581 | width: 7px; 582 | height: 7px; 583 | margin-top: -2px; 584 | background-color: var(--b3-theme-background)!important; 585 | box-shadow: 0px 0px 0px 3px var(--Sv--slider-thumb)!important; 586 | } 587 | .b3-slider.fn__size200::-webkit-slider-runnable-track { 588 | background-color: var(--b3-theme-primary)!important; 589 | } 590 | .b3-slider.fn__size200::-webkit-slider-thumb { 591 | box-shadow: 0px 0px 0px 3px var(--b3-theme-primary)!important; 592 | } 593 | .b3-slider::-webkit-slider-thumb:hover{ 594 | box-shadow:0px 0px 0px 3px var(--b3-theme-primary),0px 0px 0px 5px var(--b3-theme-primary-lighter)!important; 595 | transition:all 300ms; 596 | } 597 | 598 | 599 | 600 | /*闪卡*/ 601 | .card__main{ 602 | .b3-button{ 603 | font-weight: 700; 604 | box-shadow: 0 4px 9px rgba(0, 0, 0, .05), 0 1.5px 2.8px rgba(0, 0, 0, .07), 0 0.3px 0.7px rgba(0, 0, 0, .12); 605 | } 606 | .b3-button:not(.b3-button--cancel){ 607 | color: var(--Sv-button-cancel); 608 | } 609 | .b3-button--error{ 610 | background-color:var(--b3-font-color12)!important; 611 | } 612 | .b3-button--warning{ 613 | background-color:var(--b3-font-color5)!important; 614 | } 615 | .b3-button--info{ 616 | background-color:var(--b3-font-color8)!important; 617 | } 618 | .b3-button--success{ 619 | background-color:var(--b3-font-color7)!important; 620 | } 621 | } 622 | .card__main.fullscreen{ 623 | z-index:11; 624 | } 625 | 626 | .card__block--hidemark span[data-type~=mark]{ 627 | border:none!important; 628 | font-size: 0px!important; 629 | padding:0!important; 630 | }/*闪卡挖空样式*/ 631 | 632 | 633 | 634 | -------------------------------------------------------------------------------- /style/module/mobile.css: -------------------------------------------------------------------------------- 1 | #menu.b3-menu--fullscreen{ 2 | background-color: var(--Sv-tab-bar-item-background); 3 | &>div{ 4 | margin: 5px 10px; 5 | border: none; 6 | border-radius: 6px; 7 | } 8 | .b3-menu__items{ 9 | padding: 0; 10 | } 11 | .b3-menu__item{ 12 | border: none; 13 | &:last-of-type,&:has(+ .b3-menu__separator) { 14 | border-radius: 0 0 6px 6px; 15 | } 16 | } 17 | .b3-menu__separator{ 18 | border: none; 19 | margin: 0; 20 | height: 10px; 21 | background-color: var(--Sv-tab-bar-item-background); 22 | & + .b3-menu__item{ 23 | border-radius: 6px 6px 0 0; 24 | } 25 | } 26 | } 27 | 28 | 29 | #sidebar.side-panel{ 30 | background-color: var(--Sv-tab-bar-item-background); 31 | &>.toolbar--border{ 32 | margin: 10px 10px 0px 10px; 33 | border-radius: 6px; 34 | border: none; 35 | } 36 | } 37 | .b3-list--mobile{ 38 | margin: 10px 10px 0px 10px; 39 | border-radius: 6px; 40 | & .toolbar--border{ 41 | border: none; 42 | background-color: var(--b3-theme-background); 43 | } 44 | &>.fn__flex-column{ 45 | height:unset; 46 | .fn__flex-1{ 47 | background-color: var(--b3-theme-background); 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /style/module/ordered-list.css: -------------------------------------------------------------------------------- 1 | .list[data-subtype="o"]{ 2 | counter-reset: o1 0 o2 0 o3 0; 3 | } 4 | .li[data-subtype="o"]{ 5 | & & .protyle-action--order{ 6 | color:transparent!important; 7 | } 8 | & & .protyle-action::after{ 9 | color:var(--b3-theme-on-background); 10 | } 11 | &>.protyle-action::after{ 12 | padding:3px 2px; 13 | width: 24px; 14 | display:flex; 15 | justify-content: center; 16 | } 17 | & &>.protyle-action::after{ 18 | counter-increment: o2; 19 | content: counter(o2,lower-latin)"."; 20 | position:absolute; 21 | } 22 | & & &>.protyle-action::after{ 23 | counter-increment: o3; 24 | content: counter(o3,lower-roman)"."; 25 | position:absolute; 26 | } 27 | & & & &>.protyle-action::after{ 28 | counter-increment: o1; 29 | content: counter(o1,decimal)"."; 30 | position:absolute; 31 | } 32 | & & & & &>.protyle-action::after{ 33 | counter-increment: o2; 34 | content: counter(o2,lower-latin)"."; 35 | position:absolute; 36 | } 37 | & & & & & &>.protyle-action::after{ 38 | counter-increment: o3; 39 | content: counter(o3,lower-roman)"."; 40 | position:absolute; 41 | } 42 | & & & & & & &>.protyle-action::after{ 43 | counter-increment: o1; 44 | content: counter(o1,decimal)"."; 45 | position:absolute; 46 | } 47 | & & & & & & & &>.protyle-action::after{ 48 | counter-increment: o2; 49 | content: counter(o2,lower-latin)"."; 50 | position:absolute; 51 | } 52 | & & & & & & & & &>.protyle-action::after{ 53 | counter-increment: o3; 54 | content: counter(o3,lower-roman)"."; 55 | position:absolute; 56 | } 57 | & & & & & & & & & &>.protyle-action::after{ 58 | counter-increment: o1; 59 | content: counter(o1,decimal)"."; 60 | position:absolute; 61 | } 62 | & & & & & & & & & & &>.protyle-action::after{ 63 | counter-increment: o2; 64 | content: counter(o2,lower-latin)"."; 65 | position:absolute; 66 | } 67 | & & & & & & & & & & & &>.protyle-action::after{ 68 | counter-increment: o3; 69 | content: counter(o3,lower-roman)"."; 70 | position:absolute; 71 | } 72 | & & & & & & & & & & & & &>.protyle-action::after{ 73 | counter-increment: o1; 74 | content: counter(o1,decimal)"."; 75 | position:absolute; 76 | } 77 | & & & & & & & & & & & & & &>.protyle-action::after{ 78 | counter-increment: o2; 79 | content: counter(o2,lower-latin)"."; 80 | position:absolute; 81 | } 82 | & & & & & & & & & & & & & & &>.protyle-action::after{ 83 | counter-increment: o3; 84 | content: counter(o3,lower-roman)"."; 85 | position:absolute; 86 | } 87 | & & & & & & & & & & & & & & & &>.protyle-action::after{ 88 | counter-increment: o1; 89 | content: counter(o1,decimal)"."; 90 | position:absolute; 91 | } 92 | & & & & & & & & & & & & & & & & &>.protyle-action::after{ 93 | counter-increment: o2; 94 | content: counter(o2,lower-latin)"."; 95 | position:absolute; 96 | } 97 | & & & & & & & & & & & & & & & & & &>.protyle-action::after{ 98 | counter-increment: o3; 99 | content: counter(o3,lower-roman)"."; 100 | position:absolute; 101 | } 102 | } 103 | 104 | -------------------------------------------------------------------------------- /style/module/search.css: -------------------------------------------------------------------------------- 1 | /* 搜索 */ 2 | .b3-dialog--open[data-key="dialog-search"] .b3-dialog__container, 3 | .b3-dialog--open[data-key="dialog-replace"] .b3-dialog__container, 4 | .b3-dialog--open[data-key="dialog-globalsearch"] .b3-dialog__container{ 5 | /*box-shadow: rgba(15, 15, 15, 0.05) 0px 0px 0px 1px, rgba(15, 15, 15, 0.1) 0px 5px 10px, rgba(15, 15, 15, 0.2) 0px 15px 40px;*/ 6 | .fn__flex-column{ 7 | & > .block__icons { 8 | min-height: 38px; 9 | margin-right: 8px; 10 | } 11 | .b3-form__icon.search__header{ 12 | border-top:none; 13 | margin: 0 8px ; 14 | border-radius:8px; 15 | box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .2), 0px .5px .5px .5px var(--b3-theme-background) inset; 16 | .block__icons{ 17 | padding-left: 3px; 18 | } 19 | .block__icons svg{ 20 | color: var(--b3-theme-on-background); 21 | } 22 | &+.b3-form__icon.search__header{ 23 | margin-top: 7px; 24 | } 25 | .fn__flex-1{ 26 | border-radius: 10px 10px 0 0; 27 | } 28 | #searchHistoryBtn,#replaceHistoryBtn,#assetHistoryBtn{ 29 | margin-left: 5px; 30 | .search__arrowdown{ 31 | margin-left: 5px; 32 | } 33 | } 34 | #searchInput,#replaceInput,#searchAssetInput{ 35 | padding: 5px 8px 5px 60px !important; 36 | background-color: transparent; 37 | } 38 | .b3-button{ 39 | height: 28px; 40 | border-radius: 6px; 41 | background-color: var(--b3-theme-on-background); 42 | padding: 2px 8px; 43 | } 44 | } 45 | } 46 | #searchAssets{ 47 | &>.search__layout{ 48 | margin-top:10px; 49 | #searchAssetList{ 50 | border-top: none; 51 | } 52 | } 53 | } 54 | #searchUnRefPanel{ 55 | & > .block__icons{ 56 | border-radius:0; 57 | } 58 | } 59 | .search__empty{ 60 | box-shadow:none!important; 61 | } 62 | .search__layout--row{ 63 | #searchList,#searchAssetList{ 64 | border-radius: 8px; 65 | margin: 0 8px; 66 | } 67 | .search__drag{ 68 | width: 8px; 69 | margin-left: -8px; 70 | margin-right: 0px; 71 | &::after{ 72 | width: 8px; 73 | border-radius: 8px; 74 | background-color: transparent; 75 | } 76 | &:hover::after{ 77 | background-color: var(--b3-scroll-color); 78 | } 79 | } 80 | #searchPreview,#searchAssetPreview{ 81 | border-radius: 8px; 82 | margin-right: 8px; 83 | border-left:none; 84 | } 85 | } 86 | .search__layout:not(.search__layout--row){ 87 | #searchList,#searchAssetList{ 88 | border-radius: 8px; 89 | margin: 0 8px; 90 | } 91 | .search__drag{ 92 | height: 8px; 93 | margin-bottom: 0px; 94 | &::after{ 95 | height: 8px; 96 | border-radius: 8px; 97 | background-color: transparent; 98 | } 99 | &:hover::after{ 100 | background-color: var(--b3-scroll-color); 101 | } 102 | } 103 | #searchPreview,#searchAssetPreview{ 104 | border-radius: 8px; 105 | margin: 0 8px; 106 | border-left:none; 107 | } 108 | } 109 | #criteria { 110 | border-top:none; 111 | background-color: transparent; 112 | .search__list{ 113 | padding-top:0; 114 | } 115 | 116 | .b3-button{ 117 | height: 28px; 118 | border-radius: 8px; 119 | background-color:var(--b3-theme-on-background); 120 | padding: 2px 8px; 121 | } 122 | .b3-chips .b3-chip{ 123 | height: 28px; 124 | margin-left: 4px; 125 | padding: 0 10px; 126 | border-radius: 8px; 127 | background-color: var(--b3-theme-background); 128 | &.b3-chip--primary, &.b3-chip--current { 129 | background-color: var(--b3-theme-primary); 130 | color: var(--b3-theme-on-primary); 131 | } 132 | } 133 | } 134 | .search__tip{ 135 | background-color:var(--Sv-search-result-tip); 136 | border-radius: 0 0 10px 10px; 137 | height: 30px; 138 | border: none; 139 | padding: 5px 8px; 140 | } 141 | .search__tip kbd{ 142 | border:none; 143 | border-radius: 4px; 144 | box-shadow: rgba(15, 15, 15, 0.07) 0px 0px 0px 1px, rgba(15, 15, 15, 0.1) 0 2px 1px; 145 | background-color: var(--Sv-kbd-background); 146 | font: 100% "var(--b3-font-family)"; 147 | padding:3px 5px; 148 | } 149 | } 150 | 151 | 152 | .b3-list-item[data-type="search-new"] { 153 | border-radius: 6px; 154 | height: 40px; 155 | margin: 6px 6px 0px 6px; 156 | padding: 0 16px 0 10px; 157 | background-color: var(--Sv-card--current) !important; 158 | box-shadow: var(--Sv-card-current-shadow) inset !important; 159 | } 160 | 161 | 162 | #searchList{ 163 | padding-top: 0 ; 164 | &>.b3-list-item:not([data-type="search-item"]){ 165 | margin: 6px; 166 | } 167 | &>.b3-list-item:is([data-type="search-item"]){ 168 | flex-wrap: wrap; 169 | justify-content: flex-end; 170 | padding-right:0px; 171 | padding-bottom:4px; 172 | margin: 6px; 173 | &.b3-list-item--focus,&:hover{ 174 | background-color: var(--Sv-list-background)!important; 175 | } 176 | &>.b3-list-item__graphic{ 177 | position: absolute; 178 | margin-top: 8px; 179 | left:4px; 180 | top:0px; 181 | } 182 | &>.b3-list-item__graphic+.b3-list-item__graphic{ 183 | position: absolute; 184 | margin-top: 8px; 185 | margin-left: 22px; 186 | } 187 | &>.b3-list-item__graphic+.b3-list-item__graphic+.b3-list-item__text{ 188 | text-indent: 20px; 189 | } 190 | &>.b3-list-item__text{ 191 | margin-left: 20px; 192 | padding:6px 6px 2px 5px; 193 | text-overflow: ellipsis !important; 194 | line-height: 1.3; 195 | -webkit-line-clamp:10; 196 | flex-grow: 1; 197 | flex-shrink: 0; 198 | flex-basis: calc(100% - 28px); 199 | } 200 | &>.b3-list-item__meta--ellipsis{ 201 | color:var(--Sv-list-meta-ellipsis); 202 | background-color: var(--Sv-list-background); 203 | font-size: .7rem; 204 | line-height: 20px; 205 | border-radius:4px; 206 | padding:0 4px; 207 | margin-right:4px; 208 | max-width:34vw; 209 | white-space:nowrap; 210 | overflow:hidden !important; 211 | text-overflow: ellipsis; 212 | &:before{ 213 | font-size: 1em; 214 | line-height: 1; 215 | margin-right:2px; 216 | content: "🏷"; 217 | } 218 | &.ariaLabel::before{ 219 | content: "📄"; 220 | } 221 | } 222 | &>.b3-list-item__meta.fn__flex{ 223 | line-height:20px; 224 | } 225 | } 226 | } 227 | 228 | 229 | [data-key="dialog-searchtype"] .b3-dialog__content{ 230 | display: grid; 231 | gap: 0px 50px; 232 | grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); 233 | .b3-label{ 234 | border-bottom:none; 235 | } 236 | .fn__flex-1:last-child{ 237 | overflow: visible; 238 | .b3-label__text{ 239 | margin-right: -100px; 240 | padding: 16px 24px; 241 | } } 242 | } 243 | .search__layout:not(.search__layout--row) .search__list,.search__layout--row{ 244 | border-top:none; 245 | } -------------------------------------------------------------------------------- /style/module/shrink.css: -------------------------------------------------------------------------------- 1 | /* ————————————————————侧栏面板———————————————————— */ 2 | .layout__dockl,.layout__dockr,.layout__dockb{ 3 | .layout-tab-container{ 4 | border-radius: var(--Sv-layout-radius); 5 | .layout__tab--active{ 6 | /* background-color: var(--Sv-dock-item-activefocus-background)!important; 7 | box-shadow: 0px 0px 0px 2px rgba(235, 131, 131, 0.1) inset, 0px 0px 0px 2px rgba(235, 131, 131, 0.1) inset;*/ 8 | .b3-list-item--focus{ 9 | background-color: var(--Sv-list-focus-active)!important; 10 | } 11 | } 12 | >.fn__flex-column{ 13 | /*面板标题*/ 14 | .block__icons{ 15 | height:33px; 16 | padding: 0px 8px 0px 11px; 17 | min-height: unset; 18 | border-bottom: none; 19 | /*面板标题图标*/ 20 | .block__logo{ 21 | font-weight: 600; 22 | svg{ 23 | display: none; 24 | } 25 | } 26 | /*面板功能按钮*/ 27 | .block__icon{ 28 | padding: 2px; 29 | margin:-3px; 30 | border-radius: 6px; 31 | svg{ 32 | height: 12px; 33 | width: 12px; 34 | padding: 4px 1.5px; 35 | color: var(--Sv-block-icon-svg-color); 36 | margin:0px 2px 37 | } 38 | &:hover{ 39 | background-color: var(--Sv-block-icon--background-hover); 40 | svg{ 41 | color: var(--Sv-block-icon-svg-color-hover); 42 | } 43 | } 44 | &.block__icon--active{ 45 | background-color: var(--Sv-block-icon--background-hover); 46 | svg { 47 | color: var(--Sv-block-icon-svg-color-hover); 48 | } 49 | } 50 | } 51 | } 52 | /*面板列表项*/ 53 | .b3-list-item{ 54 | border-radius:var(--Sv-list-item-radius); 55 | margin:0px 4px 4px 4px!important; 56 | padding-right: 3px; 57 | &:hover{ 58 | background-color: var(--Sv-list-background)!important; 59 | .b3-list-item__text{ 60 | color: var(--Sv-list-focus-color); 61 | } 62 | } 63 | &.b3-list-item--focus{ 64 | font-weight:600; 65 | background-color: var(--Sv-list-background); 66 | .b3-list-item__text{ 67 | color: var(--Sv-list-focus-color); 68 | } 69 | &:hover{ 70 | background-color: var(--Sv-list-focus-hover)!important; 71 | } 72 | } 73 | .counter:not(:empty)/*引用数*/{ 74 | height: 20px; 75 | line-height: 20px; 76 | text-align: center; 77 | min-width: 12px; 78 | border-radius: 6px; 79 | padding: 0 4px; 80 | margin-left: 4px; 81 | color: var(--Sv-list-counter-color); 82 | background-color: var(--Sv-list-counter); 83 | &:hover{ 84 | background-color: var(--Sv-list-background); 85 | } 86 | } 87 | } 88 | } 89 | } 90 | } 91 | 92 | .block__icon:hover:not([disabled]):not(.ft__primary):not(.block__icon--warning), .block__icon--active { 93 | background-color: var(--Sv-list-background); 94 | } 95 | .b3-list-item__toggle:hover{ 96 | background-color: transparent; 97 | } 98 | .b3-list-item__arrow{ 99 | color:var(--Sv-list-item-arrow); 100 | padding:6px; 101 | border-radius: 4px; 102 | margin:0 -4px; 103 | &:hover{ 104 | background-color: var(--Sv-list-background); 105 | } 106 | } 107 | .b3-list-item__icon{ 108 | border-radius: 4px; 109 | &:hover{ 110 | background-color: var(--Sv-list-background); 111 | } 112 | } 113 | .b3-list-item__text{ 114 | color:var(--Sv-list-item-color); 115 | } 116 | .b3-list-item--hide-action .b3-list-item__action{ 117 | padding: 0 5px; 118 | margin-left: 2px; 119 | border-radius: 4px; 120 | svg{ 121 | height: 12px; 122 | width: 12px; 123 | } 124 | &:hover{ 125 | background-color: var(--Sv-list-background); 126 | } 127 | } 128 | 129 | /*文档树*/ 130 | /*.sy__file [data-type="navigation-root"]>.b3-list-item__toggle,[data-type="toggle"]>.b3-list-item__toggle{ 131 | 132 | }*/ 133 | 134 | /*书签、标签树*/ 135 | .sy__bookmark,.sy__tag { 136 | .b3-list-item__graphic{ 137 | width:12px; 138 | color: var(--Sv-list-item-color); 139 | margin-left: -4px; 140 | } 141 | } 142 | 143 | /*收集箱*/ 144 | .inboxDetails .block__logoicon{ 145 | display: block!important; 146 | }/*保留收集箱详情返回箭头*/ 147 | 148 | 149 | 150 | /*大纲面板数字*/ 151 | .sy__outline .b3-list-item__graphic{ 152 | margin-left: 4px; 153 | } 154 | .sy__outline ul.b3-list.b3-list--background{ 155 | & [data-subtype*="h"]{ 156 | >span:first-child::after{ 157 | visibility: visible!important; 158 | position:relative; 159 | left:8px; 160 | border-radius:4px; 161 | opacity:0.5; 162 | font-size:10px; 163 | pointer-events:none; 164 | font-family:"Segoe UI"; 165 | } 166 | } 167 | & svg.b3-list-item__graphic{ 168 | margin-left:-15px; 169 | margin-right:4px; 170 | color:transparent; 171 | width:17px!important; 172 | border-radius:5px; 173 | opacity:0.2; 174 | } 175 | & [data-subtype="h1"]>span:first-child{ 176 | &::after{ 177 | content:"❶"; 178 | color:var(--h1-list-graphic); 179 | } 180 | &+svg.b3-list-item__graphic:hover{ 181 | background-color:var(--h1-list-graphic); 182 | } 183 | } 184 | & [data-subtype="h2"]>span:first-child{ 185 | &::after{ 186 | content:"❷"; 187 | color:var(--h2-list-graphic); 188 | } 189 | &+svg.b3-list-item__graphic:hover{ 190 | background-color:var(--h2-list-graphic); 191 | } 192 | } 193 | & [data-subtype="h3"]>span:first-child{ 194 | &::after{ 195 | content:"❸"; 196 | color:var(--h3-list-graphic); 197 | } 198 | &+svg.b3-list-item__graphic:hover{ 199 | background-color:var(--h3-list-graphic); 200 | } 201 | } 202 | & [data-subtype="h4"]>span:first-child{ 203 | &::after{ 204 | content:"❹"; 205 | color:var(--h4-list-graphic); 206 | } 207 | &+svg.b3-list-item__graphic:hover{ 208 | background-color:var(--h4-list-graphic); 209 | } 210 | } 211 | & [data-subtype="h5"]>span:first-child{ 212 | &::after{ 213 | content:"❺"; 214 | color:var(--h5-list-graphic); 215 | } 216 | &+svg.b3-list-item__graphic:hover{ 217 | background-color:var(--h5-list-graphic); 218 | } 219 | } 220 | & [data-subtype="h6"]>span:first-child{ 221 | &::after{ 222 | content:"❻"; 223 | color:var(--h6-list-graphic); 224 | } 225 | &+svg.b3-list-item__graphic:hover{ 226 | background-color:var(--h6-list-graphic); 227 | } 228 | } 229 | } 230 | 231 | 232 | 233 | 234 | /* 反链面板 */ 235 | .sy__backlink .block__icons .counter{ 236 | color: var(--Sv-block-logo-color); 237 | background-color: var(--Sv-block-logo-background); 238 | } 239 | .sy__backlink.layout__tab--active .block__icons .counter{ 240 | background-color: var(--Sv-block-icon-active); 241 | } 242 | 243 | /*.sy__backlink .protyle-wysiwyg [data-node-id].li>.list { 244 | padding-left: 0px!important; 245 | }/*反链列表间距收窄*/ 246 | 247 | .sy__backlink{ 248 | background-color: var(--Sv-backlink-background); 249 | overflow: hidden; 250 | .block__icons,.backlinkList,.backlinkMList{ 251 | background-color: var(--Sv-backlink-list); 252 | border-radius:6px; 253 | &>.b3-list>.protyle{ 254 | margin:-4px 5px 5px 5px; 255 | border-radius:6px; 256 | box-shadow: rgba(15, 15, 15, 0.05) 0px 0px 0px 1px; 257 | } 258 | } 259 | .backlinkList,.backlinkMList{ 260 | border-radius: 0 0 6px 6px; 261 | box-shadow: 0 -4px 0 var(--Sv-backlink-list); 262 | +.block__icons{ 263 | margin-top: var(--Sv-backlink-top); 264 | border-radius: 6px 6px 0 0; 265 | } 266 | } 267 | .protyle-wysiwyg { 268 | padding: 6px 6px 6px 16px !important; 269 | } 270 | .protyle-breadcrumb__bar{ 271 | font-size:80%; 272 | min-height: 24px; 273 | &+div{ 274 | font-size:90%; 275 | } 276 | &:not(:first-child) { 277 | padding-top:5px; 278 | border-top: 1px dashed var(--Sv-breadcrumb-border); 279 | } 280 | &>span:last-child{ 281 | background-color: transparent; 282 | &:hover{ 283 | background-color: var(--Sv-list-background); 284 | } 285 | } 286 | .protyle-breadcrumb__item{ 287 | &:hover{ 288 | background-color: var(--Sv-list-background); 289 | } 290 | &>svg.popover__block { 291 | height: 10px; 292 | width: 10px; 293 | padding: 4px; 294 | border-radius: 4px; 295 | background-color: var(--Sv-list-background); 296 | } 297 | } 298 | } 299 | } 300 | 301 | 302 | 303 | /*.layout__dockr .block__icons~.fn__flex-1 { 304 | padding-bottom: 22px!important; 305 | }避开底栏间距*/ 306 | /* 307 | .layout__dockr:not(.layout--float) .backlinkMList.fn__flex-1[style*="height:0px"] { 308 | min-height: 22px; 309 | .b3-list{ 310 | display: none; 311 | padding: 0px; 312 | } 313 | }*/ 314 | 315 | 316 | /* 关系图右侧筛选 */ 317 | .graph__panel{ 318 | box-shadow: rgba(15, 15, 15, 0.05) 0px 0px 0px 1px, rgba(15, 15, 15, 0.1) 0px 3px 6px, rgba(15, 15, 15, 0.2) 0px 9px 24px; 319 | border-radius:6px 0 0 6px; 320 | } 321 | 322 | 323 | /* 侧栏浮动 */ 324 | .layout__dockl.layout--float{ 325 | border-radius:0 8px 8px 0; 326 | border: 4px solid var(--Sv-float-background); 327 | background-color: var(--Sv-float-background); 328 | box-shadow: rgba(15, 15, 15, 0.05) 1px 0 0 1px, rgba(15, 15, 15, 0.2) 10px 16px 20px -12px, rgba(15, 15, 15, 0.2) 10px -10px 20px -12px; 329 | } 330 | 331 | .layout__dockr.layout--float{ 332 | border-radius:8px 0 0 8px; 333 | border: 4px solid var(--Sv-float-background); 334 | background-color: var(--Sv-float-background); 335 | box-shadow: rgba(15, 15, 15, 0.05) -1px 0 0 1px, rgba(15, 15, 15, 0.2) -10px 16px 20px -12px, rgba(15, 15, 15, 0.2) -10px -10px 20px -12px; 336 | } 337 | .layout__dockb.layout--float{ 338 | border: 4px solid var(--Sv-float-background); 339 | background-color: var(--Sv-float-background); 340 | } 341 | 342 | .layout__dockb.layout--float[style*="bottom: 57px"],.layout__dockb.layout--float[style*="bottom: 33px"],.layout__dockb.layout--float[style*="bottom: 24px"]{ 343 | bottom:37px!important; 344 | margin-left:37px; 345 | margin-right:37px; 346 | border-radius:6px; 347 | border: 4px solid var(--Sv-float-background); 348 | box-shadow: 0 4px 9px rgba(0,0,0,.05), 0 1.5px 2.8px rgba(0,0,0,.07), 0 0.3px 0.7px rgba(0,0,0,.12); 349 | } 350 | .layout__dockb.layout--float[style*="bottom: 24px"]{ 351 | margin-left:6px; 352 | margin-right:6px; 353 | } 354 | -------------------------------------------------------------------------------- /style/module/status.css: -------------------------------------------------------------------------------- 1 | #savorToolbar button{ 2 | display: block!important; 3 | } 4 | #status { 5 | transition: transform .2s cubic-bezier(0, 0, .2, 1) 0ms; 6 | position: fixed; 7 | height: 24px; 8 | line-height: 24px; 9 | right: 28px; 10 | bottom: 9px; 11 | border-radius: 6px; 12 | padding-right: 0px; 13 | border: none; 14 | background-color: var(--Sv-status-msg-background); 15 | transform: translate(0px, 0px); 16 | .toolbar__item:not(.toolbar__item--close) { 17 | padding:2px; 18 | height: 24px; 19 | svg{ 20 | padding:3px 4px; 21 | width: 12px; 22 | } 23 | & span{ 24 | margin:3px; 25 | font-size:12px; 26 | } 27 | &:hover { 28 | background-color: var(--Sv-status-item-hover)!important; 29 | } 30 | } 31 | >.fn__flex-1{ 32 | display: none; 33 | } 34 | #statusHelp{ 35 | color: var(--Sv-status-barDock-color); 36 | order: 97; 37 | } 38 | #barDock{ 39 | order: 98; 40 | margin-left: 4px; 41 | margin-right: -28px; 42 | background-color: var(--Sv-status-msg-background); 43 | } 44 | .status__msg:not(:empty){ 45 | padding-left: 26px!important; 46 | padding-right: 10px; 47 | &::after{ 48 | content: "📢"; 49 | font-size:12px; 50 | padding:0 6px; 51 | position: absolute; 52 | left: 0px; 53 | } 54 | } 55 | } 56 | 57 | 58 | .status.fn__none{/*隐藏底栏保留停靠栏按钮*/ 59 | display: flex!important; 60 | &>div:not(#barDock){ 61 | display: none; 62 | } 63 | } 64 | 65 | 66 | -------------------------------------------------------------------------------- /style/module/tab-bar.css: -------------------------------------------------------------------------------- 1 | /* ———————————————————页签———————————————————— */ 2 | .layout__center .fn__flex-column>.fn__flex>.layout-tab-bar{ 3 | background-color: transparent; 4 | border: none; 5 | height: 38px; 6 | margin-bottom: -6px; 7 | padding-right: 10px; 8 | /*overflow: visible;这个不能加*/ 9 | .item:not(.item--readonly){ 10 | min-height: 28px; 11 | border-radius: var(--Sv-tab-bar-item-radius); 12 | margin-bottom: 10px; 13 | overflow: unset !important; 14 | &:not(.item--focus) .item__text { 15 | letter-spacing: 0.1px; 16 | } 17 | & .item__text{ 18 | &::before { 19 | content: "📄"; 20 | margin-right: 8px; 21 | font-size: 14px; 22 | } 23 | } 24 | & .item__icon{ 25 | padding: 3px 0 3px 7px; 26 | &>img,&>svg{ 27 | height: 15px; 28 | width: 15px; 29 | } 30 | &+.item__text::before{ 31 | display: none; 32 | } 33 | } 34 | &:hover{ 35 | background-color: var(--Sv-tab-bar-item-background); 36 | } 37 | &.item--focus{ 38 | background-color: var(--Sv-tab-bar-item-background-focus); 39 | border-radius: var(--Sv-tab-bar-item--focus-radius); 40 | &::after{ 41 | background-color:transparent; 42 | top: 22px; 43 | height: 10px; 44 | left: calc(-1 * var(--Sv-dock-item-radius) - 2px) ; 45 | border-radius: 0; 46 | width: calc(100% + var(--Sv-dock-item-radius)*2 + 4px); 47 | transition: var(--b3-transition); 48 | background-image: var(--Sv-tab-bar-item-after); 49 | background-size: 12px 12px,12px 12px, 50 | calc(100% - var(--Sv-dock-item-radius)*2 - 4px) calc(100% + var(--Sv-dock-item-radius)*2 + 8px); 51 | background-position: right bottom, left bottom, center top; 52 | background-repeat: no-repeat; 53 | box-shadow: var(--Sv-tab-bar-item-background-focus) 0 8px 0 0; 54 | } 55 | & .item__text { 56 | font-weight: 700; 57 | } 58 | 59 | } 60 | } 61 | &.layout-tab-bar--readonly{ 62 | height: 33px; 63 | padding-left: 5px; 64 | padding-right: 4px; 65 | overflow: visible; 66 | z-index: 2; 67 | /*background-color: var(--Sv-dock-background);*/ 68 | border-radius: var(--Sv-tab-bar-item-radius); 69 | /*&::before { 70 | content: "" ; 71 | display: inline-block ; 72 | width: 20px; 73 | height: 20px; 74 | background-color: transparent ; 75 | border-radius: var(--Sv-tab-bar-item-radius); 76 | box-shadow: var(--Sv-tab-bar-readonly-shadow); 77 | position: absolute; 78 | top: 0px; 79 | left: -20px; 80 | pointer-events: none; 81 | transition: box-shadow var(--transition-time) var(--transition-timing); 82 | }*/ 83 | } 84 | .item--readonly { 85 | min-height: 28px; 86 | padding: 0; 87 | .block__icon{ 88 | padding: 7.5px; 89 | border-radius: var(--Sv-tab-bar-item-radius); 90 | & svg{ 91 | width: 13px; 92 | height: 13px; 93 | } 94 | &:hover{ 95 | background-color:var(--Sv-tab-bar-item-background-focus); 96 | } 97 | } 98 | } 99 | .item--pin{ 100 | min-width: 28px; 101 | background-color: var(--b3-theme-background)!important; 102 | margin-right: 5px; 103 | & .item__text::before{ 104 | display: none; 105 | } 106 | & .item__icon{ 107 | padding:0px 7px; 108 | } 109 | & .item__graphic{ 110 | padding:4px; 111 | } 112 | &:nth-child(4n-3){ 113 | box-shadow:0 0 0 2px var(--b3-font-background13) inset, 0 0 0 2px var(--b3-font-background13) inset; 114 | } 115 | &:nth-child(4n-2){ 116 | box-shadow:0 0 0 2px var(--b3-font-background5) inset, 0 0 0 2px var(--b3-font-background5) inset; 117 | } 118 | &:nth-child(4n-1){ 119 | box-shadow:0 0 0 2px var(--b3-font-background10) inset, 0 0 0 2px var(--b3-font-background10) inset; 120 | } 121 | &:nth-child(4n){ 122 | box-shadow:0 0 0 2px var(--b3-font-background9) inset, 0 0 0 2px var(--b3-font-background9) inset; 123 | } 124 | &.item--focus{ 125 | box-shadow: none; 126 | } 127 | &+.item:not(.item--pin,.item--readonly) { 128 | margin-left: 12px; 129 | &::before { 130 | content: ""; 131 | position: absolute; 132 | left: -10px; 133 | display: block; 134 | width: 2px; 135 | background-color: var(--Sv-list-focus-hover); 136 | height: 1.3em; 137 | border-radius: 9px; 138 | pointer-events: none; 139 | } 140 | } 141 | } 142 | .item__close{ 143 | padding: 5px 6px 5px 0; 144 | svg { 145 | border-radius: 3px; 146 | } 147 | } 148 | } 149 | .layout-tab-bars--drag>.layout-tab-bar{ 150 | background-color: var(--b3-theme-primary-lightest)!important; 151 | } -------------------------------------------------------------------------------- /style/module/toolbar.css: -------------------------------------------------------------------------------- 1 | /* ————————————————————顶栏———————————————————— */ 2 | body:not(.body--mobile,.body--window)>#toolbar{ 3 | background-color: var(--Sv-toolbar-background); 4 | border:none; 5 | height: unset; 6 | .toolbar__item:not(#barWorkspace,#closeWindow){ 7 | height: 28px; 8 | padding: 7px; 9 | border-radius: var(--Sv-dock-item-radius); 10 | } 11 | #barWorkspace/*工作空间*/ { 12 | height:28px; 13 | border-radius: var(--Sv-dock-item-radius); 14 | padding:0 3px 0 10px; 15 | margin:5px 3px 5px 1px; 16 | background-color: var(--Sv-barWorkspace-background); 17 | /*background:url("data:image/svg+xml;utf8,") no-repeat left -2px top -5px #ee6f5b;*/ 18 | &:hover{ 19 | background-color: var(--Sv-barWorkspace-background-hover); 20 | } 21 | & .toolbar__text{ 22 | line-height:28px; 23 | color:var(--Sv-barWorkspace-color); 24 | font-weight:700; 25 | font-size: 14px; 26 | } 27 | & .toolbar__svg{ 28 | margin-left:2px; 29 | padding:7px; 30 | color:var(--Sv-barWorkspace-color); 31 | } 32 | } 33 | #closeWindow{ 34 | width: 40px; 35 | &.toolbar__item--close{ 36 | padding: 2px 6px; 37 | } 38 | svg{ 39 | width: 12px!important; 40 | height: 12px!important; 41 | padding: 8px; 42 | border-radius: 6px; 43 | } 44 | &:hover{ 45 | background-color: rgba(0, 0, 0, 0); 46 | svg{ 47 | color: var(--Sv-toolbar-closeWindow-svg); 48 | background: var(--Sv-toolbar-closeWindow-hover); 49 | } 50 | } 51 | } 52 | .toolbar__item:not(.toolbar__item--disabled):not(.toolbar__item--close):hover, .toolbar__item--active { 53 | background-color: var(--Sv-toolbar-item-hover); 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /style/module/unordered-list.css: -------------------------------------------------------------------------------- 1 | [data-subtype="u"]>.li[data-subtype="u"]>.protyle-action svg{ 2 | color:transparent; 3 | } 4 | 5 | [data-subtype="u"]>.li[data-subtype="u"]>.protyle-action::before { 6 | font-size: 1.5em; 7 | font-family: Arial; 8 | content: "•"; 9 | position: absolute; 10 | } 11 | [data-subtype="u"]>[data-subtype="u"] .li[data-subtype="u"]>.protyle-action::before{ 12 | content: "◦"; 13 | } 14 | [data-subtype="u"]>[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"]>.protyle-action::before{ 15 | content: "▪"; 16 | } 17 | [data-subtype="u"]>[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"]>.protyle-action::before{ 18 | content: "•"; 19 | } 20 | [data-subtype="u"]>[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"]>.protyle-action::before{ 21 | content: "◦"; 22 | } 23 | [data-subtype="u"]>[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"]>.protyle-action::before{ 24 | content: "▪"; 25 | } 26 | [data-subtype="u"]>[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"]>.protyle-action::before{ 27 | content: "•"; 28 | } 29 | [data-subtype="u"]>[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"]>.protyle-action::before{ 30 | content: "◦"; 31 | } 32 | [data-subtype="u"]>[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"]>.protyle-action::before{ 33 | content: "▪"; 34 | } 35 | [data-subtype="u"]>[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"]>.protyle-action::before{ 36 | content: "•"; 37 | } 38 | [data-subtype="u"]>[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"]>.protyle-action::before{ 39 | content: "◦"; 40 | } 41 | [data-subtype="u"]>[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"] .li[data-subtype="u"]>.protyle-action::before{ 42 | content: "▪"; 43 | } 44 | -------------------------------------------------------------------------------- /style/theme/savor-dark.css: -------------------------------------------------------------------------------- 1 | :root[data-theme-mode="dark"] { 2 | /* 基础数 */ 3 | --b3-theme-primary-base-l:69.42%; 4 | --b3-theme-primary-base-ch:0.1265 230.5; 5 | --b3-theme-surface-base-l:30.61%; 6 | --b3-theme-surface-base-ch:0.0087 233.95; 7 | --b3-theme-on-background-base:94.01% 0 0; 8 | --Sv-dock-item--activefocus-background--base:68.98% 0.161 30.76; 9 | 10 | --b3-theme-background: #2f3437;/* 编辑区背景 必须用HEX颜色*/ 11 | 12 | --Sv-tab-bar-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C44.772 100 0 55.228 0 0v100h100z' fill='%232f3437'/>"), 13 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%232f3437'/>"), 14 | url("data:image/svg+xml,"); 15 | 16 | --Sv-tab-bar-V-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C100 44.772 55.228 0 0 0H100V100z' fill='%232f3437'/>"), 17 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%232f3437'/>"), 18 | url("data:image/svg+xml,"); 19 | } 20 | 21 | 22 | .protyle-attr--refcount{ 23 | background-color: oklch(calc(var(--b3-theme-surface-base-l)*1.2) var(--b3-theme-surface-base-ch)); 24 | } 25 | 26 | -------------------------------------------------------------------------------- /style/theme/savor-flower.css: -------------------------------------------------------------------------------- 1 | :root[data-theme-mode="light"] { 2 | /* 主色 */ 3 | --b3-theme-primary-base-l:75.97%; 4 | --b3-theme-primary-base-ch:0.1453 34.26; 5 | --b3-theme-surface-base-l:94.8%; 6 | --b3-theme-surface-base-ch:0.0194 302.2; 7 | 8 | --b3-theme-background: #fffbff;/* 编辑区背景 必须用HEX颜色*/ 9 | 10 | --Sv-tab-bar-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C44.772 100 0 55.228 0 0v100h100z' fill='%23fffbff'/>"), 11 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%23fffbff'/>"), 12 | url("data:image/svg+xml,"); 13 | 14 | --Sv-tab-bar-V-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C100 44.772 55.228 0 0 0H100V100z' fill='%23fffbff'/>"), 15 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%23fffbff'/>"), 16 | url("data:image/svg+xml,"); 17 | 18 | /* ———————————————————— 自定义结构配色 ———————————————————— */ 19 | 20 | /* 顶栏 */ 21 | --Sv-toolbar-background: #f9f5fc; 22 | --Sv-barWorkspace-color: var(--b3-theme-on-background); 23 | --Sv-barWorkspace-background: var(--Sv-list-background); 24 | --Sv-barWorkspace-background-hover: var(--Sv-list-focus-hover); 25 | 26 | /* dock栏 */ 27 | --Sv-dock-background: var(--Sv-toolbar-background); 28 | --Sv-dock-item-hover-color: var(--b3-theme-background); 29 | --Sv-dock-item--activefocus-color: var(--b3-theme-background); 30 | --Sv-dock-item-active-background: #a18ef9; 31 | --Sv-dock-item-active-background-hover: #8f7ce6; 32 | --Sv-dock-item--activefocus-background: #ff5f40!important; 33 | --Sv-dock--item--activefocus-shadow: 0 ; 34 | 35 | /* 侧栏面板 */ 36 | --Sv-block-icon-active: #ff5f40; 37 | --Sv--dialog-container: #f0ebf9; 38 | 39 | 40 | /* 底栏 */ 41 | --Sv-status-barDock-color: #ff5f40; 42 | 43 | 44 | /* 面包屑 */ 45 | --Sv-breadcrumb-active: #ab90f7; 46 | --Sv-breadcrumb-active-hover:#9d80ec; 47 | 48 | /* 块引用 */ 49 | --Sv-block-ref-background: transparent; 50 | --Sv-block-ref-bottom: 3px solid; 51 | --Sv-block-ref-bottom-image: linear-gradient(to bottom right,#ff5f40, #ff5f40) 1; 52 | 53 | --Sv-Savor-light-on:var(--Sv-Savor-light-off); 54 | 55 | /* 合并顶栏插件收缩颜色 */ 56 | --Sv-plugin-off-bg: oklch(var(--b3-theme-surface-base-l) var(--b3-theme-surface-base-ch)); 57 | --Sv-plugin-b-off-bg: oklch(calc(var(--b3-theme-surface-base-l)*0.97) var(--b3-theme-surface-base-ch)); 58 | --Sv-plugin-b-off-bg-hover: oklch(calc(var(--b3-theme-surface-base-l)*1.02) var(--b3-theme-surface-base-ch)); 59 | } 60 | 61 | 62 | .sy__file .b3-list--background:nth-child(4n-3) [data-type="navigation-root"]>.b3-list-item__toggle>.b3-list-item__arrow, 63 | .sy__file .b3-list--background:nth-child(4n-3) [data-type="navigation-root"]+ul .b3-list-item__toggle>.b3-list-item__arrow{ 64 | color:#f67563; 65 | } 66 | .sy__file .b3-list--background:nth-child(4n-2) [data-type="navigation-root"]>.b3-list-item__toggle>.b3-list-item__arrow, 67 | .sy__file .b3-list--background:nth-child(4n-2) [data-type="navigation-root"]+ul .b3-list-item__toggle>.b3-list-item__arrow{ 68 | color:#ff9b1e; 69 | } 70 | .sy__file .b3-list--background:nth-child(4n-1) [data-type="navigation-root"]>.b3-list-item__toggle>.b3-list-item__arrow, 71 | .sy__file .b3-list--background:nth-child(4n-1) [data-type="navigation-root"]+ul .b3-list-item__toggle>.b3-list-item__arrow{ 72 | color:#64bbaa; 73 | } 74 | .sy__file .b3-list--background:nth-child(4n) [data-type="navigation-root"]>.b3-list-item__toggle>.b3-list-item__arrow, 75 | .sy__file .b3-list--background:nth-child(4n) [data-type="navigation-root"]+ul .b3-list-item__toggle>.b3-list-item__arrow{ 76 | color:#49adbb; 77 | } 78 | .protyle-wysiwyg .h1{ 79 | color:var(--h1-list-graphic); 80 | } 81 | .protyle-wysiwyg .h2{ 82 | color:var(--h2-list-graphic); 83 | } 84 | .protyle-wysiwyg .h3{ 85 | color:var(--h3-list-graphic); 86 | } 87 | .protyle-wysiwyg .h4{ 88 | color:var(--h4-list-graphic); 89 | } 90 | .protyle-wysiwyg .h5{ 91 | color:#b6a277; 92 | } 93 | .protyle-wysiwyg .h6{ 94 | color:var(--h6-list-graphic); 95 | } 96 | 97 | .protyle-wysiwyg .h1 span,.protyle-wysiwyg .h2 span,.protyle-wysiwyg .h3 span,.protyle-wysiwyg .h4 span,.protyle-wysiwyg .h5 span,.protyle-wysiwyg .h6 span{ 98 | color:unset; 99 | } 100 | 101 | 102 | #savorToolbar #buttonSavor-light svg{ 103 | color: var(--b3-theme-on-surface); 104 | } -------------------------------------------------------------------------------- /style/theme/savor-forest.css: -------------------------------------------------------------------------------- 1 | :root[data-theme-mode="light"] { 2 | /* 主色 */ 3 | --b3-theme-primary-base-l:74.85%; 4 | --b3-theme-primary-base-ch:0.0828 303.23; 5 | --b3-theme-surface-base-l:0.99; 6 | --b3-theme-surface-base-ch:0.0013 106.42; 7 | 8 | --b3-theme-background: #fff;/* 编辑区背景 必须用HEX颜色*/ 9 | 10 | --Sv-tab-bar-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C44.772 100 0 55.228 0 0v100h100z' fill='%23fff'/>"), 11 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%23fff'/>"), 12 | url("data:image/svg+xml,"); 13 | 14 | --Sv-tab-bar-V-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C100 44.772 55.228 0 0 0H100V100z' fill='%23fff'/>"), 15 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%23fff'/>"), 16 | url("data:image/svg+xml,"); 17 | 18 | /* ———————————————————— 自定义结构配色 ———————————————————— */ 19 | 20 | /* 顶栏 */ 21 | --Sv-toolbar-background:#ecefea; 22 | --Sv-barWorkspace-color: var(--b3-theme-on-background); 23 | --Sv-barWorkspace-background: var(--Sv-list-background); 24 | --Sv-barWorkspace-background-hover: var(--Sv-list-focus-hover); 25 | 26 | /* 边栏 */ 27 | --Sv-dock-background:#ecefea; 28 | --Sv-dock-item-hover-color: var(--b3-theme-background); 29 | --Sv-dock-item-active-background: #2c2f32; 30 | --Sv-dock-item-active-background-hover: #2c2f32; 31 | --Sv-dock-item--activefocus-color: var(--b3-theme-background); 32 | --Sv-dock-item--activefocus-background: #a18ef9; 33 | --Sv-dock--item--activefocus-shadow: 0 ; 34 | 35 | /* 侧栏面板 */ 36 | --Sv-block-icon-active: #dbc9f5; 37 | --Sv--dialog-container: #ecefea; 38 | 39 | 40 | /* 底栏 */ 41 | --Sv-status-barDock-color: #9d80ec; 42 | 43 | 44 | /* 面包屑 */ 45 | --Sv-breadcrumb-active: #ab90f7; 46 | --Sv-breadcrumb-active-hover:#9d80ec; 47 | 48 | /* 引用 */ 49 | --Sv-block-ref-background: transparent; 50 | --Sv-block-ref-bottom: 3px solid; 51 | --Sv-block-ref-bottom-image: linear-gradient(to bottom right, #8788ff, #c796f1) 1; 52 | 53 | 54 | 55 | /*——————————————————————————— 收缩按钮 ——————————————————————————*/ 56 | --Sv-Oplugin-on:url("data:image/svg+xml;utf8,") no-repeat left 16px top -6px; 57 | --Sv-Oplugin-off:url("data:image/svg+xml;utf8,") no-repeat left -10px top -6px; 58 | /*——————————————————————————————————————————————————————————————*/ 59 | 60 | --Sv-Savor-light-on:var(--Sv-Savor-light-off); 61 | 62 | } 63 | 64 | /* PDF */ 65 | .textLayer, 66 | .pdf__resize { 67 | mix-blend-mode: darken; 68 | } 69 | 70 | 71 | #savorToolbar #buttonSavor-light svg{ 72 | color: var(--b3-theme-on-surface); 73 | } -------------------------------------------------------------------------------- /style/theme/savor-light.css: -------------------------------------------------------------------------------- 1 | :root[data-theme-mode="light"] { 2 | /* 基础数 */ 3 | --b3-theme-primary-base-l:69.42%; 4 | --b3-theme-primary-base-ch:0.1265 230.5; 5 | --b3-theme-surface-base-l:97.89%; 6 | --b3-theme-surface-base-ch:0.0013 106.42; 7 | --b3-theme-on-background-base:32.89% 0.0107 91.66; 8 | --Sv-dock-item--activefocus-background--base:68.98% 0.161 30.76; 9 | 10 | --b3-theme-background: #fff;/* 编辑区背景 必须用HEX颜色*/ 11 | --Sv--dialog-container: #f3f3f1; 12 | 13 | --Sv-tab-bar-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C44.772 100 0 55.228 0 0v100h100z' fill='%23fff'/>"), 14 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%23fff'/>"), 15 | url("data:image/svg+xml,"); 16 | --Sv-tab-bar-V-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C100 44.772 55.228 0 0 0H100V100z' fill='%23fff'/>"), 17 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%23fff'/>"), 18 | url("data:image/svg+xml,"); 19 | } 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /style/theme/savor-mountain.css: -------------------------------------------------------------------------------- 1 | :root[data-theme-mode="dark"] { 2 | /* 主色 */ 3 | --b3-theme-primary-base-l:64.04%; 4 | --b3-theme-primary-base-ch:0.1865 43.18; 5 | --b3-theme-surface-base-l:28.9%; 6 | --b3-theme-surface-base-ch:0.0069 145.4; 7 | 8 | --b3-theme-background: #2d302d;/* 编辑区背景 必须用HEX颜色*/ 9 | 10 | --Sv-tab-bar-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C44.772 100 0 55.228 0 0v100h100z' fill='%232d302d'/>"), 11 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%232d302d'/>"), 12 | url("data:image/svg+xml,"); 13 | 14 | --Sv-tab-bar-V-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C100 44.772 55.228 0 0 0H100V100z' fill='%232d302d'/>"), 15 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%232d302d'/>"), 16 | url("data:image/svg+xml,"); 17 | 18 | /* ———————————————————— 自定义结构配色 ———————————————————— */ 19 | 20 | /* 顶栏 */ 21 | --Sv-barWorkspace-color: var(--b3-theme-on-background); 22 | --Sv-barWorkspace-background: var(--Sv-list-background); 23 | --Sv-barWorkspace-background-hover: var(--Sv-list-focus-hover); 24 | 25 | /* dock栏 */ 26 | --Sv-dock-item--activefocus-background: #ff6000!important; 27 | 28 | /* 侧栏面板 */ 29 | --Sv-block-icon-active: #ff6000; 30 | 31 | /* 底栏 */ 32 | --Sv-status-barDock-color: #ff6000; 33 | 34 | /* 面包屑 */ 35 | --Sv-breadcrumb-active: #ff6000; 36 | --Sv-breadcrumb-active-hover:#e16314; 37 | 38 | /* 块引用 */ 39 | --Sv-block-ref-background: transparent; 40 | --Sv-block-ref-bottom: 3px solid; 41 | --Sv-block-ref-bottom-image: linear-gradient(to bottom right,#ff6000, #ff6000) 1; 42 | 43 | 44 | /*——————————————————————————— 收缩按钮 ——————————————————————————*/ 45 | --Sv-Splugin-on:url("data:image/svg+xml;utf8,") no-repeat left 16px top -6px; 46 | --Sv-Splugin-off:url("data:image/svg+xml;utf8,") no-repeat left -10px top -6px; 47 | /*——————————————————————————————————————————————————————————————*/ 48 | 49 | --b3-select-background: url("data:image/svg+xml;utf8,") no-repeat right 2px center #464845; 50 | 51 | --Sv-Savor-dark-on:var(--Sv-Savor-dark-off); 52 | } 53 | 54 | /* PDF */ 55 | .textLayer, 56 | .pdf__resize { 57 | mix-blend-mode: screen; 58 | } 59 | 60 | 61 | body{ 62 | border: 0px!important; 63 | } 64 | 65 | 66 | .b3-select:hover { 67 | background-color: #4e504d; 68 | } 69 | 70 | #savorToolbar #buttonSavor-dark svg{ 71 | color: var(--b3-theme-on-surface); 72 | } -------------------------------------------------------------------------------- /style/theme/savor-ocean.css: -------------------------------------------------------------------------------- 1 | :root[data-theme-mode="dark"] { 2 | /* 主色 */ 3 | --b3-theme-primary-base-l:86.08%; 4 | --b3-theme-primary-base-ch:0.1912 123.83; 5 | --b3-theme-surface-base-l:25%; 6 | --b3-theme-surface-base-ch:0.0254 271.21; 7 | 8 | --b3-theme-background: #1e2330;/* 编辑区背景 必须用HEX颜色*/ 9 | 10 | --b3-theme-on-surface: oklch(calc(20.38%*3.5) 0 0); 11 | 12 | --Sv-dock-item-color: oklch(calc(20.38%*2.5) 0 0 ); 13 | 14 | --Sv-tab-bar-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C44.772 100 0 55.228 0 0v100h100z' fill='%231e2330'/>"), 15 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%231e2330'/>"), 16 | url("data:image/svg+xml,"); 17 | 18 | --Sv-tab-bar-V-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C100 44.772 55.228 0 0 0H100V100z' fill='%231e2330'/>"), 19 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%231e2330'/>"), 20 | url("data:image/svg+xml,"); 21 | 22 | /* ———————————————————— 自定义结构配色 ———————————————————— */ 23 | 24 | /* 顶栏 */ 25 | --Sv-barWorkspace-color: var(--b3-theme-on-background); 26 | --Sv-barWorkspace-background: var(--Sv-list-background); 27 | --Sv-barWorkspace-background-hover: var(--Sv-list-focus-hover); 28 | 29 | /* dock栏 */ 30 | --Sv-dock-item-radius:8px; 31 | --Sv-dock-item--activefocus-background: #cdff3b!important; 32 | --Sv-dock--item--activefocus-shadow: 0 ; 33 | 34 | /* 侧栏面板 */ 35 | --Sv-block-icon-active: #cdff3b; 36 | 37 | /* 底栏 */ 38 | --Sv-status-barDock-color: #cdff3b; 39 | 40 | 41 | /* 块引用 */ 42 | --Sv-block-ref-background: transparent; 43 | --Sv-block-ref-bottom: 3px solid; 44 | --Sv-block-ref-bottom-image: linear-gradient(to bottom right,#cdff3b, #cdff3b) 1; 45 | 46 | /*——————————————————————————— 收缩按钮 ——————————————————————————*/ 47 | --Sv-Oplugin-on:url("data:image/svg+xml;utf8,") no-repeat left 16px top -6px; 48 | --Sv-Oplugin-off:url("data:image/svg+xml;utf8,") no-repeat left -10px top -6px; 49 | /*——————————————————————————————————————————————————————————————*/ 50 | 51 | --Sv-Savor-dark-on:var(--Sv-Savor-dark-off); 52 | 53 | --b3-select-background: url("data:image/svg+xml;utf8,") no-repeat right 2px center #181d26; 54 | } 55 | 56 | /* PDF */ 57 | .textLayer, 58 | .pdf__resize { 59 | mix-blend-mode: screen; 60 | } 61 | 62 | 63 | 64 | #savorToolbar #buttonSavor-dark svg{ 65 | color: var(--b3-theme-on-surface); 66 | } 67 | 68 | 69 | -------------------------------------------------------------------------------- /style/theme/savor-salt.css: -------------------------------------------------------------------------------- 1 | :root[data-theme-mode="light"] { 2 | /* 主色 */ 3 | --b3-theme-primary-base-l:53.63%; 4 | --b3-theme-primary-base-ch:0.0979 220.45; 5 | --b3-theme-surface-base-l:0.9; 6 | --b3-theme-surface-base-ch:0.0098 189.04; 7 | 8 | --b3-theme-on-background-base:0.28 0.0159 264.27; 9 | --Sv-dock-item--activefocus-background--base:68.98% 0.161 30.76; 10 | 11 | --b3-theme-background: #eaf2f2;/* 编辑区背景 必须用HEX颜色*/ 12 | 13 | --Sv-tab-bar-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C44.772 100 0 55.228 0 0v100h100z' fill='%23eaf2f2'/>"), 14 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%23eaf2f2'/>"), 15 | url("data:image/svg+xml,"); 16 | 17 | --Sv-tab-bar-V-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C100 44.772 55.228 0 0 0H100V100z' fill='%23eaf2f2'/>"), 18 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%23eaf2f2'/>"), 19 | url("data:image/svg+xml,"); 20 | 21 | 22 | /* ———————————————————— 自定义结构配色 ———————————————————— */ 23 | 24 | /* 顶栏 */ 25 | --Sv-toolbar-background:/*#9ca8a8;*/rgb(37, 40, 48); 26 | --Sv-layout-margin: 5px; 27 | 28 | --Sv-menu-background:#dfe7e6; 29 | --Sv--dialog-container: #d7e0df; 30 | 31 | /* 侧栏面板 */ 32 | --Sv-dock-background: #ccd5d4; 33 | --Sv-block-icon-svg-color: rgba(55, 53, 47, .5); 34 | 35 | /* 合并顶栏插件收缩颜色 */ 36 | --Sv-plugin-off-bg: oklch(calc(var(--b3-theme-surface-base-l)*0.2) var(--b3-theme-surface-base-ch)); 37 | --Sv-plugin-b-off-bg: oklch(calc(var(--b3-theme-surface-base-l)*0.25) var(--b3-theme-surface-base-ch)); 38 | --Sv-plugin-b-off-bg-hover: oklch(calc(var(--b3-theme-surface-base-l)*0.3) var(--b3-theme-surface-base-ch)); 39 | --Sv-fixed-item-text: #9fa4a7; 40 | 41 | /*——————————————————————————— 收缩按钮 ——————————————————————————*/ 42 | --Sv-Splugin-on:url("data:image/svg+xml;utf8,") no-repeat left 16px top -6px; 43 | --Sv-Splugin-off:url("data:image/svg+xml;utf8,") no-repeat left -10px top -6px; 44 | /*——————————————————————————————————————————————————————————————*/ 45 | 46 | } 47 | 48 | 49 | 50 | #toolbar svg,.toolbar #drag{ 51 | color: oklch(calc(var(--b3-theme-surface-base-l)*0.8) var(--b3-theme-surface-base-ch)); 52 | } 53 | 54 | .dock.dock--vertical .dock__item:first-child { 55 | margin-top: 5px !important; 56 | } 57 | 58 | #savorToolbar #buttonSavor-light svg{ 59 | color: var(--b3-theme-on-surface); 60 | } -------------------------------------------------------------------------------- /style/theme/savor-sugar.css: -------------------------------------------------------------------------------- 1 | :root[data-theme-mode="light"] { 2 | /* 主色 */ 3 | --b3-theme-primary-base-l:53.63%; 4 | --b3-theme-primary-base-ch:0.0979 220.45; 5 | --b3-theme-surface-base-l:96.72%; 6 | --b3-theme-surface-base-ch:0.0103 81.79; 7 | 8 | --b3-theme-background: #f9f8f5; 9 | --Sv--dialog-container: #eeeae3; 10 | 11 | --Sv-tab-bar-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C44.772 100 0 55.228 0 0v100h100z' fill='%23f9f8f5'/>"), 12 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%23f9f8f5'/>"), 13 | url("data:image/svg+xml,"); 14 | 15 | --Sv-tab-bar-V-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C100 44.772 55.228 0 0 0H100V100z' fill='%23f9f8f5'/>"), 16 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%23f9f8f5'/>"), 17 | url("data:image/svg+xml,"); 18 | /* ———————————————————— 自定义结构配色 ———————————————————— */ 19 | 20 | 21 | 22 | /*——————————————————————————— 收缩按钮 ——————————————————————————*/ 23 | --Sv-Splugin-on:url("data:image/svg+xml;utf8,") no-repeat left 16px top -6px; 24 | --Sv-Splugin-off:url("data:image/svg+xml;utf8,") no-repeat left -10px top -6px; 25 | /*——————————————————————————————————————————————————————————————*/ 26 | } 27 | 28 | 29 | .sy__file .b3-list--background:nth-child(4n-3) [data-type="navigation-root"]>.b3-list-item__toggle>.b3-list-item__arrow{ 30 | color:#f67563; 31 | } 32 | .sy__file .b3-list--background:nth-child(4n-2) [data-type="navigation-root"]>.b3-list-item__toggle>.b3-list-item__arrow{ 33 | color:#ff9b1e; 34 | } 35 | .sy__file .b3-list--background:nth-child(4n-1) [data-type="navigation-root"]>.b3-list-item__toggle>.b3-list-item__arrow{ 36 | color:#64bbaa; 37 | } 38 | .sy__file .b3-list--background:nth-child(4n) [data-type="navigation-root"]>.b3-list-item__toggle>.b3-list-item__arrow{ 39 | color:#49adbb; 40 | } 41 | .protyle-wysiwyg .h1{ 42 | color:var(--h1-list-graphic); 43 | } 44 | .protyle-wysiwyg .h2{ 45 | color: #8a7da0; 46 | } 47 | .protyle-wysiwyg .h3{ 48 | color:var(--h3-list-graphic); 49 | } 50 | .protyle-wysiwyg .h4{ 51 | color:var(--h4-list-graphic); 52 | } 53 | .protyle-wysiwyg .h5{ 54 | color:#b6a277; 55 | } 56 | .protyle-wysiwyg .h6{ 57 | color:var(--h6-list-graphic); 58 | } 59 | 60 | 61 | #savorToolbar #buttonSavor-light svg{ 62 | color: var(--b3-theme-on-surface); 63 | } -------------------------------------------------------------------------------- /style/theme/savor-vinegar.css: -------------------------------------------------------------------------------- 1 | :root[data-theme-mode="dark"]{ 2 | /* 主色 */ 3 | --b3-theme-primary-base-l:60.58%; 4 | --b3-theme-primary-base-ch:0.1674 252.7; 5 | --b3-theme-surface-base-l:25%; 6 | --b3-theme-surface-base-ch:0 0; 7 | 8 | --b3-theme-background: #1f1f1f;/* 编辑区背景 必须用HEX颜色*/ 9 | 10 | --b3-theme-on-surface: oklch(calc(20.38%*3.5) 0 0); 11 | 12 | --Sv-dock-item-color: oklch(calc(20.38%*2.5) 0 0 ); 13 | 14 | --Sv-dock-item--activefocus-background--base:68.98% 0.161 30.76; 15 | 16 | --Sv-tab-bar-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C44.772 100 0 55.228 0 0v100h100z' fill='%231f1f1f'/>"), 17 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%231f1f1f'/>"), 18 | url("data:image/svg+xml,"); 19 | 20 | --Sv-tab-bar-V-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C100 44.772 55.228 0 0 0H100V100z' fill='%231f1f1f'/>"), 21 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%231f1f1f'/>"), 22 | url("data:image/svg+xml,"); 23 | 24 | /* ———————————————————— 自定义结构配色 ———————————————————— */ 25 | 26 | /* 按钮 */ 27 | 28 | 29 | --b3-select-background: url("data:image/svg+xml;utf8,") no-repeat right 2px center #303030; 30 | 31 | 32 | /*——————————————————————————— 收缩按钮 ——————————————————————————*/ 33 | --Sv-Splugin-on:url("data:image/svg+xml;utf8,") no-repeat left 16px top -6px; 34 | --Sv-Splugin-off:url("data:image/svg+xml;utf8,") no-repeat left -10px top -6px; 35 | /*——————————————————————————————————————————————————————————————*/ 36 | 37 | } 38 | 39 | /* PDF */ 40 | .textLayer, 41 | .pdf__resize { 42 | mix-blend-mode: screen; 43 | } 44 | 45 | .b3-text-field::-webkit-calendar-picker-indicator { 46 | fiilter: invert(1) 47 | } 48 | 49 | 50 | 51 | #savorToolbar #buttonSavor-dark svg{ 52 | color: var(--b3-theme-on-surface); 53 | } -------------------------------------------------------------------------------- /style/theme/savor-wind.css: -------------------------------------------------------------------------------- 1 | :root[data-theme-mode="light"] { 2 | /* 主色 */ 3 | --b3-theme-primary-base-l:75.97%; 4 | --b3-theme-primary-base-ch:0.1453 34.26; 5 | --b3-theme-surface-base-l:91.05%; 6 | --b3-theme-surface-base-ch:0.0011 17.18; 7 | 8 | --b3-theme-background: #f1f0f0;/* 编辑区背景 必须用HEX颜色*/ 9 | 10 | --Sv-tab-bar-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C44.772 100 0 55.228 0 0v100h100z' fill='%23f1f0f0'/>"), 11 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%23f1f0f0'/>"), 12 | url("data:image/svg+xml,"); 13 | 14 | --Sv-tab-bar-V-item-after:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M100 100C100 44.772 55.228 0 0 0H100V100z' fill='%23f1f0f0'/>"), 15 | url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 100c55.228 0 100-44.772 100-100v100H0z' fill='%23f1f0f0'/>"), 16 | url("data:image/svg+xml,"); 17 | 18 | /* ———————————————————— 自定义结构配色 ———————————————————— */ 19 | 20 | /* 顶栏 */ 21 | --Sv-toolbar-background: oklch(calc(var(--b3-theme-surface-base-l)*0.93) var(--b3-theme-surface-base-ch)); 22 | --Sv-barWorkspace-color: var(--b3-theme-on-background); 23 | --Sv-barWorkspace-background: var(--Sv-list-background); 24 | --Sv-barWorkspace-background-hover: var(--Sv-list-focus-hover); 25 | 26 | /* dock栏 */ 27 | --Sv-dock-background: oklch(calc(var(--b3-theme-surface-base-l)*0.93) var(--b3-theme-surface-base-ch)); 28 | --Sv-dock-item-hover-color: var(--b3-theme-background); 29 | --Sv-dock--item--activefocus-color: var(--b3-theme-background); 30 | --Sv-dock-item-active-background: #2c2f32; 31 | --Sv-dock-item-active-background-hover: #2c2f32; 32 | --Sv-dock-item--activefocus-background: #ff5f40!important; 33 | --Sv-dock--item--activefocus-shadow: 0 ; 34 | 35 | /* 侧栏面板 */ 36 | --Sv-block-icon-active: #ff5f40; 37 | --Sv--dialog-container: #e2e1e1; 38 | 39 | /* 底栏 */ 40 | --Sv-status-barDock-color: #ff5f40; 41 | 42 | /* 面包屑 */ 43 | --Sv-breadcrumb-active: #ff5f40; 44 | --Sv-breadcrumb-active-hover:#ed5536; 45 | 46 | /* 滚动条 */ 47 | --Sv-scroll-color: #d5d5d5; 48 | --Sv-scroll-color-hover: #bebebe; 49 | 50 | /* 块引用 */ 51 | --Sv-block-ref-background: transparent; 52 | --Sv-block-ref-bottom: 3px solid; 53 | --Sv-block-ref-bottom-image: linear-gradient(to bottom right,#ff5f40, #ff5f40) 1; 54 | 55 | --Sv-Savor-light-on:var(--Sv-Savor-light-off); 56 | 57 | /* 合并顶栏插件收缩颜色 */ 58 | --Sv-plugin-off-bg: oklch(calc(var(--b3-theme-surface-base-l)*0.89) var(--b3-theme-surface-base-ch)); 59 | --Sv-plugin-b-off-bg: oklch(calc(var(--b3-theme-surface-base-l)*0.86) var(--b3-theme-surface-base-ch)); 60 | 61 | } 62 | 63 | 64 | 65 | .b3-list-item{ 66 | filter: grayscale(50%); 67 | } 68 | 69 | #savorToolbar #buttonSavor-light svg{ 70 | color: var(--b3-theme-on-surface); 71 | } -------------------------------------------------------------------------------- /style/topbar/Splugin.css: -------------------------------------------------------------------------------- 1 | body:not(.body--mobile, .body--window) > #toolbar { 2 | &>[data-location]:not(.fn__none) { 3 | /*padding: 0px!important; 4 | height: 20px!important; 5 | width: 20px!important; 6 | box-shadow:none;*/ 7 | width: 28px!important; 8 | opacity: 1!important; 9 | padding: 7px!important; 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /style/topbar/bullet-threading.css: -------------------------------------------------------------------------------- 1 | [data-type="NodeList"]{ 2 | .en_item_bullet_line:not(.protyle-wysiwyg--select)::after 3 | { 4 | content: ''; 5 | display: block; 6 | box-sizing: border-box; 7 | border-left: 2px solid var(--b3-theme-primary); 8 | border-bottom: 2px solid var(--b3-theme-primary); 9 | border-bottom-left-radius: 8px; 10 | position: absolute; 11 | left: -18px; 12 | } 13 | &[data-subtype="u"] .en_item_bullet_line:not(.protyle-wysiwyg--select)::after{ 14 | width: 32px; 15 | height: calc(var(--en-bullet-line-height) - 1px); 16 | top: calc(var(--en-bullet-line-height) * -1 + 20px); 17 | } 18 | &[data-subtype="o"] .en_item_bullet_line:not(.protyle-wysiwyg--select)::after{ 19 | width: 24px; 20 | height: calc(var(--en-bullet-line-height) - 8px); 21 | top: calc(var(--en-bullet-line-height) * -1 + 25px); 22 | } 23 | &[data-subtype="t"] .en_item_bullet_line:not(.protyle-wysiwyg--select)::after{ 24 | width: 30px; 25 | height: calc(var(--en-bullet-line-height) - 4px); 26 | top: calc(var(--en-bullet-line-height) * -1 + 21px); 27 | } 28 | /* 激活状态样式 */ 29 | &[data-subtype="u"] .en_item_bullet_actived > .protyle-action::before{ 30 | color: var(--b3-theme-primary); 31 | font-size: 2em; 32 | } 33 | &[data-subtype="o"] .en_item_bullet_actived > .protyle-action::after { 34 | background-color: var(--b3-theme-primary); 35 | } 36 | &[data-subtype="o"] .en_item_bullet_actived > .protyle-action:hover::after { 37 | background-color: var(--Sv-button-background-hover) !important; 38 | } 39 | &[data-subtype="t"] .en_item_bullet_actived > .protyle-action { 40 | color: var(--b3-theme-primary); 41 | } 42 | } 43 | 44 | 45 | [data-subtype="u"] > .protyle-action + :is([data-subtype="o"], [data-subtype="u"], [data-subtype="t"]) > .en_item_bullet_line:first-child:not(.protyle-wysiwyg--select)::after { 46 | top: calc(var(--en-bullet-line-height) * -1 + 16px); 47 | } 48 | [data-subtype="o"] > .protyle-action + [data-subtype="o"] > .en_item_bullet_line:first-child:not(.protyle-wysiwyg--select)::after { 49 | left: -10px; 50 | width: 20px; 51 | top: calc(var(--en-bullet-line-height) * -1 + 16px); 52 | } 53 | [data-subtype="o"] > .protyle-action + [data-subtype="u"] > .en_item_bullet_line:first-child:not(.protyle-wysiwyg--select)::after { 54 | left: -10px; 55 | width: 20px; 56 | top: calc(var(--en-bullet-line-height) * -1 + 16px); 57 | } 58 | [data-subtype="o"] > .protyle-action + [data-subtype="t"] > .en_item_bullet_line:first-child:not(.protyle-wysiwyg--select)::after { 59 | left: -10px; 60 | width: 20px; 61 | top: calc(var(--en-bullet-line-height) * -1 + 16px); 62 | } 63 | [data-subtype="t"] > .protyle-action + [data-subtype="t"] > .en_item_bullet_line:first-child:not(.protyle-wysiwyg--select)::after { 64 | left: -11px; 65 | width: 22px; 66 | top: calc(var(--en-bullet-line-height) * -1 + 16px); 67 | } 68 | [data-subtype="t"] > .protyle-action + [data-subtype="o"] > .en_item_bullet_line:first-child:not(.protyle-wysiwyg--select)::after { 69 | left: -11px; 70 | width: 25px; 71 | top: calc(var(--en-bullet-line-height) * -1 + 16px); 72 | } 73 | [data-subtype="t"] > .protyle-action + [data-subtype="u"] > .en_item_bullet_line:first-child:not(.protyle-wysiwyg--select)::after { 74 | left: -11px; 75 | width: 25px; 76 | top: calc(var(--en-bullet-line-height) * -1 + 16px); 77 | } -------------------------------------------------------------------------------- /style/topbar/conceal-mark.css: -------------------------------------------------------------------------------- 1 | 2 | .b3-typography [data-type~="mark"], .protyle-wysiwyg [data-type~="mark"]{ 3 | color: transparent !important; 4 | background-color: transparent !important; 5 | border-bottom: 0.1em solid var(--b3-theme-on-background)!important; 6 | transition: all 300ms; 7 | } 8 | .b3-typography [data-type~="mark"]:hover, .protyle-wysiwyg [data-type~="mark"]:hover{ 9 | background-color: var(--b3-font-background7) !important; 10 | color: var(--b3-theme-on-background)!important; 11 | transition: all 300ms; 12 | } -------------------------------------------------------------------------------- /style/topbar/tab-bar-vertical.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --custom-tab-width: 150px; 3 | } 4 | 5 | body:not(.body--mobile,.body--window) [data-type='wnd'][data-id]:not(.tab-horizontal) .fn__flex:not(.av__views){ 6 | & > .layout-tab-bar{ 7 | margin:0; 8 | border-bottom: none; 9 | display: block; 10 | flex: 1; 11 | &.layout-tab-bar--readonly { 12 | flex: initial; 13 | padding-left: 0px; 14 | padding-right: 5px; 15 | } 16 | .item:not(.item--readonly) { 17 | margin:0 -5px 5px 0!important; 18 | max-width:unset; 19 | & .item__close{ 20 | margin-left: auto; 21 | } 22 | &.item--focus{ 23 | border-radius: 8px 0 0 8px; 24 | &::after { 25 | background-color: transparent; 26 | top: calc(-1* var(--Sv-dock-item-radius) - 2px); 27 | right: -5px; 28 | left: auto; 29 | height: calc(100% + var(--Sv-dock-item-radius)* 2 + 4px); 30 | width: 12px; 31 | border-radius: 0; 32 | transition: var(--b3-transition); 33 | background-image: var(--Sv-tab-bar-V-item-after); 34 | background-size: 12px 12px, 12px 12px, calc(100% + var(--Sv-dock-item-radius)* 2 + 8px) calc(100% - var(--Sv-dock-item-radius)* 2 - 4px); 35 | background-position: left bottom, left top, center right; 36 | background-repeat: no-repeat; 37 | box-shadow: none; 38 | }} 39 | &.item--pin .item__text.fn__none{ 40 | display: block!important; 41 | } 42 | } 43 | } 44 | .layout-tab-bar--readonly{ 45 | margin-left: 0px!important; 46 | } 47 | } 48 | body:not(.body--mobile,.body--window) .layout__center [data-type='wnd'][data-id]:not(.tab-horizontal){ 49 | display: flex; 50 | flex-direction: row; 51 | & > .fn__flex:not(.layout-tab-container) { 52 | flex-direction: column-reverse; 53 | } 54 | } 55 | body:not(.body--mobile,.body--window) .layout__center [data-type='wnd'][data-id]:not(.tab-horizontal)>.fn__flex>.layout-tab-bar { 56 | width: var(--custom-tab-width); 57 | transition: width 0.3s ease; 58 | } 59 | 60 | 61 | 62 | #vertical-resize-handle:hover{ 63 | background-color: var(--Sv-layout--resize-hover)!important; 64 | transition: all 0.2s ease; 65 | } -------------------------------------------------------------------------------- /style/topbar/top-fixed.css: -------------------------------------------------------------------------------- 1 | body:not(.body--mobile,.body--window)>#toolbar{ 2 | z-index: 3; 3 | height: 38px; 4 | margin-bottom: -38px; 5 | pointer-events: none; 6 | counter-reset:plugin-counter; 7 | background-color: transparent; 8 | -webkit-app-region: drag; 9 | & .toolbar__item { 10 | pointer-events: visibleFill; 11 | app-region: no-drag; 12 | } 13 | & #toolbarVIP,#drag{ 14 | display: none; 15 | } 16 | & .toolbar__item:not(#barWorkspace,#closeWindow)[data-location]:not(.fn__none){ 17 | counter-increment: plugin-counter; 18 | box-shadow: 12px 0px 0px 0px var(--Sv-plugin-off-bg),17px 0px 0px 0px var(--Sv-plugin-off-bg); 19 | background-color: var(--Sv-plugin-off-bg); 20 | width: 0px; 21 | opacity: 0; 22 | padding: 0px; 23 | transition: all 200ms ease; 24 | margin-top: 1px; 25 | &:hover{ 26 | background-color: var(--Sv-toolbar-item-hover); 27 | } 28 | &:not(.fn__none)~#barPlugins+#savorPlugins #Splugin.button_off{ 29 | width: 28px!important; 30 | background:var(--Sv-Splugin-on); 31 | background-color: var(--Sv-plugin-on-bg); 32 | margin-left: -62px; 33 | &:hover{ 34 | background-color: var(--Sv-plugin-on-bg)!important; 35 | width: 42px!important; 36 | margin-left: -75px; 37 | } 38 | &:hover:before{ 39 | right: 18px!important; 40 | transition: right 200ms; 41 | } 42 | &:before{ 43 | content: counter(plugin-counter); 44 | opacity: 1; 45 | top: 0px; 46 | right: 6px; 47 | border-radius: 6px 0 0 6px; 48 | color: var(--Sv-plugin-counter); 49 | width: 28px; 50 | height: 28px; 51 | line-height: 28px; 52 | text-align: center; 53 | font-size: 14px; 54 | font-weight: 500; 55 | transform: none; 56 | border: none; 57 | transition: right 200ms; 58 | } 59 | } 60 | } 61 | } 62 | #barPlugins{ 63 | margin-left: 18px; 64 | } 65 | .layout__dockl:not(.layout--float),.layout__dockr:not(.layout--float){ 66 | padding-top: 38px; 67 | } 68 | #dockLeft,#dockRight{ 69 | padding-top: 38px; 70 | } 71 | body:not(.body--window) .layout__center .fn__flex-column > .fn__flex > .layout-tab-bar { 72 | padding-left: 0px; 73 | min-width: 60px; 74 | z-index: 2; 75 | pointer-events: none; 76 | border: none; 77 | height: 44px; 78 | & .item:not(.item--readonly):not(.item--pin){ 79 | background-color: transparent; 80 | } 81 | & .item:not(.item--readonly){ 82 | margin-bottom:7px!important; 83 | pointer-events: visibleFill; 84 | & .item__text{ 85 | color: var(--Sv-fixed-item-text); 86 | } 87 | &[data-type="tab-header"]{ 88 | pointer-events: visibleFill; 89 | app-region: no-drag; 90 | &.item--focus{ 91 | background-color: var(--b3-theme-background); 92 | & .item__text{ 93 | color: var(--b3-theme-on-background); 94 | } 95 | &::after { 96 | top: 23.5px; 97 | } 98 | } 99 | } 100 | &:hover{ 101 | background-color: var(--Sv-tab-bar-item-background-hover); 102 | } 103 | } 104 | & .item--readonly{ 105 | padding: 0px; 106 | pointer-events: none; 107 | height: 36px; 108 | & .block__icon--show{ 109 | pointer-events: visibleFill; 110 | app-region: no-drag; 111 | background-color: transparent; 112 | &[data-type="new"]{ 113 | margin-right: 6px; 114 | } 115 | &:hover{ 116 | background-color: var(--Sv-tab-bar-item-background-hover); 117 | } 118 | } 119 | } 120 | &.layout-tab-bar--readonly{ 121 | padding-top: 1px; 122 | padding-left: 6px; 123 | height: 37px; 124 | &::before { 125 | top: 4px; 126 | box-shadow: 6px -6px 0 var(--Sv-toolbar-background); 127 | } 128 | } 129 | } 130 | 131 | 132 | #savordrag.fn__none{ 133 | display:flex!important; 134 | } 135 | [data-menu]:not(.fn__none) ~ #barPlugins+#savorPlugins{ 136 | display: flex; 137 | width: 0px; 138 | z-index:8; 139 | } 140 | #savordrag{ 141 | display: block!important; 142 | } 143 | 144 | 145 | 146 | #Splugin{ 147 | padding: 0px; 148 | margin-bottom: 3px; 149 | background:var(--Sv-Splugin-off); 150 | background-color: var(--Sv-plugin-b-off-bg); 151 | &::after{ 152 | top: -3px; 153 | right: -78px; 154 | } 155 | } 156 | 157 | #Splugin.button_on{ 158 | width: 18px!important; 159 | border-radius: 0 6px 6px 0!important; 160 | box-shadow: 0 0 0 2px inset var(--Sv-plugin-off-bg); 161 | margin-left: -51px; 162 | &:before{ 163 | display: none; 164 | } 165 | &:hover{ 166 | background:var(--Sv-Splugin-off); 167 | background-color: var(--Sv-plugin-b-off-bg-hover)!important; 168 | transition: none; 169 | } 170 | } 171 | 172 | 173 | 174 | 175 | .layout__empty{ 176 | height: calc( 100% - 38px ); 177 | margin-top: 38px; 178 | border-radius: 6px; 179 | } 180 | body:not(.body--mobile,.body--window) #layouts{ 181 | margin: var(--Sv-layout-margin-fixed); 182 | } 183 | 184 | 185 | 186 | .layout__resize--lr:after { 187 | top: 38px; 188 | height: calc(100% - 38px); 189 | } 190 | 191 | #toolbar + .fn__flex{ 192 | box-shadow:0 38px 0 0 var(--Sv-toolbar-background) inset; 193 | } 194 | 195 | #layouts>.fn__flex{ 196 | background-color: var(--Sv-dock-background); 197 | box-shadow:0 38px 0 0 var(--Sv-toolbar-background) inset; 198 | } 199 | .dock--vertical{ 200 | box-shadow:0 38px 0 0 var(--Sv-toolbar-background) inset; 201 | } 202 | 203 | /* 左侧间距 */ 204 | .layout--float,.layout__dockl[style*="width: 0"]{ 205 | & ~ .layout__center [data-type="wnd"]>.fn__flex>.layout-tab-bar:not(.layout-tab-bar--readonly){ 206 | margin-left: calc(var(--Sv-topfixed-marginLeft) + 60px); 207 | padding-left: 10px; 208 | transition: margin-left .2s cubic-bezier(0, 0, .2, 1) 0ms,padding-left .2s cubic-bezier(0, 0, .2, 1) 0ms; 209 | } 210 | & ~ .layout__center .layout__resize + .fn__flex-1 [data-type="wnd"]>.fn__flex>.layout-tab-bar:not(.layout-tab-bar--readonly){ 211 | margin-left: 0!important; 212 | padding-left: 0px!important; 213 | } 214 | } 215 | 216 | .dock--vertical.fn__none + #layouts { 217 | .layout--float,.layout__dockl[style*="width: 0"]{ 218 | & ~ .layout__center [data-type="wnd"]>.fn__flex>.layout-tab-bar:not(.layout-tab-bar--readonly){ 219 | margin-left: calc(var(--Sv-topfixed-marginLeft) + 93px); 220 | transition: none; 221 | } 222 | } 223 | } 224 | .layout__center [data-type="wnd"]>.fn__flex>.layout-tab-bar:not(.layout-tab-bar--readonly){ 225 | transition: margin-left .2s cubic-bezier(0, 0, .2, 1) 0ms,padding-left .2s cubic-bezier(0, 0, .2, 1) 0ms; 226 | } 227 | .body--mac .layout--float,.body--mac .layout__dockl[style*="width: 0"]{ 228 | & ~ .layout__center [data-type="wnd"]>.fn__flex>.layout-tab-bar:not(.layout-tab-bar--readonly){ 229 | margin-left: calc(var(--Sv-topfixed-marginLeft) + 130px); 230 | padding-left: 10px; 231 | transition: margin-left .2s cubic-bezier(0, 0, .2, 1) 0ms,padding-left .2s cubic-bezier(0, 0, .2, 1) 0ms; 232 | } 233 | } 234 | 235 | .body--mac .dock--vertical.fn__none + #layouts { 236 | .layout--float,.layout__dockl[style*="width: 0"]{ 237 | & ~ .layout__center [data-type="wnd"]>.fn__flex>.layout-tab-bar:not(.layout-tab-bar--readonly){ 238 | margin-left: calc(var(--Sv-topfixed-marginLeft) + 163px); 239 | transition: none; 240 | } 241 | } 242 | } 243 | 244 | 245 | .layout__center [data-type="wnd"] .layout-tab-container .fn__flex-column{ 246 | box-shadow: var(--b3-theme-background) 0 0 0 7px inset; 247 | } 248 | 249 | .layout__center .layout__resize:not(.layout__resize--lr) +.fn__flex .layout-tab-bar--readonly{ 250 | background-color: var(--Sv-dock-background)!important; 251 | } 252 | 253 | .layout__center [data-type="wnd"]>.fn__flex::after{ 254 | content: ""; 255 | position: absolute; 256 | height: 0.8em; 257 | width: 100%; 258 | opacity: 0; 259 | -webkit-app-region: drag; 260 | } 261 | 262 | #Splugin{ 263 | display: block!important; 264 | } -------------------------------------------------------------------------------- /theme.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Savor", 3 | "author": "Roy", 4 | "url": "https://github.com/royc01/notion-theme", 5 | "version": "5.5.4", 6 | "displayName": { 7 | "default": "Savor", 8 | "zh_CN": "写味" 9 | }, 10 | "description": { 11 | "default": "You said that you grudged eating up this kinda feeling.", 12 | "zh_CN": "你说你舍不得吃掉这一种感觉" 13 | }, 14 | "readme": { 15 | "default": "README.md", 16 | "zh_CN": "README_zh_CN.md" 17 | }, 18 | "i18n": [ 19 | "en_US", 20 | "zh_CN" 21 | ], 22 | "funding": { 23 | "openCollective": "", 24 | "patreon": "", 25 | "github": "", 26 | "custom": [ 27 | "https://afdian.com/a/Savor" 28 | ] 29 | }, 30 | "modes": [ 31 | "light", 32 | "dark" 33 | ] 34 | } 35 | --------------------------------------------------------------------------------