Vanessa 2026-01-09 10:47:58 +08:00
parent f8e49f4e13
commit 8db86ce6ca
5 changed files with 28 additions and 27 deletions

View file

@ -1,7 +1,7 @@
import {addScript} from "../util/addScript";
import {Constants} from "../../constants";
import {focusByOffset} from "../util/selection";
import {setCodeTheme} from "../../util/assets";
import {setCodeTheme} from "./util";
export const highlightRender = (element: Element, cdn = Constants.PROTYLE_CDN, zoom = 1) => {
let codeElements: NodeListOf<Element>;

View file

@ -1,5 +1,6 @@
import {isInEmbedBlock} from "../util/hasClosest";
import {Constants} from "../../constants";
import {addStyle} from "../util/addStyle";
export const genIconHTML = (element?: false | HTMLElement, actions = ["edit", "more"]) => {
let enable = true;
@ -47,3 +48,26 @@ export const processClonePHElement = (item: Element) => {
});
return item;
};
export const setCodeTheme = (cdn = Constants.PROTYLE_CDN) => {
const protyleHljsStyle = document.getElementById("protyleHljsStyle") as HTMLLinkElement;
let css;
if (window.siyuan.config.appearance.mode === 0) {
css = window.siyuan.config.appearance.codeBlockThemeLight;
if (!Constants.SIYUAN_CONFIG_APPEARANCE_LIGHT_CODE.includes(css)) {
css = "default";
}
} else {
css = window.siyuan.config.appearance.codeBlockThemeDark;
if (!Constants.SIYUAN_CONFIG_APPEARANCE_DARK_CODE.includes(css)) {
css = "github-dark";
}
}
const href = `${cdn}/js/highlight.js/styles/${css}.min.css?v=11.11.1`;
if (!protyleHljsStyle) {
addStyle(href, "protyleHljsStyle");
} else if (!protyleHljsStyle.href.includes(href)) {
protyleHljsStyle.remove();
addStyle(href, "protyleHljsStyle");
}
};