Make spacing configurable in markdown::Settings
This commit is contained in:
parent
cfbeb05e32
commit
d49d4dc3fa
1 changed files with 27 additions and 8 deletions
|
|
@ -527,6 +527,8 @@ pub struct Settings {
|
||||||
pub h6_size: Pixels,
|
pub h6_size: Pixels,
|
||||||
/// The text size used in code blocks.
|
/// The text size used in code blocks.
|
||||||
pub code_size: Pixels,
|
pub code_size: Pixels,
|
||||||
|
/// The spacing to be used between elements.
|
||||||
|
pub spacing: Pixels,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Settings {
|
impl Settings {
|
||||||
|
|
@ -547,6 +549,7 @@ impl Settings {
|
||||||
h5_size: text_size,
|
h5_size: text_size,
|
||||||
h6_size: text_size,
|
h6_size: text_size,
|
||||||
code_size: text_size * 0.75,
|
code_size: text_size * 0.75,
|
||||||
|
spacing: text_size * 0.875,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -649,10 +652,9 @@ where
|
||||||
h5_size,
|
h5_size,
|
||||||
h6_size,
|
h6_size,
|
||||||
code_size,
|
code_size,
|
||||||
|
spacing,
|
||||||
} = settings;
|
} = settings;
|
||||||
|
|
||||||
let spacing = text_size * 0.625;
|
|
||||||
|
|
||||||
let blocks = items.into_iter().enumerate().map(|(i, item)| match item {
|
let blocks = items.into_iter().enumerate().map(|(i, item)| match item {
|
||||||
Item::Heading(level, heading) => {
|
Item::Heading(level, heading) => {
|
||||||
container(rich_text(heading.spans(style)).size(match level {
|
container(rich_text(heading.spans(style)).size(match level {
|
||||||
|
|
@ -675,11 +677,21 @@ where
|
||||||
}
|
}
|
||||||
Item::List { start: None, items } => {
|
Item::List { start: None, items } => {
|
||||||
column(items.iter().map(|items| {
|
column(items.iter().map(|items| {
|
||||||
row![text("•").size(text_size), view(items, settings, style)]
|
row![
|
||||||
|
text("•").size(text_size),
|
||||||
|
view(
|
||||||
|
items,
|
||||||
|
Settings {
|
||||||
|
spacing: settings.spacing * 0.6,
|
||||||
|
..settings
|
||||||
|
},
|
||||||
|
style
|
||||||
|
)
|
||||||
|
]
|
||||||
.spacing(spacing)
|
.spacing(spacing)
|
||||||
.into()
|
.into()
|
||||||
}))
|
}))
|
||||||
.spacing(spacing)
|
.spacing(spacing * 0.75)
|
||||||
.into()
|
.into()
|
||||||
}
|
}
|
||||||
Item::List {
|
Item::List {
|
||||||
|
|
@ -688,12 +700,19 @@ where
|
||||||
} => column(items.iter().enumerate().map(|(i, items)| {
|
} => column(items.iter().enumerate().map(|(i, items)| {
|
||||||
row![
|
row![
|
||||||
text!("{}.", i as u64 + *start).size(text_size),
|
text!("{}.", i as u64 + *start).size(text_size),
|
||||||
view(items, settings, style)
|
view(
|
||||||
|
items,
|
||||||
|
Settings {
|
||||||
|
spacing: settings.spacing * 0.6,
|
||||||
|
..settings
|
||||||
|
},
|
||||||
|
style
|
||||||
|
)
|
||||||
]
|
]
|
||||||
.spacing(spacing)
|
.spacing(spacing)
|
||||||
.into()
|
.into()
|
||||||
}))
|
}))
|
||||||
.spacing(spacing)
|
.spacing(spacing * 0.75)
|
||||||
.into(),
|
.into(),
|
||||||
Item::CodeBlock(code) => container(
|
Item::CodeBlock(code) => container(
|
||||||
scrollable(
|
scrollable(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue