针对动态引用有以下要求:去掉下划线,去掉背景色,且不允许添加背景色(编辑中误选中动态引用添加不生效),字体颜色为特殊颜色(比如紫色),且不允许改变字体颜色(编辑中误选中动态引用改变字体颜色不生效),带中括号。
我现在使用的是 Savor 主题。
针对动态引用有以下要求:去掉下划线,去掉背景色,且不允许添加背景色(编辑中误选中动态引用添加不生效),字体颜色为特殊颜色(比如紫色),且不允许改变字体颜色(编辑中误选中动态引用改变字体颜色不生效),带中括号。
我现在使用的是 Savor 主题。
大佬,好像是不起作用,如果不好实现,那就退而求其次,这是我目前用的代码,可以在这个基础上,去掉背景色、字体改成像括号一样的紫色、去掉下划线。
:root { --b3-protyle-inline-blockref-color: var(--b3-theme-accent); } .protyle-wysiwyg [data-node-id] span[data-type~=block-ref]::before { content: "[["; display: inline-block; font-size: 100%; color:rgb(137,87,229); } .protyle-wysiwyg [data-node-id] span[data-type~=block-ref]::after { content: "]]"; display: inline-block; font-size: 100%; color:rgb(137,87,229); } .protyle-wysiwyg [data-node-id] span[data-type~=block-ref][data-subtype="s"]::before { content: "「"; display: inline-block; font-size: 100%; color:rgb(137,87,229); transform: scale(1, -1); } .protyle-wysiwyg [data-node-id] span[data-type~=block-ref][data-subtype="s"]::after { content: "」"; display: inline-block; font-size: 100%; color:rgb(137,87,229); transform: scale(1, -1); } span[data-type~=block-ref] { font-weight: unset !important; }
(编辑中误选中动态引用改变不生效)
这似乎光靠 CSS 实现不了。
这里抛砖引玉放上个人的大致处理思路吧
let content = document.querySelector("div.protyle-content"); let observer = new MutationObserver(function (mutations) { mutations.forEach(function (mutation) { if (mutation.addedNodes.length) { mutation.addedNodes.forEach(function (node) { // 拦截新增的 <span data-type="text" style="background-color: var(--b3-font-background4);">统使用或重建时心理</span> // 获取其内容,如果是块选择,找div updated属性检测内联style修改的情况 if (node.nodeName === "SPAN" && node.getAttribute("data-type") === "block-ref") { // 将内联style取消, } }); } }); }); observer.observe(content, { subtree: true, childList: true, characterData: true, attributes: true, });
Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。
WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。
宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”
Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。
Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。
记录并分享人生的经历。
Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。
Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。
欢迎访问我们运维的实例: https://wide.b3log.org
代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。
用户在该标签下分享代码片段时需在帖子标题前添加 [css]
或 [js]
用于区分代码片段类型。
TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。
阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。
Thank God It's Friday! 感谢老天,总算到星期五啦!
OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。
网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。
PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。
发布对别人有帮助的原创内容是最好的 SEO 方式。
V2EX 是创意工作者们的社区。这里目前汇聚了超过 400,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。
webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。
Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。
持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。
Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。
Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。
强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于