[思源笔记主题同步] 分享一个同步自定义主题的方案

本贴最后更新于 772 天前,其中的信息可能已经物是人非

缘由

由于思源笔记的主题放在 conf\appearance\themes 目录中, 因此如果更改了主题的 theme.csscustom.css 在使用官方同步服务时无法同步到其他设备, 这在不方便访问文件系统的终端(例如移动端, Docker 服务端)不易应用自定义主题, 因此我想出了用过 CSS 的 @import 语句引用 data\widgets 目录下的文件的配置方案

@import 语句详见 @import - CSS(层叠样式表) | MDN

思源笔记内核提供静态 Web 文件服务的目录, 笔记内部访问无需输入 http://host:port

  • conf\appearance: 可以通过 http://host:port/appearance 访问(无限制)
  • data\widgets: 可以通过 http://host:port/widgets 访问(无限制)
  • data\emojis: 可以通过 http://host:port/emojis 访问(无限制)
  • data\assets: 可以通过 http://host:port/assets 访问(设置访问授权码后需要 cookie)

具体实现

  1. data\widgets\ 目录下新建一个 file-name.css 文件

  2. 在原主题的 theme.csscustom.css 文件首插入如下语句

    /* 自定义配置 */
    @import url(/widgets/file-name.css);
    
  3. 在文件 data\widgets\file-name.css 中添加你的自定义主题配置

  4. 开发者工具 的控制台中使用命令 window.location.reload() 重新加载页面

注: 在主题 Dark+v0.1.3 版本中已经加入该功能, 同时在 data\widgets\custom.css 文件 :root 中定义的值将覆盖 conf\appearance\themes\Dark+\style\module\config.css 中对应的值

  • 思源笔记

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

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

    19110 引用 • 71849 回帖
6 操作
shuoying 在 2022-04-06 22:34:07 更新了该帖
shuoying 在 2022-01-13 22:02:18 更新了该帖
shuoying 在 2021-12-30 17:57:38 更新了该帖
shuoying 在 2021-12-29 20:24:42 更新了该帖 shuoying 在 2021-12-28 21:31:37 更新了该帖 shuoying 在 2021-12-28 12:29:56 更新了该帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • yjmsiyuan

    很棒!

  • 其他回帖
  • yjmsiyuan

    主题没有问题,设定的功能全部能够实现:

    1、调用顺序:conf\appearance\themes 然后调用 data\widgets\custom.css 替换 conf\appearance\themes\Dark+\style\module\config.css 中的值。

    结果:自定义的 +[Dark+]中没有没有被替换的。

    我想说的是:会自定义主题,但主题还没有上传的人,并不能简单实现想全部用自己编的主题。

  • yjmsiyuan

    试用一下,并不能用自己做的主题,若想用,应该是主题就是用 data 目录下的主题,而自己编的主题在 data\widgets\custom.css 中调用,这样才能提供自定义主题

    1 回复
  • yjmsiyuan

    好多人就是改一下别人的主题,因此不想上传。

    因此想建议作者做一个只有 config.css 的简单主题,目标就是就是让别人调用。

  • 查看全部回帖
shuoying
一团儿名为 '\u4eba' 的光球~

推荐标签 标签

  • 自由行
    4 关注
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    91 引用 • 751 回帖
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 206 关注
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    140 引用 • 441 回帖
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 696 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    5 引用 • 13 回帖
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 39 关注
  • 安全

    安全永远都不是一个小问题。

    189 引用 • 813 回帖 • 1 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 123 关注
  • Hprose

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

    9 引用 • 17 回帖 • 604 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 2 关注
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 242 关注
  • 倾城之链
    23 引用 • 66 回帖 • 109 关注
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 1 关注
  • V2EX

    V2EX 是创意工作者们的社区。这里目前汇聚了超过 400,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。

    17 引用 • 236 回帖 • 410 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖
  • 国际化

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

    7 引用 • 26 回帖
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    165 引用 • 1461 回帖
  • 锤子科技

    锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。

    4 引用 • 31 回帖 • 4 关注
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 32 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    675 引用 • 535 回帖
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    284 引用 • 4481 回帖 • 651 关注
  • webpack

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

    41 引用 • 130 回帖 • 293 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    479 引用 • 902 回帖
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 22 关注
  • 快应用

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

    15 引用 • 127 回帖 • 8 关注