diff --git a/Libraries/Tablegen/Source/Tablegen.cpp b/Libraries/Tablegen/Source/Tablegen.cpp index a7a0f6b..6b3084d 100644 --- a/Libraries/Tablegen/Source/Tablegen.cpp +++ b/Libraries/Tablegen/Source/Tablegen.cpp @@ -136,6 +136,9 @@ namespace Tablegen pugi::xml_node comment = table.append_child(pugi::node_comment); comment.set_value(" Autogenerated by Tablegen, please avoid editing manually. "); + pugi::xml_node preload = table.append_child("div"); + preload.append_attribute("hidden") = "hidden"; + pugi::xml_node script = table.append_child("script"); pugi::xml_node styles = table.append_child("style"); @@ -152,9 +155,26 @@ namespace Tablegen pugi::xml_node tableBody = table.append_child("tbody"); for (pugi::xml_node row; const auto& [i, character] : vw::enumerate(characters)) { + std::string imagePath = std::vformat( + settings.ImageFormat, std::make_format_args(character.ImagePath) + ); + std::string animationPath = std::vformat( + settings.AnimationFormat, std::make_format_args(character.AnimationPath) + ); + //////////////////////////////////////////////////////////////////// // HTML //////////////////////////////////////////////////////////////////// + pugi::xml_node preloadImage = preload.append_child("link"); + preloadImage.append_attribute("rel") = "preload"; + preloadImage.append_attribute("href") = imagePath; + preloadImage.append_attribute("as") = "image"; + + pugi::xml_node preloadAnimation = preload.append_child("link"); + preloadAnimation.append_attribute("rel") = "preload"; + preloadAnimation.append_attribute("href") = animationPath; + preloadAnimation.append_attribute("as") = "image"; + if (i % settings.CharactersPerRow == 0) { row = tableBody.append_child("tr"); row.append_attribute("class") = "kanji-table-row"; @@ -178,21 +198,6 @@ namespace Tablegen imageWrap.append_attribute("class") = "kanji-image-wrap"; imageWrap.append_attribute("id") = std::format("kanji-{}", i); - std::string imagePath = std::vformat( - settings.ImageFormat, std::make_format_args(character.ImagePath) - ); - std::string animationPath = std::vformat( - settings.AnimationFormat, std::make_format_args(character.AnimationPath) - ); - - pugi::xml_node prefetchImage = container.append_child("link"); - prefetchImage.append_attribute("rel") = "prefetch"; - prefetchImage.append_attribute("href") = imagePath; - - pugi::xml_node prefetchAnimation = container.append_child("link"); - prefetchAnimation.append_attribute("rel") = "prefetch"; - prefetchAnimation.append_attribute("href") = animationPath; - pugi::xml_node image = imageWrap.append_child("input"); image.append_attribute("type") = "checkbox"; image.append_attribute("class") = "kanji-image";