Add a warning when a Font Awesome font is missing
With the migration to Font Awesome 6, I'm running into books where the icon names are missing or have changed. This adds a warning to help identify those situations.
This commit is contained in:
parent
7e5fa3565b
commit
b3bd103742
2 changed files with 21 additions and 10 deletions
|
|
@ -977,19 +977,29 @@ where
|
||||||
new_classes += class;
|
new_classes += class;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if icon.is_empty() {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if !icon.is_empty()
|
match fa::svg(type_, &icon) {
|
||||||
&& let Ok(svg) = fa::svg(type_, &icon)
|
Ok(svg) => {
|
||||||
{
|
let mut span = Element::new("span");
|
||||||
let mut span = Element::new("span");
|
span.insert_attr("class", new_classes.into());
|
||||||
span.insert_attr("class", new_classes.into());
|
for (name, value) in &i_el.attrs {
|
||||||
for (name, value) in &i_el.attrs {
|
if *name != attr_qual_name!("class") {
|
||||||
if *name != attr_qual_name!("class") {
|
span.attrs.insert(name.clone(), value.clone());
|
||||||
span.attrs.insert(name.clone(), value.clone());
|
}
|
||||||
}
|
}
|
||||||
|
*node.value() = Node::Element(span);
|
||||||
|
node.append(Node::RawData(svg.into()));
|
||||||
|
}
|
||||||
|
Err(e) => {
|
||||||
|
warn!(
|
||||||
|
"failed to find Font Awesome icon for icon `{icon}` \
|
||||||
|
with type `{type_}` in `{}`: {e}",
|
||||||
|
self.options.path.display()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
*node.value() = Node::Element(span);
|
|
||||||
node.append(Node::RawData(svg.into()));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,7 @@ fn fontawesome() {
|
||||||
cmd.expect_stderr(str![[r#"
|
cmd.expect_stderr(str![[r#"
|
||||||
INFO Book building has started
|
INFO Book building has started
|
||||||
INFO Running the html backend
|
INFO Running the html backend
|
||||||
|
WARN failed to find Font Awesome icon for icon `does-not-exist` with type `regular` in `fa.md`: Invalid Font Awesome icon name: visit https://fontawesome.com/icons?d=gallery&m=free to see valid names
|
||||||
INFO HTML book written to `[ROOT]/book`
|
INFO HTML book written to `[ROOT]/book`
|
||||||
|
|
||||||
"#]]);
|
"#]]);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue