From a7e0cd03dd805d7c6d20323637e0a5a95ae2fb65 Mon Sep 17 00:00:00 2001 From: xdnw Date: Fri, 19 Jan 2024 05:43:40 +0000 Subject: [PATCH 1/5] Add sitemap to sidebar --- .../java/com/locutus/wiki/WikiGenHandler.java | 22 ++++++ .../manager/v2/command/CommandGroup.java | 3 +- .../discord/web/commands/page/TestPages.java | 18 ++--- .../locutus/discord/web/jooby/WebRoot.java | 26 +------ src/main/jte/main.jte | 2 +- src/main/jte/sidebar.jte | 72 +++++++++++-------- 6 files changed, 80 insertions(+), 63 deletions(-) diff --git a/src/main/java/com/locutus/wiki/WikiGenHandler.java b/src/main/java/com/locutus/wiki/WikiGenHandler.java index 97bf55873..7cea042ed 100644 --- a/src/main/java/com/locutus/wiki/WikiGenHandler.java +++ b/src/main/java/com/locutus/wiki/WikiGenHandler.java @@ -43,6 +43,7 @@ import link.locutus.discord.commands.manager.v2.impl.pw.CommandManager2; import link.locutus.discord.commands.manager.v2.impl.pw.filter.PlaceholdersMap; import link.locutus.discord.gpt.pw.PWGPTHandler; +import org.json.JSONObject; import java.io.File; import java.io.IOException; @@ -202,4 +203,25 @@ private void writePage(BotWikiGen page) throws IOException { File file = new File(pathRelative + File.separator + page.getPageName().toLowerCase().replace(" ", "_") + ".md"); Files.write(file.toPath(), markdown.getBytes()); } + + public JSONObject generateSiteMap() { + JSONObject wiki = new JSONObject(); + wiki.put("home", ""); + JSONObject wikiIntro = new JSONObject(); + for (BotWikiGen page : getIntroPages()) { + wikiIntro.put(page.getPageName(), ""); + } + wiki.put("intro", wikiIntro); + JSONObject wikiTopics = new JSONObject(); + for (BotWikiGen page : getTopicPages()) { + wikiTopics.put(page.getPageName(), ""); + } + wiki.put("topic", wikiTopics); + JSONObject wikiCommands = new JSONObject(); + for (BotWikiGen page : getCommandPages()) { + wikiCommands.put(page.getPageName(), ""); + } + wiki.put("command", wikiCommands); + return wiki; + } } diff --git a/src/main/java/link/locutus/discord/commands/manager/v2/command/CommandGroup.java b/src/main/java/link/locutus/discord/commands/manager/v2/command/CommandGroup.java index 94d2b7096..824300be3 100644 --- a/src/main/java/link/locutus/discord/commands/manager/v2/command/CommandGroup.java +++ b/src/main/java/link/locutus/discord/commands/manager/v2/command/CommandGroup.java @@ -1,6 +1,5 @@ package link.locutus.discord.commands.manager.v2.command; -import com.google.gson.JsonObject; import gg.jte.generated.precompiled.command.JtecommandgroupGenerated; import link.locutus.discord.commands.manager.v2.binding.ValueStore; import link.locutus.discord.commands.manager.v2.binding.WebStore; @@ -34,7 +33,7 @@ public CommandGroup(CommandCallable parent, String[] aliases, ValueStore store, this.aliases = Arrays.asList(aliases); } - public JSONObject toCommandMap() { + public JSONObject generateSiteMap() { JSONObject root = new JSONObject(); getParametricCallables(f -> { String fullPath = f.getFullPath(); diff --git a/src/main/java/link/locutus/discord/web/commands/page/TestPages.java b/src/main/java/link/locutus/discord/web/commands/page/TestPages.java index 9ee075f11..ec7d7bca9 100644 --- a/src/main/java/link/locutus/discord/web/commands/page/TestPages.java +++ b/src/main/java/link/locutus/discord/web/commands/page/TestPages.java @@ -7,13 +7,13 @@ import net.dv8tion.jda.api.entities.User; public class TestPages { - @Command(desc = "Show running tax expenses by day by bracket") - public Object testIndex(@Me DBNation nation) { - return "Hello World: " + (nation != null ? nation.getNation() : "no nation"); - } - - @Command - public Object testPost(String argument) { - return "Test post: " + argument; - } +// @Command(desc = "Show running tax expenses by day by bracket") +// public Object testIndex(@Me DBNation nation) { +// return "Hello World: " + (nation != null ? nation.getNation() : "no nation"); +// } +// +// @Command +// public Object testPost(String argument) { +// return "Test post: " + argument; +// } } diff --git a/src/main/java/link/locutus/discord/web/jooby/WebRoot.java b/src/main/java/link/locutus/discord/web/jooby/WebRoot.java index 9f901ea0f..14f0a2d47 100644 --- a/src/main/java/link/locutus/discord/web/jooby/WebRoot.java +++ b/src/main/java/link/locutus/discord/web/jooby/WebRoot.java @@ -2,15 +2,9 @@ import com.aayushatharva.brotli4j.Brotli4jLoader; -import com.google.gson.JsonObject; -import com.locutus.wiki.BotWikiGen; import com.locutus.wiki.WikiGenHandler; -import gg.jte.CodeResolver; import gg.jte.ContentType; import gg.jte.TemplateEngine; -import gg.jte.TemplateOutput; -import gg.jte.html.HtmlInterceptor; -import gg.jte.html.HtmlPolicy; import gg.jte.resolve.DirectoryCodeResolver; import gg.jte.watcher.DirectoryWatcher; import io.javalin.Javalin; @@ -257,24 +251,10 @@ public File getFileRoot() { public JSONObject generateSiteMap() { if (siteMap != null) return siteMap; - siteMap = new JSONObject(); - // Pages - siteMap.put("pages", pageHandler.getCommands().toCommandMap()); - // Commands - siteMap.put("command", Locutus.cmd().getV2().getCommands().toCommandMap()); - // Wiki - JSONObject wiki = new JSONObject(); - wiki.put("home", ""); + siteMap = pageHandler.getCommands().generateSiteMap(); + siteMap.put("command", Locutus.cmd().getV2().getCommands().generateSiteMap()); WikiGenHandler gen = new WikiGenHandler("", Locutus.cmd().getV2()); - for (BotWikiGen page : gen.getIntroPages()) { - wiki.put("intro", page.getPageName()); - } - for (BotWikiGen page : gen.getTopicPages()) { - wiki.put("topic", page.getPageName()); - } - for (BotWikiGen page : gen.getCommandPages()) { - wiki.put("command", page.getPageName()); - } + JSONObject wiki = gen.generateSiteMap(); siteMap.put("wiki", wiki); return siteMap; } diff --git a/src/main/jte/main.jte b/src/main/jte/main.jte index 48ab2dbf5..8de7485f4 100644 --- a/src/main/jte/main.jte +++ b/src/main/jte/main.jte @@ -30,7 +30,7 @@ <%-- --%> - +<%-- --%> diff --git a/src/main/jte/sidebar.jte b/src/main/jte/sidebar.jte index 9a5684e7b..0485bebd7 100644 --- a/src/main/jte/sidebar.jte +++ b/src/main/jte/sidebar.jte @@ -8,16 +8,13 @@ -
+
- +
Press / to focus
-
- -
<%--