mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2025-10-28 08:31:25 +00:00
Improve code block color theming (#16325)
* feat: Improve code block theming * chore: update webui build output * chore: Update webui static build
This commit is contained in:
committed by
GitHub
parent
1104ca1a1c
commit
2a9b63383a
Binary file not shown.
@@ -37,8 +37,8 @@
|
|||||||
--sidebar-accent-foreground: oklch(0.205 0 0);
|
--sidebar-accent-foreground: oklch(0.205 0 0);
|
||||||
--sidebar-border: oklch(0.922 0 0);
|
--sidebar-border: oklch(0.922 0 0);
|
||||||
--sidebar-ring: oklch(0.708 0 0);
|
--sidebar-ring: oklch(0.708 0 0);
|
||||||
--code-background: oklch(0.225 0 0);
|
--code-background: oklch(0.975 0 0);
|
||||||
--code-foreground: oklch(0.875 0 0);
|
--code-foreground: oklch(0.145 0 0);
|
||||||
--layer-popover: 1000000;
|
--layer-popover: 1000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,6 +74,8 @@
|
|||||||
--sidebar-accent-foreground: oklch(0.985 0 0);
|
--sidebar-accent-foreground: oklch(0.985 0 0);
|
||||||
--sidebar-border: oklch(1 0 0 / 10%);
|
--sidebar-border: oklch(1 0 0 / 10%);
|
||||||
--sidebar-ring: oklch(0.556 0 0);
|
--sidebar-ring: oklch(0.556 0 0);
|
||||||
|
--code-background: oklch(0.225 0 0);
|
||||||
|
--code-foreground: oklch(0.875 0 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@theme inline {
|
@theme inline {
|
||||||
|
|||||||
@@ -8,9 +8,13 @@
|
|||||||
import rehypeKatex from 'rehype-katex';
|
import rehypeKatex from 'rehype-katex';
|
||||||
import rehypeStringify from 'rehype-stringify';
|
import rehypeStringify from 'rehype-stringify';
|
||||||
import { copyCodeToClipboard } from '$lib/utils/copy';
|
import { copyCodeToClipboard } from '$lib/utils/copy';
|
||||||
import 'highlight.js/styles/github-dark.css';
|
import { browser } from '$app/environment';
|
||||||
import 'katex/dist/katex.min.css';
|
import 'katex/dist/katex.min.css';
|
||||||
|
|
||||||
|
import githubDarkCss from 'highlight.js/styles/github-dark.css?inline';
|
||||||
|
import githubLightCss from 'highlight.js/styles/github.css?inline';
|
||||||
|
import { mode } from 'mode-watcher';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
content: string;
|
content: string;
|
||||||
class?: string;
|
class?: string;
|
||||||
@@ -21,6 +25,26 @@
|
|||||||
let containerRef = $state<HTMLDivElement>();
|
let containerRef = $state<HTMLDivElement>();
|
||||||
let processedHtml = $state('');
|
let processedHtml = $state('');
|
||||||
|
|
||||||
|
function loadHighlightTheme(isDark: boolean) {
|
||||||
|
if (!browser) return;
|
||||||
|
|
||||||
|
const existingThemes = document.querySelectorAll('style[data-highlight-theme]');
|
||||||
|
existingThemes.forEach((style) => style.remove());
|
||||||
|
|
||||||
|
const style = document.createElement('style');
|
||||||
|
style.setAttribute('data-highlight-theme', 'true');
|
||||||
|
style.textContent = isDark ? githubDarkCss : githubLightCss;
|
||||||
|
|
||||||
|
document.head.appendChild(style);
|
||||||
|
}
|
||||||
|
|
||||||
|
$effect(() => {
|
||||||
|
const currentMode = mode.current;
|
||||||
|
const isDark = currentMode === 'dark';
|
||||||
|
|
||||||
|
loadHighlightTheme(isDark);
|
||||||
|
});
|
||||||
|
|
||||||
let processor = $derived(() => {
|
let processor = $derived(() => {
|
||||||
return remark()
|
return remark()
|
||||||
.use(remarkGfm) // GitHub Flavored Markdown
|
.use(remarkGfm) // GitHub Flavored Markdown
|
||||||
|
|||||||
Reference in New Issue
Block a user