<th:block xmlns:th="https://www.thymeleaf.org"> <style th:inline="css" th:with="fontSrc = ${theme.config.basic_style.web_font != 'default' ? theme.config.basic_style.web_font == 'custom' ? theme.config.basic_style.custom_font : #theme.assets('/font/' + theme.config.basic_style.web_font) : ''}, fontFormat = ${fontSrc.endsWith('.ttf') ? 'truetype' : fontSrc.endsWith('.eot') ? 'embedded-opentype' : fontSrc.replaceAll('^.*\.([\w]+)$', '$1')}"> [(${#strings.isEmpty(fontSrc) ? '' : ' @font-face { font-family: "Dream Font"; font-display: swap; font-weight: 400; src: url("' + fontSrc + '")' + (#strings.isEmpty(fontFormat)? '' : ' format("' + fontFormat + '")') + '; }'})] html { --theme: [(${theme.config.basic_style.theme_color})]; /*filter: [(${theme.config.enhance.enable_gray_mode ? 'grayscale(1) !important' : 'none'})];*/ [(${theme.config.enhance.cursor_style == 'breeze' ? '--cursor-default:url(/themes/theme-dream/assets/cursor/breeze/Arrow.cur),auto;--cursor-pointer:url(/themes/theme-dream/assets/cursor/breeze/Hand.cur),pointer;--cursor-text:url(/themes/theme-dream/assets/cursor/breeze/IBeam.cur),auto;--cursor-zoom-in:url(/themes/theme-dream/assets/cursor/breeze/Cross.cur),zoom-in;' : theme.config.enhance.cursor_style == 'black_cat' ? '--cursor-default:url(/themes/theme-dream/assets/cursor/black_cat/normal.cur),auto;--cursor-pointer:url(/themes/theme-dream/assets/cursor/black_cat/ayuda.cur),pointer;--cursor-text:url(/themes/theme-dream/assets/cursor/black_cat/texto.cur),auto;--cursor-zoom-in:url(/themes/theme-dream/assets/cursor/black_cat/precision.cur),zoom-in;' : theme.config.enhance.cursor_style == 'overwatch' ? '--cursor-default:url(/themes/theme-dream/assets/cursor/overwatch/pointer.cur),auto;--cursor-pointer:url(/themes/theme-dream/assets/cursor/overwatch/link.cur),pointer;--cursor-text:url(/themes/theme-dream/assets/cursor/overwatch/text.cur),auto;--cursor-zoom-in:url(/themes/theme-dream/assets/cursor/overwatch/cross.cur),zoom-in;' : theme.config.enhance.cursor_style == 'rainbow_rain' ? '--cursor-default:url(/themes/theme-dream/assets/cursor/rainbow_rain/normal.cur),auto;--cursor-pointer:url(/themes/theme-dream/assets/cursor/rainbow_rain/link.cur),pointer;--cursor-text:url(/themes/theme-dream/assets/cursor/rainbow_rain/texto.cur),auto;--cursor-zoom-in:url(/themes/theme-dream/assets/cursor/rainbow_rain/precision.cur),zoom-in;' : theme.config.enhance.cursor_style == 'marry' ? '--cursor-default:url(/themes/theme-dream/assets/cursor/marry/arrow.cur),auto;--cursor-pointer:url(/themes/theme-dream/assets/cursor/marry/arrow.cur),pointer;--cursor-text:url(/themes/theme-dream/assets/cursor/marry/beam.cur),auto;--cursor-zoom-in:url(/themes/theme-dream/assets/cursor/marry/move.cur),zoom-in;' : theme.config.enhance.cursor_style != 'none' ? '--cursor-default: url(/themes/theme-dream/assets/cursor/' + theme.config.enhance.cursor_style + '/arrow.cur), auto;--cursor-pointer: url(/themes/theme-dream/assets/cursor/' + theme.config.enhance.cursor_style + '/hand.cur), pointer;--cursor-text: url(/themes/theme-dream/assets/cursor/' + theme.config.enhance.cursor_style + '/arrow.cur), auto;--cursor-zoom-in: url(/themes/theme-dream/assets/cursor/' + theme.config.enhance.cursor_style + '/arrow.cur), zoom-in;' : ''})] } html.night { --theme: [(${theme.config.basic_style.night_theme_color})]; } body:before { [(${(theme.config.basic_style.enable_image_bg && theme.config.basic_style.theme_style != 'clean' && !#strings.isEmpty(theme.config.basic_style.background_pc)) ? 'background: url("' + theme.config.basic_style.background_pc + '") center 0 no-repeat;' : ''})] } html.night body:before { [(${(theme.config.basic_style.enable_image_bg && theme.config.basic_style.theme_style != 'clean' && !#strings.isEmpty(theme.config.basic_style.night_background_pc)) ? 'background: url("' + theme.config.basic_style.night_background_pc + '") center 0 no-repeat;' : ''})] } @media screen and (max-width: 768px) { body:before { [(${(theme.config.basic_style.enable_image_bg && theme.config.basic_style.theme_style != 'clean' && !#strings.isEmpty(theme.config.basic_style.background_mobile)) ? 'background: url("' + theme.config.basic_style.background_mobile + '") center 0 no-repeat;' : ''})] } html.night body:before { [(${(theme.config.basic_style.enable_image_bg && theme.config.basic_style.theme_style != 'clean' && !#strings.isEmpty(theme.config.basic_style.night_background_mobile)) ? 'background: url("' + theme.config.basic_style.night_background_mobile + '") center 0 no-repeat;' : ''})] } } </style> <script th:inline="javascript"> window.logger = console.log; [(${theme.config.enhance.enable_debug ? '' : ' console.logStorage = []; console.log = function (message, ...optionalParams) { console.logStorage.push(()=>window.logger(message, optionalParams)); if (console.logStorage.length > 100) { console.logStorage.shift() } }; console.logPrint = function () { for (let logItem of console.logStorage) { logItem(); } };'})] [(${#strings.isEmpty(theme.config.basic_info.copy_explain) ? '' : ' document.addEventListener("copy", function (event) { let clipboardData = event.clipboardData || window.clipboardData; if (!clipboardData) { return; } let text = window.getSelection().toString(); if (text) { event.preventDefault(); clipboardData.setData("text/plain", text + "\\n' + #strings.escapeJavaScript(theme.config.basic_info.copy_explain) + '"); } });'})] /** 主题配置 */ const DreamConfig = {}; /** 站点名 */ DreamConfig["site_title"] = [[${site.title}]]; /** 灰色模式 */ DreamConfig["gray_mode"] = [[${theme.config.enhance.gray_mode_group.enable_gray_mode}]]; DreamConfig["gray_mode_start_time"] = [[${theme.config.enhance.gray_mode_group.gray_mode_start_time}]]; DreamConfig["gray_mode_end_time"] = [[${theme.config.enhance.gray_mode_group.gray_mode_end_time}]]; /** 配置分享方式 */ let post_share = [] for (let share of [[${theme.config.post.custom_post_share}]]) { let type = share.realNode.type; if (post_share.indexOf(type) === -1) { post_share.push(type); } } if (post_share.length === 0) { post_share.push('link'); } DreamConfig["post_share_sites"] = post_share; /** 配置灯笼特效文本 */ let effects_lantern_left = [[${theme.config.enhance.effects_lantern.effects_lantern_left}]]; let effects_lantern_right = [[${theme.config.enhance.effects_lantern.effects_lantern_right}]]; if(effects_lantern_left.length > 1) { effects_lantern_left = effects_lantern_left.charAt(0); } if(effects_lantern_right.length > 1) { effects_lantern_right = effects_lantern_right.charAt(0); } DreamConfig["effects_lantern_left"] = effects_lantern_left; DreamConfig["effects_lantern_right"] = effects_lantern_right; DreamConfig["theme_version"] = [[${theme.spec.version}]]; DreamConfig["theme_base"] = "[(${#theme.assets('/')})]"; [(${!#strings.isEmpty(theme.config.post.code_fold_line)?'DreamConfig["code_fold_line"] = "' + theme.config.post.code_fold_line + '";': ''})] [(${!#strings.isEmpty(theme.config.basic_info.document_hidden_title)?'DreamConfig["document_hidden_title"] = "' + #strings.escapeJavaScript(theme.config.basic_info.document_hidden_title) + '";': ''})] [(${!#strings.isEmpty(theme.config.basic_info.document_visible_title)?'DreamConfig["document_visible_title"] = "' + #strings.escapeJavaScript(theme.config.basic_info.document_visible_title) + '";' : ''})] [(${!#strings.isEmpty(theme.config.basic_info.website_time)?'DreamConfig["website_time"] = "' + theme.config.basic_info.website_time + '";' : ''})] [(${(theme.config.sidebar.enable_color_character && !#strings.isEmpty(theme.config.sidebar.color_character))? 'DreamConfig["spark_input_content"] = ["' + #strings.escapeJavaScript(theme.config.sidebar.color_character).replace('\\n', '","') + '"]' : ''})] DreamConfig["notice_show_mode"] = '[(${theme.config.sidebar.notice_show_mode})]'; [(${(!#strings.isEmpty(theme.config.post.img_fold_height) && #numbers.sequence(theme.config.post.img_fold_height,theme.config.post.img_fold_height)[0] >= 400)?'DreamConfig["img_fold_height"] = ' + theme.config.post.img_fold_height + ';': ''})] [(${(!#strings.isEmpty(theme.config.page_config.journals_fold_height) && #numbers.sequence(theme.config.page_config.journals_fold_height,theme.config.page_config.journals_fold_height)[0] >= 260)?'DreamConfig["journals_fold_height"] = ' + theme.config.page_config.journals_fold_height + ';': ''})] [(${theme.config.enhance.cursor_move != 'none'?'DreamConfig["cursor_move"] = "' + theme.config.enhance.cursor_move + '";': ''})] [(${theme.config.enhance.cursor_click != 'none'?'DreamConfig["cursor_click"] = "' + theme.config.enhance.cursor_click + '";': ''})] [(${theme.config.enhance.effects_lantern_mode != 'none'?'DreamConfig["effects_lantern_mode"] = "' + theme.config.enhance.effects_lantern_mode + '";': ''})] [(${theme.config.enhance.effects_sakura_mode != 'none'?'DreamConfig["effects_sakura_mode"] = "' + theme.config.enhance.effects_sakura_mode + '";': ''})] [(${theme.config.enhance.effects_snowflake_mode != 'none'?'DreamConfig["effects_snowflake_mode"] = "' + theme.config.enhance.effects_snowflake_mode + '";': ''})] [(${theme.config.enhance.effects_universe_mode != 'none'?'DreamConfig["effects_universe_mode"] = "' + theme.config.enhance.effects_universe_mode + '";': ''})] [(${theme.config.enhance.effects_circle_magic_mode != 'none'?'DreamConfig["effects_circle_magic_mode"] = "' + theme.config.enhance.effects_circle_magic_mode + '";': ''})] // [(${theme.config.enhance.enable_baidu_push?'DreamConfig["enable_baidu_push"] = true;': ''})] // [(${theme.config.enhance.enable_toutiao_push?'DreamConfig["enable_toutiao_push"] = true;': ''})] [(${theme.config.post.show_img_name?'DreamConfig["show_img_name"] = true;': ''})] [(${theme.config.basic_style.load_progress != 'none'?'DreamConfig["load_progress"] = "' + theme.config.basic_style.load_progress + '";': ''})] [(${!#strings.isEmpty(theme.config.page_config.journals_share_image)?'DreamConfig["journals_share_image"] = "' + theme.config.page_config.journals_share_image + '";': ''})] [(${!#strings.isEmpty(theme.config.sidebar.meting_api)?'var meting_api = "' + theme.config.sidebar.meting_api + '";': ''})] /** 配置主题模式 */ DreamConfig["default_theme"] = '[(${theme.config.basic_style.default_theme})]'; (function(){ const hasNightInLocal = () => localStorage.getItem('night') !== null; const getNightInConfig = () => { if (DreamConfig.default_theme === 'night') { return true; } if (DreamConfig.default_theme === 'system') { return matchMedia('(prefers-color-scheme: dark)').matches; } return false; } let isNight = hasNightInLocal() ? localStorage.getItem('night') : getNightInConfig(); if (isNight.toString() === 'true') { localStorage.setItem('night', 'true'); document.documentElement.classList.add('night'); document.documentElement.classList.add('color-scheme-dark'); } else { document.documentElement.classList.add('color-scheme-light'); } })(); </script> </th:block>