Fix markdown monospace in headings

This commit is contained in:
2025-08-03 10:08:03 +02:00
parent 0acab0413c
commit 2fb9908329
6 changed files with 65 additions and 42 deletions

View File

@ -11,10 +11,11 @@ use crate::{
file_editor::{FileEditor, SaveStatus},
folder::Folder,
preferences::Preferences,
text_styles::{H1, H1_MONO, H2, H2_MONO, H3, H3_MONO, H4, H4_MONO, H5, H5_MONO, H6, H6_MONO},
util::{GuiSender, file_mtime, log_error},
};
use egui::{
Align, Button, Context, FontData, FontDefinitions, FontId, Image, Key, Modifiers,
Align, Button, Context, FontData, FontDefinitions, FontFamily, FontId, Image, Key, Modifiers,
PointerButton, RichText, ScrollArea, Theme, Widget, include_image,
};
use eyre::eyre;
@ -190,35 +191,35 @@ impl App {
.map(|(name, data)| (name.to_string(), Arc::new(FontData::from_static(data))))
.collect();
fonts.families.insert(
egui::FontFamily::Proportional,
vec!["IosevkaAile-Regular".into()],
);
fonts
.families
.insert(FontFamily::Proportional, vec!["IosevkaAile-Regular".into()]);
fonts
.families
.insert(egui::FontFamily::Monospace, vec!["Iosevka-Thin".into()]);
.insert(FontFamily::Monospace, vec!["Iosevka-Thin".into()]);
cc.egui_ctx.set_fonts(fonts);
// markdown font styles
for theme in [Theme::Dark, Theme::Light] {
cc.egui_ctx.style_mut_of(theme, |style| {
for (name, size) in [
("H1", 28.0),
("H2", 26.0),
("H3", 24.0),
("H4", 22.0),
("H5", 20.0),
("H6", 18.0),
for (name, size, family) in [
(H1, 28.0, FontFamily::Proportional),
(H2, 26.0, FontFamily::Proportional),
(H3, 24.0, FontFamily::Proportional),
(H4, 22.0, FontFamily::Proportional),
(H5, 20.0, FontFamily::Proportional),
(H6, 18.0, FontFamily::Proportional),
(H1_MONO, 28.0, FontFamily::Monospace),
(H2_MONO, 26.0, FontFamily::Monospace),
(H3_MONO, 24.0, FontFamily::Monospace),
(H4_MONO, 22.0, FontFamily::Monospace),
(H5_MONO, 20.0, FontFamily::Monospace),
(H6_MONO, 18.0, FontFamily::Monospace),
] {
style.text_styles.insert(
egui::TextStyle::Name(name.into()),
FontId {
size,
family: egui::FontFamily::Proportional,
},
);
let name = egui::TextStyle::Name(name.into());
style.text_styles.insert(name, FontId { size, family });
}
});
}