news 2026/9/11 11:02:53

copyparty 主题定制完整指南:3 步换掉默认界面

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
copyparty 主题定制完整指南:3 步换掉默认界面

copyparty 主题定制完整指南:3 步换掉默认界面

【免费下载链接】copypartyPortable file server with accelerated resumable uploads, dedup, WebDAV, SFTP, FTP, TFTP, zeroconf, media indexer, thumbnails++ all in one file项目地址: https://gitcode.com/GitHub_Trending/co/copyparty

你的文件服务器还长着一样的脸?copyparty 的内置文件浏览器自带一套完整的主题定制能力:10 套内置主题、CSS 变量改色、外挂自定义样式表,一条命令行参数就能切换,改完刷新页面立刻生效。

上手之前你需要知道的一件事

copyparty 的界面配色几乎全部由 CSS 变量驱动:页面上成千上万处颜色,最终都指向--fg--bg-d1这类变量。所谓换主题,本质就是给<html>元素换一个类名,再用一组变量覆盖把整站配色换掉——改 CSS 变量 = 换皮肤。默认样式定义在copyparty/web/ui.csscopyparty/web/browser.css,社区现成主题放在contrib/themes/目录。你完全不需要动这些文件,只需要在自己的 webroot 里放文件、在启动参数里指路。

三步换掉默认界面

第 1 步:用 --theme 切内置主题

不想写一行 CSS?内置 10 套主题直接按编号选:偶数是深色、奇数是浅色变体,启动时带上参数即可。

copyparty --theme=6

打开页面你会看到 hacker 主题的绿字代码风。把 6 换成别的编号试试:0 经典暗色、2 pm-monokai、4 vice、8 phi95 暗色。页面右上角菜单里也有主题下拉框,随时切换,不用重启服务。

第 2 步:用 --css-browser 外挂自定义 CSS

想换背景图、调圆角、加品牌色?把样式表丢进 webroot 下的.themes文件夹,启动时告诉 copyparty 去加载它:

copyparty --css-browser=/.themes/bsod.css

重启后页面会额外引入这份 CSS,效果直接叠加在默认主题上。仓库自带的contrib/themes/bsod.css就是现成例子——复制到你的.themes目录,立刻体验"蓝屏"风格。

第 3 步:写一个最小自定义主题,覆盖配色变量

前两步用的都是别人调好的配方,现在轮到你调自己的。新建/.themes/my.css,只写一个类选择器加几个变量:

html.ey { --fg: #e0e0e0; --fg-max: #fff; --bg-d1: #101018; --bg-u2: #1c1c26; --bg-u5: #2a2a38; }

然后这样启动,刷新页面整站就按你的配色渲染了:

copyparty --theme=9 --css-browser=/.themes/my.css

--theme=9负责让页面挂上html.ey这个类(第 8/9 号主题对应的空槽),你的 CSS 负责往这个类里填变量——contrib/themes/bsod.csshtml.ey的写法可以直接抄。

copyparty 换肤速查:改色只盯这 6 个变量

别被满屏变量吓到,改配色时你 90% 的时间只用得到下面这几个(全部可在copyparty/web/ui.css开头找到原始值):

变量作用示例值
--fg正文文字颜色#e0e0e0
--fg-max高亮、强调文字#fff
--fg-weak弱化文字(时间、文件大小)#999
--bg-d1页面主背景#101018
--bg-u2面板、弹窗背景#1c1c26
--bg-u5悬停高亮底色#2a2a38

改色思路很简单:先定--bg-d1--bg-d2定基调,再让--fg保证对比度,最后用--bg-u2--bg-u5调层次感。

踩过的坑

  • 加了--css-browser但样式纹丝不动→ 文件不在 webroot 里,URL 根本解析不到。解法:CSS 放进你启动 copyparty 的 webroot 目录(如.themes/),参数里用绝对路径/.themes/my.css

  • 改了--theme数字,页面却没变→ 浏览器 localStorage 里存着上次选过的主题(键名cpp_thm),它的优先级高于启动参数。解法:在页面右上角菜单里手动重选一次主题,或用无痕窗口验证启动参数是否生效。

  • 下拉框里看不到自己的主题--themes管的是"已安装主题的数量"(默认 10),不是"当前用哪个",选主题只认--theme。解法:把--themes调大(如 20)让自定义空槽进入下拉框,再用--theme选中它。

接下来去哪玩

内置主题玩腻了,去docs/目录翻配置说明,去contrib/themes/抄现成主题的结构,或者看一眼contrib/plugins/browser-icons.css——那是用插件给文件加类型图标的玩法,和 CSS 变量是同一套思路。调出满意的效果后,欢迎把你的主题按CONTRIBUTING.md的流程丢进社区,让别人的文件服务器也长点不一样的脸。

【免费下载链接】copypartyPortable file server with accelerated resumable uploads, dedup, WebDAV, SFTP, FTP, TFTP, zeroconf, media indexer, thumbnails++ all in one file项目地址: https://gitcode.com/GitHub_Trending/co/copyparty

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 11:02:44

Snipe-IT Docker部署指南:三步跑通IT资产管理系统

Snipe-IT Docker部署指南&#xff1a;三步跑通IT资产管理系统 【免费下载链接】snipe-it A free open source IT asset/license management system 项目地址: https://gitcode.com/GitHub_Trending/sn/snipe-it 想把开源的 IT 资产/许可证管理系统 Snipe-IT 跑起来&…

作者头像 李华
网站建设 2026/9/11 10:56:00

MySQL 中一条查询 SQL 是执行流程

开发过程中经常使用mysql&#xff0c;比如进行记录查询。不过很多人不清楚类似&#xff0c;"select age from t_person where id1" 是怎样执行的。下面为大家一起解剖这个问题。一、mysql的架构如上图&#xff0c;mysql分为Server层和存储引擎层。server层包括了mysq…

作者头像 李华
网站建设 2026/9/11 10:54:51

OFDM信道估计:LS与MMSE算法对比及MATLAB仿真

简介&#xff1a;正交频分复用&#xff08;OFDM&#xff09;是现代无线通信的核心技术之一&#xff0c;信道估计的准确性直接影响接收端均衡与解调性能。这份MATLAB仿真源码围绕OFDM系统的信道估计问题&#xff0c;面向通信工程专业学生、科研人员以及无线物理层算法爱好者&…

作者头像 李华
网站建设 2026/9/11 10:54:07

信号与系统1-概述

目录&#xff1a; 一、概述 1、信号与系统概念 2、信号描述、分类与典型信号 3、信号的运算 4-1、阶跃信号与冲激信号 4-2、单位脉冲与单位阶跃序列 5、信号的分解 6、系统概念及其分类 下续&#xff1a;信号与系统2-连续离散系统时域分析 一、概述 1、信号与系统概念 …

作者头像 李华
网站建设 2026/9/11 10:51:43

PCA人脸识别实战:从特征脸原理到OpenCV实时部署

简介&#xff1a;本资源是一份面向高校计算机、人工智能或模式识别课程学生的PCA人脸识别算法实践项目&#xff0c;聚焦原理讲解与Python代码实现&#xff0c;适用于期末大作业、课程设计及零基础入门实战。压缩包共8个文件&#xff0c;含6张实验结果可视化图&#xff08;如不同…

作者头像 李华