iceshrimp-legacy/src/docs/zh-CN/theme.md
2021-03-24 12:23:05 +09:00

2.6 KiB
Raw Blame History

主题

您可以设置主题来改变您的Misskey客户端的外观和质感。

设置主题

设置 > 主题

创建主题

主题代码是一个由 JSON5 编写和构成的对象。下面是一个主题对象,它看起来像是这样:

{
    id: '17587283-dd92-4a2c-a22c-be0637c9e22a',

    name: 'Danboard',
    author: 'syuilo',

    base: 'light',

    props: {
        accent: 'rgb(218, 141, 49)',
        bg: 'rgb(218, 212, 190)',
        fg: 'rgb(115, 108, 92)',
        panel: 'rgb(236, 232, 220)',
        renote: 'rgb(100, 152, 106)',
        link: 'rgb(100, 152, 106)',
        mention: '@accent',
        hashtag: 'rgb(100, 152, 106)',
        header: 'rgba(239, 227, 213, 0.75)',
        navBg: 'rgb(216, 206, 182)',
        inputBorder: 'rgba(0, 0, 0, 0.1)',
    },
}

  • id ... 该主题的唯一 ID推荐采用 UUID。
  • name ... 主题名称
  • author ... 主题作者
  • desc ... 主题的描述说明(可选)
  • base ... 浅色主题还是深色主题
    • light 为浅色主题,dark 为深色主题。
    • 该主题将继承使用的基础主题集。
  • props ... 关于主题样式的定义,下面是详细介绍。

主题样式定义

props 下,你可以定义主题的样式。 键是 CSS 变量名,值是指定的内容。 请注意,props 对象是从基础主题集继承的。 如果这个主题的 baselight,则基础主题为 _light.json5;如果 dark,则基础主题为 _dark.json5。 换句话说,即使这个主题中的 props 中没有定义关键的 panel,也会继承在基础主题中所拥有 panel

可以在值中使用的语法

  • 以十六进制表示的颜色
    • 例: #00ff00
  • rgb(r, g, b) 形式表示的颜色
    • 例: rgb(0, 255, 0)
  • rgb(r, g, b, a) 形式表示的包含透明度的颜色
    • 例: rgba(0, 255, 0, 0.5)
  • 引用其他键的值
    • @{键名} 对另一个键值的引用。请将 {键名} 替换为您要引用键名。
    • 例: @panel
  • 参照常量(见下文)
    • ${常量名} 对一个常量进行引用。请将 {常量名} 替换为您要引用常量名。
    • 例: $main
  • 函数(见下文)
    • :{函数名}<{参数}<{颜色}

常量

“我不想把它作为一个CSS变量输出但我想把它作为另一个CSS变量的值。” 你可以使用常量。如果你的键名以$开头该键将不会作为CSS变量输出。

函数

wip