From 3114501f809ebc2c46f89033d5f5562a8ec156d8 Mon Sep 17 00:00:00 2001 From: Strokkur424 <133226102+Strokkur424@users.noreply.github.com> Date: Sun, 20 Apr 2025 18:14:25 +0200 Subject: [PATCH 01/27] Add Adventure docs --- .typos.toml | 4 +- astro.config.ts | 99 +++- src/assets/mm.tmLanguage.json | 47 ++ .../adventure/AdventureChangelogs.astro | 44 ++ .../adventure/AdventureDependency.astro | 77 +++ src/content/docs/adventure/assets/tablist.png | Bin 0 -> 892328 bytes src/content/docs/adventure/audiences.mdx | 43 ++ src/content/docs/adventure/book.mdx | 33 ++ src/content/docs/adventure/bossbar.mdx | 60 ++ .../docs/adventure/community-libraries.mdx | 52 ++ src/content/docs/adventure/contributing.mdx | 7 + src/content/docs/adventure/faq.mdx | 72 +++ .../docs/adventure/getting-started.mdx | 55 ++ src/content/docs/adventure/index.mdx | 10 + src/content/docs/adventure/localization.mdx | 124 +++++ .../migration/bungeecord-chat-api.mdx | 149 +++++ .../docs/adventure/migration/index.mdx | 20 + .../docs/adventure/migration/text-3.x.mdx | 62 +++ .../docs/adventure/minimessage/api.mdx | 196 +++++++ .../adventure/minimessage/assets/click_1.png | Bin 0 -> 9144 bytes .../adventure/minimessage/assets/color_1.png | Bin 0 -> 3661 bytes .../adventure/minimessage/assets/color_2.png | Bin 0 -> 3877 bytes .../minimessage/assets/color_verbose_1.png | Bin 0 -> 3661 bytes .../minimessage/assets/color_verbose_2.png | Bin 0 -> 3877 bytes .../minimessage/assets/decoration_1.png | Bin 0 -> 5848 bytes .../adventure/minimessage/assets/font_1.png | Bin 0 -> 3074 bytes .../minimessage/assets/gradient_1.png | Bin 0 -> 4418 bytes .../adventure/minimessage/assets/hover_1.png | Bin 0 -> 3144 bytes .../minimessage/assets/insertion_1.png | Bin 0 -> 9475 bytes .../adventure/minimessage/assets/key_1.png | Bin 0 -> 3032 bytes .../minimessage/assets/newline_1.png | Bin 0 -> 7117 bytes .../minimessage/assets/rainbow_1.png | Bin 0 -> 42022 bytes .../adventure/minimessage/assets/reset_1.png | Bin 0 -> 3953 bytes .../minimessage/assets/selector_1.png | Bin 0 -> 11744 bytes .../adventure/minimessage/assets/shadow_1.png | Bin 0 -> 3582 bytes .../adventure/minimessage/assets/shadow_2.png | Bin 0 -> 3091 bytes .../adventure/minimessage/assets/shadow_3.png | Bin 0 -> 1303 bytes .../minimessage/assets/transition_1.png | Bin 0 -> 90793 bytes .../minimessage/assets/translatable_1.png | Bin 0 -> 4458 bytes .../minimessage/assets/translatable_2.png | Bin 0 -> 1681 bytes .../minimessage/dynamic-replacements.mdx | 149 +++++ .../docs/adventure/minimessage/format.mdx | 525 ++++++++++++++++++ .../docs/adventure/minimessage/index.mdx | 17 + .../docs/adventure/minimessage/translator.mdx | 63 +++ .../docs/adventure/platform/bukkit.mdx | 65 +++ .../docs/adventure/platform/bungeecord.mdx | 69 +++ .../docs/adventure/platform/fabric.mdx | 248 +++++++++ .../docs/adventure/platform/implementing.mdx | 63 +++ src/content/docs/adventure/platform/index.mdx | 56 ++ .../docs/adventure/platform/modded.mdx | 179 ++++++ .../docs/adventure/platform/native.mdx | 18 + .../docs/adventure/platform/neoforge.mdx | 135 +++++ .../docs/adventure/platform/spongeapi.mdx | 42 ++ .../docs/adventure/platform/viaversion.mdx | 12 + src/content/docs/adventure/resource-pack.mdx | 69 +++ .../docs/adventure/serializer/ansi.mdx | 81 +++ .../docs/adventure/serializer/gson.mdx | 55 ++ .../docs/adventure/serializer/index.mdx | 55 ++ .../docs/adventure/serializer/json.mdx | 26 + .../docs/adventure/serializer/legacy.mdx | 56 ++ .../docs/adventure/serializer/plain.mdx | 32 ++ src/content/docs/adventure/sound.mdx | 82 +++ src/content/docs/adventure/tablist.mdx | 36 ++ src/content/docs/adventure/text.mdx | 93 ++++ src/content/docs/adventure/titles.mdx | 36 ++ .../adventure-platform-fabric.mdx | 9 + .../version-history/adventure-platform.mdx | 9 + .../adventure/version-history/adventure.mdx | 9 + .../docs/adventure/version-history/index.mdx | 11 + src/content/docs/index.mdx | 2 +- src/utils/releases.ts | 114 ++++ src/utils/versions.ts | 42 +- 72 files changed, 3596 insertions(+), 16 deletions(-) create mode 100644 src/assets/mm.tmLanguage.json create mode 100644 src/components/adventure/AdventureChangelogs.astro create mode 100644 src/components/adventure/AdventureDependency.astro create mode 100644 src/content/docs/adventure/assets/tablist.png create mode 100644 src/content/docs/adventure/audiences.mdx create mode 100644 src/content/docs/adventure/book.mdx create mode 100644 src/content/docs/adventure/bossbar.mdx create mode 100644 src/content/docs/adventure/community-libraries.mdx create mode 100644 src/content/docs/adventure/contributing.mdx create mode 100644 src/content/docs/adventure/faq.mdx create mode 100644 src/content/docs/adventure/getting-started.mdx create mode 100644 src/content/docs/adventure/index.mdx create mode 100644 src/content/docs/adventure/localization.mdx create mode 100644 src/content/docs/adventure/migration/bungeecord-chat-api.mdx create mode 100644 src/content/docs/adventure/migration/index.mdx create mode 100644 src/content/docs/adventure/migration/text-3.x.mdx create mode 100644 src/content/docs/adventure/minimessage/api.mdx create mode 100644 src/content/docs/adventure/minimessage/assets/click_1.png create mode 100644 src/content/docs/adventure/minimessage/assets/color_1.png create mode 100644 src/content/docs/adventure/minimessage/assets/color_2.png create mode 100644 src/content/docs/adventure/minimessage/assets/color_verbose_1.png create mode 100644 src/content/docs/adventure/minimessage/assets/color_verbose_2.png create mode 100644 src/content/docs/adventure/minimessage/assets/decoration_1.png create mode 100644 src/content/docs/adventure/minimessage/assets/font_1.png create mode 100644 src/content/docs/adventure/minimessage/assets/gradient_1.png create mode 100644 src/content/docs/adventure/minimessage/assets/hover_1.png create mode 100644 src/content/docs/adventure/minimessage/assets/insertion_1.png create mode 100644 src/content/docs/adventure/minimessage/assets/key_1.png create mode 100644 src/content/docs/adventure/minimessage/assets/newline_1.png create mode 100644 src/content/docs/adventure/minimessage/assets/rainbow_1.png create mode 100644 src/content/docs/adventure/minimessage/assets/reset_1.png create mode 100644 src/content/docs/adventure/minimessage/assets/selector_1.png create mode 100644 src/content/docs/adventure/minimessage/assets/shadow_1.png create mode 100644 src/content/docs/adventure/minimessage/assets/shadow_2.png create mode 100644 src/content/docs/adventure/minimessage/assets/shadow_3.png create mode 100644 src/content/docs/adventure/minimessage/assets/transition_1.png create mode 100644 src/content/docs/adventure/minimessage/assets/translatable_1.png create mode 100644 src/content/docs/adventure/minimessage/assets/translatable_2.png create mode 100644 src/content/docs/adventure/minimessage/dynamic-replacements.mdx create mode 100644 src/content/docs/adventure/minimessage/format.mdx create mode 100644 src/content/docs/adventure/minimessage/index.mdx create mode 100644 src/content/docs/adventure/minimessage/translator.mdx create mode 100644 src/content/docs/adventure/platform/bukkit.mdx create mode 100644 src/content/docs/adventure/platform/bungeecord.mdx create mode 100644 src/content/docs/adventure/platform/fabric.mdx create mode 100644 src/content/docs/adventure/platform/implementing.mdx create mode 100644 src/content/docs/adventure/platform/index.mdx create mode 100644 src/content/docs/adventure/platform/modded.mdx create mode 100644 src/content/docs/adventure/platform/native.mdx create mode 100644 src/content/docs/adventure/platform/neoforge.mdx create mode 100644 src/content/docs/adventure/platform/spongeapi.mdx create mode 100644 src/content/docs/adventure/platform/viaversion.mdx create mode 100644 src/content/docs/adventure/resource-pack.mdx create mode 100644 src/content/docs/adventure/serializer/ansi.mdx create mode 100644 src/content/docs/adventure/serializer/gson.mdx create mode 100644 src/content/docs/adventure/serializer/index.mdx create mode 100644 src/content/docs/adventure/serializer/json.mdx create mode 100644 src/content/docs/adventure/serializer/legacy.mdx create mode 100644 src/content/docs/adventure/serializer/plain.mdx create mode 100644 src/content/docs/adventure/sound.mdx create mode 100644 src/content/docs/adventure/tablist.mdx create mode 100644 src/content/docs/adventure/text.mdx create mode 100644 src/content/docs/adventure/titles.mdx create mode 100644 src/content/docs/adventure/version-history/adventure-platform-fabric.mdx create mode 100644 src/content/docs/adventure/version-history/adventure-platform.mdx create mode 100644 src/content/docs/adventure/version-history/adventure.mdx create mode 100644 src/content/docs/adventure/version-history/index.mdx create mode 100644 src/utils/releases.ts diff --git a/.typos.toml b/.typos.toml index b143fad34..fcbb71a77 100644 --- a/.typos.toml +++ b/.typos.toml @@ -1,6 +1,8 @@ [files] extend-exclude = [ - "public/d2" # D2 output shouldn't be checked + "public/d2", # D2 output shouldn't be checked + "src/content/docs/adventure/minimessage/format.mdx", # This file contains british spelling because of tag aliases + "src/content/docs/adventure/community-libraries.mdx" # This file contains project names which might get flagged by typos ] [default] diff --git a/astro.config.ts b/astro.config.ts index a1a2c9f73..7de51d0f8 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -4,10 +4,14 @@ import d2 from "astro-d2"; import { defineConfig } from "astro/config"; import starlightLinksValidator from "starlight-links-validator"; import starlightSidebarTopics from "starlight-sidebar-topics"; +import miniMessageHighlight from "./src/assets/mm.tmLanguage.json"; import codeConstantsPlugin from "./src/utils/remark/code_const"; import javadocPlugin from "./src/utils/remark/javadoc"; import { LATEST_FOLIA_RELEASE, + LATEST_ADVENTURE_ANSI_RELEASE, + LATEST_ADVENTURE_API_RELEASE, + LATEST_ADVENTURE_PLATFORM_RELEASE, LATEST_MC_RELEASE, LATEST_PAPER_RELEASE, LATEST_USERDEV_RELEASE, @@ -345,6 +349,81 @@ export default defineConfig({ }, ], }, + + { + id: "adventure", + label: "Adventure", + link: "/adventure/", + icon: "adventure", + items: [ + "adventure/getting-started", + "adventure/community-libraries", + "adventure/faq", + "adventure/audiences", + "adventure/text", + { + label: "Text Serializers", + items: [ + "adventure/serializer/json", + "adventure/serializer/gson", + "adventure/serializer/legacy", + "adventure/serializer/plain", + { + label: "MiniMessage", + items: [ + "adventure/minimessage/format", + "adventure/minimessage/api", + "adventure/minimessage/dynamic-replacements", + "adventure/minimessage/translator", + ], + }, + "adventure/serializer/ansi", + ], + }, + "adventure/bossbar", + "adventure/sound", + "adventure/titles", + "adventure/book", + "adventure/tablist", + "adventure/resource-pack", + { + label: "MiniMessage", + items: [ + "adventure/minimessage/format", + "adventure/minimessage/api", + "adventure/minimessage/dynamic-replacements", + "adventure/minimessage/translator", + ], + }, + "adventure/localization", + { + label: "Platforms", + items: [ + "adventure/platform/native", + "adventure/platform/bukkit", + "adventure/platform/bungeecord", + "adventure/platform/spongeapi", + "adventure/platform/modded", + "adventure/platform/fabric", + "adventure/platform/neoforge", + "adventure/platform/viaversion", + "adventure/platform/implementing", + ], + }, + { + label: "Migrating to Adventure from other APIs", + items: ["adventure/migration/bungeecord-chat-api", "adventure/migration/text-3.x"], + }, + { + label: "Version History", + items: [ + "adventure/version-history/adventure", + "adventure/version-history/adventure-platform", + "adventure/version-history/adventure-platform-fabric", + ], + }, + ], + }, { id: "waterfall", label: "Waterfall", @@ -352,12 +431,6 @@ export default defineConfig({ icon: "waterfall", items: ["waterfall/getting-started", "waterfall/configuration"], }, - { - id: "adventure", - label: "Adventure", - link: "https://docs.advntr.dev/", - icon: "adventure", - }, { id: "misc", label: "Miscellaneous", @@ -414,6 +487,14 @@ export default defineConfig({ "/velocity/dev/api", ], folia: ["/folia/admin", "/folia/admin/reference"], + adventure: [ + "/adventure/serializer", + "/adventure/minimessage", + "/adventure/platform", + "/adventure/migration", + "/adventure/contributing", + "/adventure/version-history", + ], waterfall: ["/waterfall"], misc: ["/misc", "/misc/tools"], }, @@ -425,6 +506,9 @@ export default defineConfig({ extractFileNameFromCode: false, }, emitExternalStylesheet: false, + shiki: { + langs: [miniMessageHighlight], + }, }, }), svelte(), @@ -458,6 +542,9 @@ export default defineConfig({ LATEST_FOLIA_RELEASE, LATEST_WATERFALL_RELEASE, LATEST_USERDEV_RELEASE, + LATEST_ADVENTURE_API_RELEASE, + LATEST_ADVENTURE_PLATFORM_RELEASE, + LATEST_ADVENTURE_ANSI_RELEASE, }, }, ], diff --git a/src/assets/mm.tmLanguage.json b/src/assets/mm.tmLanguage.json new file mode 100644 index 000000000..5788d0d86 --- /dev/null +++ b/src/assets/mm.tmLanguage.json @@ -0,0 +1,47 @@ +{ + "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", + "name": "mm", + "patterns": [ + { + "name": "meta.tag.mm", + "begin": "(<)(/?|!?)([a-zA-Z0-9_#]+)", + "beginCaptures": { + "1": { "name": "constant.language.tag.mm" }, + "2": { "name": "constant.language.tag.mm" }, + "3": { "name": "constant.language.tag.mm" } + }, + "end": "(>)", + "endCaptures": { + "1": { "name": "constant.language.tag.mm" } + }, + "patterns": [ + { + "name": "string.quoted.single.argument.mm", + "match": "(:)'([^']*)'", + "captures": { + "1": { "name": "constant.language.tag.mm" }, + "2": { "name": "string.quoted.single.argument.mm" } + } + }, + { + "name": "string.quoted.double.argument.mm", + "match": "(:)\"([^\"]*)\"", + "captures": { + "1": { "name": "constant.language.tag.mm" }, + "2": { "name": "string.quoted.double.argument.mm" } + } + }, + { + "name": "variable.language.argument.mm", + "match": "(:)([^:\\s\"'>]+(?:\\[[^\\]]*\\])?)", + "captures": { + "1": { "name": "constant.language.tag.mm" }, + "2": { "name": "variable.language.argument.mm" } + } + } + ] + } + ], + "repository": {}, + "scopeName": "text.mm" +} diff --git a/src/components/adventure/AdventureChangelogs.astro b/src/components/adventure/AdventureChangelogs.astro new file mode 100644 index 000000000..895be58eb --- /dev/null +++ b/src/components/adventure/AdventureChangelogs.astro @@ -0,0 +1,44 @@ +--- +import { fetchRelease } from "../../utils/releases"; +import { render } from "../../utils/markdown"; + +interface Props { + repo: string; +} + +const props: Props = Astro.props; +const data = await fetchRelease(props.repo); +--- + +{ + data.map(async (release) => ( +
+ )) +} + + diff --git a/src/components/adventure/AdventureDependency.astro b/src/components/adventure/AdventureDependency.astro new file mode 100644 index 000000000..f4ae81961 --- /dev/null +++ b/src/components/adventure/AdventureDependency.astro @@ -0,0 +1,77 @@ +--- +import { Tabs, TabItem, Code } from "@astrojs/starlight/components"; +import { + LATEST_ADVENTURE_API_RELEASE, + LATEST_ADVENTURE_PLATFORM_RELEASE, + LATEST_ADVENTURE_ANSI_RELEASE, +} from "/src/utils/versions"; + +interface Props { + artifact: string; + project: string; +} + +const props: Props = Astro.props; + +function getVersion(): string { + switch (props.project) { + case "api": + return LATEST_ADVENTURE_API_RELEASE; + case "platform": + return LATEST_ADVENTURE_PLATFORM_RELEASE; + case "ansi": + return LATEST_ADVENTURE_ANSI_RELEASE; + } + + return "LATEST"; +} + +const version = getVersion(); +const mavenCoordinatesString = `net.kyori:${props.artifact}:${version}`; + +const mavenDependency = ` +Declaring the dependency:
+ +
+
+
+ + Need development/snapshot builds? Using Snapshot Builds +
diff --git a/src/content/docs/adventure/assets/tablist.png b/src/content/docs/adventure/assets/tablist.png new file mode 100644 index 0000000000000000000000000000000000000000..3e42c857a8a33b94479f7b25684e9ea649b07688 GIT binary patch literal 892328 zcmZs@19T@%(>EOFAKSKV+qUhEoos9;8=D*3wr$(CHr{V9+|PSI@B7U;bEc=es;8>E z`d2+QbtXblUIGpp8yW}*2u?~;R2c{e(g6qv6cGUOr$(#DMDx!D*jZUZ7^r$0_w3J& zsF|jexttsj^`9~T2sq3N2<$JCKPUE|^ABqtFc9dUEAU@+c_9C3g>=XR{ZAPb@h?I` zXnpoSWRq5^nl74hvfL*2w)94(_Qq!P9=3l(_;c`jaQ`XVnz@XZ9qAshg5~IfX3kek|Da@-{8r=+~c3LP(
z8^-1Go)NMM%d!DNEOFL0M&$aO1lK<&gz?*6fSOP4hP=KK@Tj(-AiRdXp 0QDj3@e+gchZGgFouJJka9|>xLvM$_1qC`A-NQUdMuBL946a~n3mt*gMiog%pJBR`My_?AbCqA-
zhWH~DR!SXOPzmE=
c<4V*3t(7-Jt)0nkz6Et%uM)7Ucw(KfLo+1QMt+4(
z?(A!c|D1AxuY2E)9vqSvZT&sAJ(?N~3ODOdML(2z;n2rOEV=hLT?}1*qp5Frcq(73
zgq@k07?z~(^t{{LZ`Ki?a0=>kRWGJD-a17ew-x7xR&z(}x@d2TTIemZ0I5#(%3%(d
zC>EH~%g~U8&DIOYq!fwPQXFJR)#VUU$A@vuDARhW(oT2}
*`|Tm<+Ag?x%8&%i-QsLBxTk-YA-u