自动获取当前标题下 13 种背景色和文字颜色
先切换到自己喜欢的主题 将下面 js 代码放到 设置-外观-自定义 JS 注意是 JS!!!
然后重新启动思源笔记 将会弹出对话框 然后获取的 CSS 代码直接到剪切板上 直接粘贴到任意处即可
最后将获取到的 CSS 代码 复制到自定义 CSS 上即可 (换任何主题也是固定喜欢主题的 13 种背景色和文字颜色)
注意:如果要明亮和暗色不同主题的话 先获取明亮主题,再获取一遍暗色主题,然后分别修改 root 后面的代码已标注,分别改成明亮的 CSS 代码和暗色的 CSS 代码同时用就可以了
function exportThemeColorsToClipboard() {
try {
const rootStyles = getComputedStyle(document.documentElement);
const colorRules = [];
const backgroundRules = [];
// 循环遍历1到13号颜色
for (let i = 1; i <= 13; i++) {
const colorVarName = `--b3-font-color${i}`;
const bgVarName = `--b3-font-background${i}`;
const colorValue = rootStyles.getPropertyValue(colorVarName).trim();
const bgValue = rootStyles.getPropertyValue(bgVarName).trim();
if (colorValue) {
colorRules.push(` ${colorVarName}: ${colorValue} !important;`);
}
if (bgValue) {
backgroundRules.push(` ${bgVarName}: ${bgValue} !important;`);
}
}
// 按照您的要求,格式化为最终的CSS文本
const finalCss = `/*
* :root[data-theme-mode=dark] { 为暗色模式下
* :root[data-theme-mode=light] { 为明亮模式下
* 当前是所有模式下
*/
:root {
/* 自定义文字颜色 */
${colorRules.join('\n')}
/* 自定义背景颜色 */
${backgroundRules.join('\n')}
}`;
// 使用 Clipboard API 复制到剪贴板
navigator.clipboard.writeText(finalCss).then(() => {
// 成功后只弹出这一个提示
alert('当前主题的颜色CSS代码已成功生成并复制到剪贴板!');
console.log('生成的CSS代码已复制到剪贴板:\n', finalCss);
}).catch(err => {
// 失败时不再弹窗,只在控制台提示,避免打扰
console.error('无法自动复制到剪贴板,但内容可能已成功复制,请检查。错误信息:', err);
console.log('如果复制失败,请从上方手动复制生成的CSS代码。');
});
} catch (error) {
console.error('导出主题颜色时出错:', error);
alert('导出主题颜色时发生错误,详情请查看开发者工具(F12)的控制台。');
}
}
/*
* 延迟执行脚本,以确保思源笔记的主题已经完全加载。
*/
setTimeout(exportThemeColorsToClipboard, 1500); // 延迟1.5秒执行
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于