news 2026/8/20 16:26:23

tt-rss-feedly-theme进阶改造:如何修改_variables.less打造你的专属配色方案?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
tt-rss-feedly-theme进阶改造:如何修改_variables.less打造你的专属配色方案?

tt-rss-feedly-theme进阶改造:如何修改_variables.less打造你的专属配色方案?

【免费下载链接】tt-rss-feedly-themeFeedly theme for Tiny Tiny RSS项目地址: https://gitcode.com/gh_mirrors/tt/tt-rss-feedly-theme

tt-rss-feedly-theme 是 Tiny Tiny RSS(自托管 RSS 阅读器)最受欢迎的 Feedly 风格主题之一。它虽然自带默认、Sepia、高对比度等九套配色,但官方 FAQ 明确说过:主题颜色在编译期就已固定,无法靠 CSS 变量修改。想要真正属于自己的专属配色方案,唯一的正路就是修改源码里的 _variables.less 并重新构建。这篇教程将带你从零看懂这个文件的每一个"颜色开关",手把手完成一次完整的配色改造。

上图中的全部变体,其实都派生自同一套 Less 变量。改对几个变量,整个主题就能"换血"。

为什么改不了颜色?先搞懂 tt-rss-feedly-theme 的配色原理

Tiny Tiny RSS 主题的文件结构非常清晰:feedly*.css是编译产物,真正的源码全部位于 src/ 目录下,用 Less 编写。你在设置里能即时调整的"字体与间距",走的是 CSS 变量(如--base-spacing--font-size-post);而所有颜色——背景、文字、强调色、边框——都是在构建时由 Less 变量计算后写死的。

一句话总结:想换专属配色,必须动_variables.less,然后重新编译。

改造前的准备工作:克隆源码并搭建构建环境

动手前先克隆仓库(构建需要 Node.js 与 npm):

git clone https://gitcode.com/gh_mirrors/tt/tt-rss-feedly-theme cd tt-rss-feedly-theme npm install

之后二选一:

  • npm start:监听 src/ 目录,改动即自动编译,适合边改边看效果;
  • npm run dist:一次性构建、压缩并产出dist/目录,适合改完直接部署。

构建脚本都定义在 package.json 中,编译入口则是各变体文件,如 feedly.less、feedly-sepia.less、feedly_night.less。⚙️

认识 _variables.less:一份完整的"配色地图"

打开 src/_variables.less,你会发现它大致分为三大区域。

① 基础色板(第 52~62 行)

@red: #d45; @orange: #e84; @green: #6b5; @blue: #39c; @default-fg: @black; // 默认前景色(文字) @default-bg: @white; // 默认背景色

@default-fg@default-bg是整套主题的"阴阳两极",几乎所有界面颜色都由它们派生而来。

② 透明度渐变刻度(第 64~95 行)

@fade1@fade9是一组递进的透明度刻度,再配合fade(@default-fg, ...)生成九档"文字色淡化"值。边框、图标、分隔线各取一档,微调即可整体改变界面的深浅层次。

③ 语义颜色(第 97~116 行)

@color-selected: @yellow; // 选中态 @color-marked: @green; // 星标 @color-published: @orange; // 已发布 @color-error: @red; // 错误提示

这里集中定义了"功能色"——星标、发布、报错各司其职,是定制个性化配色时最常动的位置。

登录、找回密码这类"工具页面"同样会被主题覆盖,改完变量后它们会自动跟随新配色。

三步打造你的专属配色方案

第一步:替换主背景与主文字色

最直观的入门改动,就是替换@default-fg@default-bg。想要米黄"纸感"?参考 Sepia 变体的写法(见 feedly-sepia.less):

@default-bg: hsl(45, 80%, 96%);

它会连带影响边框、图标、按钮等所有派生色,一步到位。

第二步:定义强调色与链接色

强调色@color-accent控制滚动条、选中项、按钮等"高光"位置;链接色@color-link控制正文链接。夜间版的琥珀强调色定义在 _night-amber.less 中:

@color-accent: #b87d2c;

把这行改成你喜欢的品牌色,整个主题的"气质"立刻不同。💡

第三步:微调对比度

觉得界面太"灰"或太"刺眼"?调整@fade*系列即可。高对比度变体就是这么做的,参考 _high-contrast.less 将@fade1100%/15提升到200%/15,层级感马上变强。

改完保存,npm start会自动重新编译,刷新 TT-RSS 页面即可看到新效果。

进阶技巧:让亮暗主题自动切换

_variables.less里有一行非常巧妙的逻辑(第 120 行):

@is-night: boolean(luma(@default-fg) > 50%);

它会自动检测前景色亮度:文字色越亮,就判定为夜间模式。夜间深色背景定义在 _night.less(@default-bg: #111)。这意味着你只需维护好@default-fg的亮度,主题就会自动走对应的一套派生逻辑,亮暗两套配色一次搞定。

常见问题排查

  • 改完没生效?确认你改的是 src/ 下的.less且已重新编译;直接改feedly.css会被构建覆盖。
  • 只想微调字体间距?不必动_variables.less,在 TT-RSS 设置的 Customize 里写 CSS 变量即可,例如--base-spacing: 30px; --font-size-post: 14px;
  • 如何定制高对比度变体?入口是 feedly-high-contrast.less 与 feedly-sepia-contrast.less,它们在_variables.less基础上二次调整了 fade 档位。
  • 不想每次手动复制文件?构建出dist/后,把feedly*.cssfeedly/目录放进 TT-RSS 的themes.local,再到偏好设置中选中即可。

移动端的偏好设置同样会被新配色覆盖,改完记得在手机上刷新确认。

结语

掌握了 _variables.less 的变量体系,你就拿到了 tt-rss-feedly-theme 配色的"总开关"。从换一档背景色,到完整复刻一套品牌专属配色方案,差的只是一次编译的时间。快去打造属于你的配色方案吧!

【免费下载链接】tt-rss-feedly-themeFeedly theme for Tiny Tiny RSS项目地址: https://gitcode.com/gh_mirrors/tt/tt-rss-feedly-theme

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

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

PDF批量修改有多简单?免费开源的PDF补丁丁5分钟速成指南

PDF批量修改有多简单?免费开源的PDF补丁丁5分钟速成指南 【免费下载链接】PDFPatcher PDF补丁丁——PDF工具箱,可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档,探查文档结构,提取图片、转成图片等等 项目地址: https://…

作者头像 李华
网站建设 2026/8/20 16:07:25

BmcWeb:log输出

BmcWeb的log函数定义于:http\logging.hpp 说实话,个人觉得这一版的log函数有点炫技,使用起来也没有之前的版本方便,不过也还是值的参考一下。 1.如何输出log BMCWEB_LOG_ERROR("GetAll on path {} iface {} service {} failed with code {}",objectPath, inte…

作者头像 李华
网站建设 2026/8/20 16:07:05

flipperzero-rs蓝牙开发:如何打造iBeacon与Eddystone广播应用

flipperzero-rs蓝牙开发:如何打造iBeacon与Eddystone广播应用 【免费下载链接】flipperzero-rs Rust on the Flipper Zero 项目地址: https://gitcode.com/gh_mirrors/flipp/flipperzero-rs flipperzero-rs 是专为 Flipper Zero 打造的 Rust 开发框架&#x…

作者头像 李华