Support dark/light theme images in markdown (#36922)

This PR matches GitHub's behavior more closely on how to render Markdown
images in light/dark mode.
Images with source suffix `#gh-dark-mode-only` / `#gh-light-mode-only`
will only show when the correct theme is requested.
Closes: #35545

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
Mykhailo
2026-03-21 13:44:33 +01:00
committed by GitHub
parent 0e0cf7a813
commit ee009ebec8
2 changed files with 21 additions and 0 deletions

View File

@@ -2,3 +2,14 @@ import './polyfills.ts';
import './relative-time.ts';
import './origin-url.ts';
import './overflow-menu.ts';
import {isDarkTheme} from '../utils.ts';
function initPageThemeDarkLight() {
// Set page's theme color preference as early as possible, to avoid flicker of wrong theme color during page load.
const sync = () => document.documentElement.setAttribute('data-gitea-theme-dark', String(isDarkTheme()));
sync();
// Track system theme changes in case Gitea is using "auto" theme.
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', sync);
}
initPageThemeDarkLight();