diff options
Diffstat (limited to 'server/tools/src')
-rw-r--r-- | server/tools/src/book.rs | 8 | ||||
-rw-r--r-- | server/tools/src/book_html.rs | 22 | ||||
-rw-r--r-- | server/tools/src/diagram_dot.rs | 3 | ||||
-rw-r--r-- | server/tools/src/main.rs | 3 | ||||
-rw-r--r-- | server/tools/src/recipe_diagram.rs | 4 |
5 files changed, 23 insertions, 17 deletions
diff --git a/server/tools/src/book.rs b/server/tools/src/book.rs index a125375b..3e04b54f 100644 --- a/server/tools/src/book.rs +++ b/server/tools/src/book.rs @@ -18,6 +18,7 @@ use crate::{diagram_layout::diagram_layout, recipe_diagram::recipe_diagram}; use anyhow::Result; +use hurrycurry_locale::trm; use hurrycurry_protocol::{ Gamedata, Message, book::{Book, BookPage}, @@ -54,7 +55,10 @@ static RECIPE_PAGES: &[RecipePageParams] = &[ pub fn book(data: &Gamedata, serverdata: &Serverdata) -> Result<Book> { let mut pages = Vec::new(); - pages.push(BookPage::Contents { table: vec![] }); + pages.push(BookPage::Contents { + title: trm!("b.toc"), + table: vec![], + }); let mut toc = Vec::new(); for &RecipePageParams { name, repr_items } in RECIPE_PAGES { @@ -75,7 +79,7 @@ pub fn book(data: &Gamedata, serverdata: &Serverdata) -> Result<Book> { }); } - if let BookPage::Contents { table } = &mut pages[0] { + if let BookPage::Contents { table, .. } = &mut pages[0] { *table = toc; } Ok(Book { pages }) diff --git a/server/tools/src/book_html.rs b/server/tools/src/book_html.rs index 089fc8f9..f915444b 100644 --- a/server/tools/src/book_html.rs +++ b/server/tools/src/book_html.rs @@ -16,6 +16,7 @@ */ +use hurrycurry_locale::Locale; use hurrycurry_protocol::{ Gamedata, Message, book::{Book, BookPage, Diagram}, @@ -23,12 +24,12 @@ use hurrycurry_protocol::{ use crate::diagram_svg::diagram_svg; -pub fn render_html_book(data: &Gamedata, book: &Book) -> String { - BookR { book, data }.to_string() +pub fn render_html_book(data: &Gamedata, book: &Book, locale: &Locale) -> String { + BookR { book, data, locale }.to_string() } markup::define! { - BookR<'a>(data: &'a Gamedata, book: &'a Book) { + BookR<'a>(data: &'a Gamedata, book: &'a Book, locale: &'a Locale) { @markup::doctype() html { head { @@ -37,12 +38,12 @@ markup::define! { } body { @for (index, page) in book.pages.iter().enumerate() { - @PageR { data, page, index } + @PageR { data, locale, page, index } } } } } - PageR<'a>(index: usize, data: &'a Gamedata, page: &'a BookPage) { + PageR<'a>(index: usize, data: &'a Gamedata, locale: &'a Locale, page: &'a BookPage) { section.pagegroup[id=format!("page{index}")] { @match page { BookPage::Cover => { @@ -51,8 +52,8 @@ markup::define! { } BookPage::Recipe { title, description, diagram } => { div.page { - h1 { @MessageR { data, message: title } } - p { @MessageR { data, message: description } } + h1 { @MessageR { data, locale, message: title } } + p { @MessageR { data, locale, message: description } } } div.page { @DiagramR { data, diagram } @@ -62,10 +63,11 @@ markup::define! { div.page {} div.page {} } - BookPage::Contents { table } => { + BookPage::Contents { title, table } => { div.page { + h1 { @MessageR { data, locale, message: title } } ol { @for (label, page) in table { - li { a[href=format!("#page{page}")] { @MessageR { data, message: label } } } + li { a[href=format!("#page{page}")] { @MessageR { data, locale, message: label } } } }} } div.page {} @@ -74,7 +76,7 @@ markup::define! { } } - MessageR<'a>(data: &'a Gamedata, message: &'a Message) { + MessageR<'a>(data: &'a Gamedata, locale: &'a Locale, message: &'a Message) { @match message { Message::Translation { id, params } => { @format!("{:?}", (id, params)) } Message::Text(t) => { @t } diff --git a/server/tools/src/diagram_dot.rs b/server/tools/src/diagram_dot.rs index f5c4714b..fb223dbf 100644 --- a/server/tools/src/diagram_dot.rs +++ b/server/tools/src/diagram_dot.rs @@ -16,6 +16,7 @@ */ +use crate::diagram_svg::node_color; use anyhow::{Result, bail}; use hurrycurry_protocol::{ Gamedata, Message, @@ -27,8 +28,6 @@ use std::{ process::{Command, Stdio}, }; -use crate::diagram_svg::node_color; - pub fn diagram_dot_svg(data: &Gamedata, diagram: &Diagram) -> Result<String> { let mut child = Command::new("dot") .arg("-Tsvg") diff --git a/server/tools/src/main.rs b/server/tools/src/main.rs index 4a22cf8c..d7e5137a 100644 --- a/server/tools/src/main.rs +++ b/server/tools/src/main.rs @@ -39,6 +39,7 @@ use crate::{ }; use anyhow::Result; use clap::Parser; +use hurrycurry_locale::FALLBACK_LOCALE; use hurrycurry_server::data::DataIndex; #[derive(Parser)] @@ -106,7 +107,7 @@ fn main() -> Result<()> { index.reload()?; let (data, serverdata, _) = index.generate("5star")?; let book = book(&data, &serverdata)?; - println!("{}", render_html_book(&data, &book)) + println!("{}", render_html_book(&data, &book, &FALLBACK_LOCALE)) } Action::MapDemands { map } => { let mut index = DataIndex::default(); diff --git a/server/tools/src/recipe_diagram.rs b/server/tools/src/recipe_diagram.rs index b463e3b6..a1ac7efd 100644 --- a/server/tools/src/recipe_diagram.rs +++ b/server/tools/src/recipe_diagram.rs @@ -185,10 +185,10 @@ fn merge_combine_clusters(diag: &mut Diagram) { if outputs .iter() - .all(|&(ei, ni)| diag.nodes[ni].style.is_procuct()) + .all(|&(_, ni)| diag.nodes[ni].style.is_procuct()) && inputs .iter() - .all(|&(ei, ni)| diag.nodes[ni].style.is_procuct()) + .all(|&(_, ni)| diag.nodes[ni].style.is_procuct()) { let mut to_remove = inputs .iter() |