[提议] 增加公共主题 css 文件, 无论使用哪个主题, 该 css 都会生效

本贴最后更新于 796 天前,其中的信息可能已经沧海桑田

目前修改 css 只能针对特定主题,

但是有些 css 希望能在所有主题中都生效,

因此建议增加一个公共的 theme.css 文件,比如位于

SiYuan\conf\appearance\themes\theme.css

同时建议增加一个选项,用来控制全局 css 是否生效,用于在体验主题时防止外部 css 干扰,等到对主题满意之后,可以再启用生效,对所有主题进行统一魔改

是否支持?

单选 不公开 已于 2022-10-17 12:37:00 结束 29 票
yes
93% 27 票
no
6% 2 票
随意
0% 0 票

  • 思源笔记

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

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

    22357 引用 • 89468 回帖 • 1 关注
1 操作
iamqiz 在 2022-09-18 15:35:06 更新了该帖

相关帖子

欢迎来到这里!

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

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

    很好的建议,不过部分主题作者之前已经达成了一致,比如 dark+ 主题,OneNote 主题,主题文件夹里边都有一个名称为 custom.css 的文件,把这个文件放在 SiYuan\data\widgets 路径下,所有的修改都可以生效,并且主题更新也不会覆盖这些自定义修改,另外还可以多端同步。如果你正在使用的主题其主题文件夹里边没有 custom.css 文件,说明该主题作者没有在自己的主题中引入这个文件,这样修改不会在这个主题中生效。

    1 回复
  • 其他回帖
  • 支持 css 和 js 主题代码片段,可以不依赖主题就启用

  • iamqiz 1 评论
    作者

    @Vanessa

    @88250

    顺便支持下公共 js 文件? 光有 css 没 js ,可定制性也不够高 😳

    Issue #5066 · siyuan-note/siyuan 这个搁置了,等反链面板改完就写
    Vanessa 1 赞同
  • iamqiz 1 1 赞同 4 评论
    作者

    官方支持最好了,不需要每个主题作者特意去支持了,

    dark+ 的这个 css 文件我知道,当时还纳闷为啥放 data/widgets 里,现在懂了是为了同步,但放 widget 里容易让人迷惑.

    放在 data 外面也有好处,就是不同平台可以有不同的 css,比如电脑端和手机端,因为不参与同步,所以互不影响

    所以一个兼顾的方案可以这样:

    data 外面和 data 里面各有一个公共 css 文件,名为 theme.css 或 custom.css ,

    data 里面用于多平台同步,data 外面用于各平台定制,但不能同步

    同时 data 里面增加各个平台定制的 css 文件,命名为 theme-< 平台名称 >.css ,

    加载顺序 为

    • data 内 theme.css
    • data 内 theme-< 平台名称 >.css ,根据平台选择性加载
    • data 外 theme.css
    1 操作
    iamqiz 在 2022-09-18 15:10:55 更新了该回帖
    其实不用为各个平台定制样式, 因为通过 #editor 选择器就可以区分移动端界面与桌面端(Web 端)界面了
    shuoying
    @shuoying 萌佬厉害呀,来个 demo😃 思源系统自带 css 是按 app/desktop/mobile 三个目录区分的,所以我就想到按文件名进行区分了,能通过选择器区分很 nice
    iamqiz
    @iamqiz 可以使用桌面浏览器访问 http://localhost:6806/stage/build/mobile 调试移动端的样式
    shuoying
    @shuoying 懂了,多了个 id=editor,拴 Q🤗
    iamqiz

推荐标签 标签

  • 音乐

    你听到信仰的声音了么?

    60 引用 • 511 回帖
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    729 引用 • 1327 回帖 • 1 关注
  • webpack

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

    41 引用 • 130 回帖 • 261 关注
  • 学习

    “梦想从学习开始,事业从实践起步” —— 习近平

    169 引用 • 506 回帖
  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖
  • Quicker

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

    32 引用 • 131 回帖 • 2 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 764 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 232 回帖 • 4 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 589 关注
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖 • 4 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    179 引用 • 995 回帖
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 212 关注
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 391 关注
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    125 引用 • 169 回帖
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 114 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    176 引用 • 815 回帖
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 62 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖 • 1 关注
  • 电影

    这是一个不能说的秘密。

    120 引用 • 599 回帖
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    568 引用 • 3532 回帖 • 1 关注
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    266 引用 • 665 回帖 • 1 关注
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1063 引用 • 3453 回帖 • 204 关注
  • SVN

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

    29 引用 • 98 回帖 • 680 关注
  • CodeMirror
    1 引用 • 2 回帖 • 129 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    179 引用 • 407 回帖 • 488 关注