summaryrefslogtreecommitdiff
path: root/src/generate_html.rs
diff options
context:
space:
mode:
authorBen Bridle <ben@derelict.engineering>2026-02-24 15:58:16 +1300
committerBen Bridle <ben@derelict.engineering>2026-02-24 15:58:41 +1300
commitbd8247d3fba55311b0ac8bb2458e78ec05d832d2 (patch)
tree040265206144e3ae0b5ed1289f98e41c02a8854d /src/generate_html.rs
parentac16ccabbab8c54f62fc65483cca4486d51f602c (diff)
downloadtoaster-bd8247d3fba55311b0ac8bb2458e78ec05d832d2.zip
Fix special yes/no/-- syntax for tables
These values weren't being matched correctly because whitespace wasn't trimmed beforehand.
Diffstat (limited to 'src/generate_html.rs')
-rw-r--r--src/generate_html.rs13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/generate_html.rs b/src/generate_html.rs
index 0e6ce75..467feeb 100644
--- a/src/generate_html.rs
+++ b/src/generate_html.rs
@@ -342,11 +342,12 @@ pub fn document_to_html(page: &Page, website: &Website) -> String {
for section in &table.sections {
wrap!("tbody", for row in section {
wrap!("tr", for (column, cell) in std::iter::zip(&table.columns, row) {
- let text_raw = line_to_html!(cell);
- let text = match text_raw.as_str() {
- "Yes" => "✓",
- "No" => "✗",
- other => other,
+ let text_raw = line_to_html!(cell).trim().to_string();
+ let text_cmp = text_raw.to_lowercase().to_string();
+ let text = match text_cmp.as_str() {
+ "yes" => "✓",
+ "no" => "✗",
+ _ => &text_raw,
};
let mut class = match text {
"--" => "c",
@@ -356,7 +357,7 @@ pub fn document_to_html(page: &Page, website: &Website) -> String {
Alignment::Right => "r",
},
}.to_string();
- if ["No", "--", "0"].contains(&text_raw.as_str()) {
+ if ["no", "--", "0"].contains(&text_cmp.as_str()) {
class.push_str(" dim");
};
if column.border_right {