如果您有带有 PolyGerrit UI 的 Gerrit 3+,您将无法再使用GerritSiteHeaders.html
和GerritSite.css
为此,应该添加一个自定义.js
插件
标识
把你的标志/gerrit_root/static/logo.png
和你的插件放到/gerrit_root/plugins/plugin.js
这是一个插件的 hacky 示例,它分别为深色和浅色主题添加了深色和浅色徽标(可能有更好的方法,但这个方法有效)
Gerrit.install(plugin => {
const domHook = plugin.hook('header-title', {replace: true});
domHook.onAttached(element => {
console.log(plugin);
const img = document.createElement("img");
if (document.getElementById('dark-theme') == null) {
img.src = "/static/dark.png";
} else {
img.src = "/static/light.png";
}
img.height = 24;
img.align = "top";
element.appendChild(img);
});
});
在某些版本中,更改主题后需要刷新页面,但最新版本会自行刷新。
颜色和款式
要更改颜色,您可以在新插件中覆盖样式:
const customTheme = document.createElement('dom-module');
customTheme.innerHTML = `
<template>
<style>
html {
// Here's how you can change default background
--background-color-primary: yellow;
// This is how to make header Qt Green
--header-background-color: #41cd52;
// You can change header's border as well
// And you can use existing css variables
--header-border-bottom: 1px solid var(--border-color);
}
</style>
</template>
`;
customTheme.register('theme-plugin');
const darkCustomTheme = document.createElement('dom-module');
darkCustomTheme.innerHTML = `
<template>
<style>
html {
// The same way you can modify dark theme
--primary-text-color: red;
}
</style>
</template>
`;
darkCustomTheme.register('dark-theme-plugin');
Gerrit.install(plugin => {
plugin.registerStyleModule('app-theme', 'theme-plugin');
plugin.registerStyleModule('app-theme-dark', 'dark-theme-plugin');
// LOGO related stuff from above and everything else
});
查看一些示例:polygerrit-ui/app/samples/
具有类似答案的相关问题