I2P+ поддерживает четыре встроенные темы и полную настройку через файлы override.css. Темы охватывают консоль маршрутизатора и все веб-приложения.
Четыре темы включены из коробки:
Темы применяются к консоли маршрутизатора и всем веб-приложениям (SusiMail, SusiDNS, I2PSnark, страница входа). Когда routerconsole.universal.theme=true, все веб-приложения используют одну тему. Когда false, каждое веб-приложение может иметь собственный выбор темы.
Установите активную тему в консоли маршрутизатора в Конфигурация → Интерфейс или отредактируйте router.config:
routerconsole.theme=dark
Допустимые значения — любое имя каталога темы в docs/themes/console/.
override.css — основной механизм настройки. Это файл CSS, созданный пользователем и размещённый в каталоге темы. Поскольку он загружается после всего остального CSS, любое правило в override.css имеет приоритет над темами по умолчанию.
override.css в $I2P/docs/themes/console/<theme>/override.css/* Переопределение тёмной темы поворотом цветового тона на синий */
html {
filter: hue-rotate(120deg);
}
body {
background: repeating-linear-gradient(to right, rgba(0,0,0,0.8) 1px,
rgba(0,0,0,0.8) 2px, rgba(0,0,32,0.6) 3px) #000;
}
img, #sb_localtunnels img, .sb *::before, #routerlogs li, .tunnelBuildStatus {
filter: hue-rotate(-120deg) !important;
}
Однострочное переопределение может полностью изменить цветовую схему:
/* Превратить зелёную тему в океанскую синюю */
html { filter: hue-rotate(120deg); }
/* Обратный поворот изображений, чтобы они сохранили естественные цвета */
img { filter: hue-rotate(-120deg) !important; }
Чтобы применить override.css ко всем веб-приложениям, создайте его в каталоге темы каждого веб-приложения или создайте символическую ссылку:
ln -s ../console/dark/override.css $I2P/docs/themes/susimail/dark/override.css
ln -s ../console/dark/override.css $I2P/docs/themes/susidns/dark/override.css
ln -s ../console/dark/override.css $I2P/docs/themes/snark/dark/override.css
Каждая тема поставляется с примерами файлов переопределений, которые можно переименовать для активации:
override.css.ocean.blue — поворот на синий/холодный тонoverride.css.purple — фиолетовые тонаoverride.css.red — красные акцентыoverride.css.charcoal — тёмный вариант светлой темыoverride.css.flat — плоский дизайн без градиентовoverride.css.lowlight — сниженная яркостьoverride.css.solar.green — соляризованная зелёнаяoverride.css.solarsurprise — вариант соляризацииoverride.css.purple — фиолетовые тонаmkdir -p $I2P/docs/themes/console/mytheme/images
global.cssОпределите пользовательские свойства CSS. Минимум:
:root {
--a: #494;
--active: #f90;
--hover: #f60;
--ink: #ee9;
--ink_bright: #aa3;
--bodybg: #000;
--border: 1px solid #242;
--btn: linear-gradient(180deg, #001000, #000);
--badge: linear-gradient(180deg, #020, #010);
}
console.css@import url(global.css);
@import url(../shared.css);
@import url(../images/itooplus.css);
body {
background: var(--bodybg);
color: var(--ink);
}
a { color: var(--a); }
a:hover { color: var(--hover); }
Разместите как минимум:
images/thumbnail.png — миниатюра 48×48 для выбораimages/i2plogo.png — логотип консолиimages/favicon.svg — иконка сайтаДля каждого веб-приложения создайте параллельный каталог со собственным CSS, импортирующим global.css консоли:
$I2P/docs/themes/susimail/mytheme/susimail.css
$I2P/docs/themes/susidns/mytheme/susidns.css
$I2P/docs/themes/snark/mytheme/snark.css
$I2P/docs/themes/login/mytheme/login.css
Установите в консоли маршрутизатора → Конфигурация → Интерфейс или отредактируйте router.config:
routerconsole.theme=mytheme