diff --git a/src/content.config.ts b/src/content.config.ts index 2940e4c..232e778 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -2,12 +2,22 @@ import { defineCollection, z } from "astro:content"; import { glob, file } from "astro/loaders"; -const distroGuide = defineCollection({ - loader: glob({ pattern: "**/*.mdx", base: "./src/data/distro" }), +const commonText = defineCollection({ + loader: glob({ pattern: "**/*.mdx", base: "./src/data/common" }), schema: z.object({ title: z.string(), description: z.string().optional(), }) }); -export const collections = { distroGuide }; +const distroGuide = defineCollection({ + loader: glob({ pattern: "**/*.mdx", base: "./src/data/distro" }), + schema: z.object({ + title: z.string(), + description: z.string().optional(), + aliasOf: z.string().optional(), + continueTo: z.string().optional(), + }) +}); + +export const collections = { commonText, distroGuide }; diff --git a/src/data/distro/fedora/workstation/install/1.mdx b/src/data/common/en/boot/bootMenuKey.mdx similarity index 65% rename from src/data/distro/fedora/workstation/install/1.mdx rename to src/data/common/en/boot/bootMenuKey.mdx index e7b9c34..79913f1 100644 --- a/src/data/distro/fedora/workstation/install/1.mdx +++ b/src/data/common/en/boot/bootMenuKey.mdx @@ -3,16 +3,8 @@ title: Restart description: Restarting your machine to boot from the USB flash drive --- -import ChoiceList from "@/components/ChoiceList.astro"; - Next, you'll need to restart your machine to boot from the USB flash drive. Please look up the boot menu key for your laptop/mainboard manufacturer and then when restarting, Press that key repeatedly until the "Boot Menu" pops up. - - - - Continue - - diff --git a/src/data/distro/fedora/workstation/install/2.mdx b/src/data/common/en/boot/bootMenuSelect.mdx similarity index 77% rename from src/data/distro/fedora/workstation/install/2.mdx rename to src/data/common/en/boot/bootMenuSelect.mdx index 20f8ca2..2d8a49a 100644 --- a/src/data/distro/fedora/workstation/install/2.mdx +++ b/src/data/common/en/boot/bootMenuSelect.mdx @@ -4,7 +4,6 @@ description: Choose your USB flash drive --- import { Picture } from "astro:assets"; -import ChoiceList from "@/components/ChoiceList.astro"; import bootMenu from "@/assets/imgs/Fedora/Boot/MSIBootMenu_Cropped.jpg";
@@ -17,9 +16,3 @@ action as it will mostly require fast actions. After the boot menu pops up, use the arrow keys (Up/Down) on your keyboard to select the USB flash drive then press Enter. - - - - Continue - - diff --git a/src/data/distro/fedora/fedora.ts b/src/data/distro/en/fedora/fedora.ts similarity index 100% rename from src/data/distro/fedora/fedora.ts rename to src/data/distro/en/fedora/fedora.ts diff --git a/src/data/distro/fedora/workstation/0.mdx b/src/data/distro/en/fedora/workstation/0.mdx similarity index 100% rename from src/data/distro/fedora/workstation/0.mdx rename to src/data/distro/en/fedora/workstation/0.mdx diff --git a/src/data/distro/fedora/workstation/1.mdx b/src/data/distro/en/fedora/workstation/1.mdx similarity index 100% rename from src/data/distro/fedora/workstation/1.mdx rename to src/data/distro/en/fedora/workstation/1.mdx diff --git a/src/data/distro/fedora/workstation/2.mdx b/src/data/distro/en/fedora/workstation/2.mdx similarity index 100% rename from src/data/distro/fedora/workstation/2.mdx rename to src/data/distro/en/fedora/workstation/2.mdx diff --git a/src/data/distro/fedora/workstation/3.mdx b/src/data/distro/en/fedora/workstation/3.mdx similarity index 100% rename from src/data/distro/fedora/workstation/3.mdx rename to src/data/distro/en/fedora/workstation/3.mdx diff --git a/src/data/distro/fedora/workstation/4.mdx b/src/data/distro/en/fedora/workstation/4.mdx similarity index 100% rename from src/data/distro/fedora/workstation/4.mdx rename to src/data/distro/en/fedora/workstation/4.mdx diff --git a/src/data/distro/fedora/workstation/5.mdx b/src/data/distro/en/fedora/workstation/5.mdx similarity index 100% rename from src/data/distro/fedora/workstation/5.mdx rename to src/data/distro/en/fedora/workstation/5.mdx diff --git a/src/data/distro/fedora/workstation/afterInstall/0.mdx b/src/data/distro/en/fedora/workstation/afterInstall/0.mdx similarity index 81% rename from src/data/distro/fedora/workstation/afterInstall/0.mdx rename to src/data/distro/en/fedora/workstation/afterInstall/0.mdx index 54a2a81..b915bda 100644 --- a/src/data/distro/fedora/workstation/afterInstall/0.mdx +++ b/src/data/distro/en/fedora/workstation/afterInstall/0.mdx @@ -17,6 +17,9 @@ import welcome from "@/assets/imgs/Fedora/AfterInstall/WelcomeCropped.png"; Confirm your language selection and simply click "Next". + + I can read this myself! Skip. + Continue diff --git a/src/data/distro/fedora/workstation/afterInstall/1.mdx b/src/data/distro/en/fedora/workstation/afterInstall/1.mdx similarity index 70% rename from src/data/distro/fedora/workstation/afterInstall/1.mdx rename to src/data/distro/en/fedora/workstation/afterInstall/1.mdx index 8957070..a8c0938 100644 --- a/src/data/distro/fedora/workstation/afterInstall/1.mdx +++ b/src/data/distro/en/fedora/workstation/afterInstall/1.mdx @@ -1,9 +1,9 @@ --- title: Keyboard Layout +continueTo: distro/fedora/workstation/afterinstall/2/ --- import { Picture } from "astro:assets"; -import ChoiceList from "@/components/ChoiceList.astro"; import keyboard from "@/assets/imgs/Fedora/AfterInstall/TypingCropped.png"; - - Continue - - diff --git a/src/data/distro/fedora/workstation/afterInstall/2.mdx b/src/data/distro/en/fedora/workstation/afterInstall/2.mdx similarity index 73% rename from src/data/distro/fedora/workstation/afterInstall/2.mdx rename to src/data/distro/en/fedora/workstation/afterInstall/2.mdx index 721267a..7bbb86e 100644 --- a/src/data/distro/fedora/workstation/afterInstall/2.mdx +++ b/src/data/distro/en/fedora/workstation/afterInstall/2.mdx @@ -1,9 +1,9 @@ --- title: Privacy +continueTo: distro/fedora/workstation/afterinstall/3/ --- import { Picture } from "astro:assets"; -import ChoiceList from "@/components/ChoiceList.astro"; import welcome from "@/assets/imgs/Fedora/AfterInstall/PrivacyCropped.png";
@@ -20,9 +20,3 @@ Check whether you want location services and automatic problem reporting. You can disable the location service if you do not plan to use any apps that rely on your location such as Maps. - - - - Continue - - diff --git a/src/data/distro/fedora/workstation/afterInstall/3.mdx b/src/data/distro/en/fedora/workstation/afterInstall/3.mdx similarity index 66% rename from src/data/distro/fedora/workstation/afterInstall/3.mdx rename to src/data/distro/en/fedora/workstation/afterInstall/3.mdx index 3fc005c..1dd1230 100644 --- a/src/data/distro/fedora/workstation/afterInstall/3.mdx +++ b/src/data/distro/en/fedora/workstation/afterInstall/3.mdx @@ -1,9 +1,9 @@ --- title: On the topic of time +continueTo: distro/fedora/workstation/afterinstall/4/ --- import { Picture } from "astro:assets"; -import ChoiceList from "@/components/ChoiceList.astro"; import timeZone from "@/assets/imgs/Fedora/AfterInstall/TimeZoneCropped.png"; Search for your city (or the one near you) to select the time zone. - - - - Continue - - diff --git a/src/data/distro/fedora/workstation/afterInstall/4.mdx b/src/data/distro/en/fedora/workstation/afterInstall/4.mdx similarity index 84% rename from src/data/distro/fedora/workstation/afterInstall/4.mdx rename to src/data/distro/en/fedora/workstation/afterInstall/4.mdx index d38d327..3b0ad6b 100644 --- a/src/data/distro/fedora/workstation/afterInstall/4.mdx +++ b/src/data/distro/en/fedora/workstation/afterInstall/4.mdx @@ -1,5 +1,6 @@ --- title: Parties! +continueTo: distro/fedora/workstation/afterinstall/5/ --- import { Picture } from "astro:assets"; @@ -20,9 +21,3 @@ repositories It is recommended that you enable it to ensure access to a wide-variety of software and any drivers that you may need now or in the future. - - - - Continue - - diff --git a/src/data/distro/fedora/workstation/afterInstall/5.mdx b/src/data/distro/en/fedora/workstation/afterInstall/5.mdx similarity index 77% rename from src/data/distro/fedora/workstation/afterInstall/5.mdx rename to src/data/distro/en/fedora/workstation/afterInstall/5.mdx index f4f8053..ade7131 100644 --- a/src/data/distro/fedora/workstation/afterInstall/5.mdx +++ b/src/data/distro/en/fedora/workstation/afterInstall/5.mdx @@ -1,9 +1,9 @@ --- title: What is thy name? +continueTo: distro/fedora/workstation/afterinstall/6/ --- import { Picture } from "astro:assets"; -import ChoiceList from "@/components/ChoiceList.astro"; import image from "@/assets/imgs/Fedora/AfterInstall/UsernameCropped.png";
@@ -21,9 +21,3 @@ fancy and username mostly just contains alphanumeric characters under 64 characters in length. - - - - Continue - - diff --git a/src/data/distro/fedora/workstation/afterInstall/6.mdx b/src/data/distro/en/fedora/workstation/afterInstall/6.mdx similarity index 81% rename from src/data/distro/fedora/workstation/afterInstall/6.mdx rename to src/data/distro/en/fedora/workstation/afterInstall/6.mdx index 48ab6e4..92b04e4 100644 --- a/src/data/distro/fedora/workstation/afterInstall/6.mdx +++ b/src/data/distro/en/fedora/workstation/afterInstall/6.mdx @@ -1,5 +1,6 @@ --- title: "********" +continueTo: distro/fedora/workstation/afterinstall/7/ --- import { Picture } from "astro:assets"; @@ -19,9 +20,3 @@ import image from "@/assets/imgs/Fedora/AfterInstall/PasswordCropped.png"; Set a new password for your new user account. Just use whatever but most importantly, **Don't forget them.** (Write it down in a note somewhere if you must) - - - - Continue - - diff --git a/src/data/distro/fedora/workstation/afterInstall/7.mdx b/src/data/distro/en/fedora/workstation/afterInstall/7.mdx similarity index 68% rename from src/data/distro/fedora/workstation/afterInstall/7.mdx rename to src/data/distro/en/fedora/workstation/afterInstall/7.mdx index b348dd5..18b7077 100644 --- a/src/data/distro/fedora/workstation/afterInstall/7.mdx +++ b/src/data/distro/en/fedora/workstation/afterInstall/7.mdx @@ -1,10 +1,10 @@ --- title: Hooray +continueTo: distro/fedora/workstation/afterinstall/8/ --- import { Picture } from "astro:assets"; import Party from "@/components/Party.astro"; -import ChoiceList from "@/components/ChoiceList.astro"; import image from "@/assets/imgs/Fedora/AfterInstall/OnboardDoneCropped.png";
@@ -18,9 +18,3 @@ import image from "@/assets/imgs/Fedora/AfterInstall/OnboardDoneCropped.png";
- - - - Continue - - diff --git a/src/data/distro/fedora/workstation/afterInstall/8.mdx b/src/data/distro/en/fedora/workstation/afterInstall/8.mdx similarity index 97% rename from src/data/distro/fedora/workstation/afterInstall/8.mdx rename to src/data/distro/en/fedora/workstation/afterInstall/8.mdx index 1ca5554..9ced975 100644 --- a/src/data/distro/fedora/workstation/afterInstall/8.mdx +++ b/src/data/distro/en/fedora/workstation/afterInstall/8.mdx @@ -1,5 +1,5 @@ --- -title: Hooray +title: Take a tour --- import { Picture } from "astro:assets"; diff --git a/src/data/distro/fedora/workstation/install/0.mdx b/src/data/distro/en/fedora/workstation/install/0.mdx similarity index 72% rename from src/data/distro/fedora/workstation/install/0.mdx rename to src/data/distro/en/fedora/workstation/install/0.mdx index 8bcc4bf..453069d 100644 --- a/src/data/distro/fedora/workstation/install/0.mdx +++ b/src/data/distro/en/fedora/workstation/install/0.mdx @@ -1,9 +1,9 @@ --- title: Installation description: The steps of installing Fedora Linux +continueTo: distro/fedora/workstation/install/1/ --- -import ChoiceList from "@/components/ChoiceList.astro"; import QRCode from "@/components/QRCode.astro"; The steps after this will require you to restart the machine you're going to @@ -13,9 +13,3 @@ should likely switch to a phone or other devices.
- - - - Continue - - diff --git a/src/data/distro/en/fedora/workstation/install/1.mdx b/src/data/distro/en/fedora/workstation/install/1.mdx new file mode 100644 index 0000000..c6a977d --- /dev/null +++ b/src/data/distro/en/fedora/workstation/install/1.mdx @@ -0,0 +1,6 @@ +--- +title: Restart +description: Restarting your machine to boot from the USB flash drive +aliasOf: common/boot/bootmenukey +continueTo: distro/fedora/workstation/install/2/ +--- diff --git a/src/data/distro/fedora/workstation/install/10.mdx b/src/data/distro/en/fedora/workstation/install/10.mdx similarity index 100% rename from src/data/distro/fedora/workstation/install/10.mdx rename to src/data/distro/en/fedora/workstation/install/10.mdx diff --git a/src/data/distro/fedora/workstation/install/11.mdx b/src/data/distro/en/fedora/workstation/install/11.mdx similarity index 77% rename from src/data/distro/fedora/workstation/install/11.mdx rename to src/data/distro/en/fedora/workstation/install/11.mdx index 1b6a3b0..4ec34b7 100644 --- a/src/data/distro/fedora/workstation/install/11.mdx +++ b/src/data/distro/en/fedora/workstation/install/11.mdx @@ -1,9 +1,9 @@ --- title: Sharing is caring +continueTo: distro/fedora/workstation/install/12/ --- import { Picture } from "astro:assets"; -import ChoiceList from "@/components/ChoiceList.astro"; import reclaimSpace from "@/assets/imgs/Fedora/Install/ReclaimSpace_Cropped.png"; import ResizeIcon from "@/assets/icons/fa-compress-arrows-alt.svg"; @@ -15,9 +15,3 @@ drive). Click to resize. - - - - Continue - - diff --git a/src/data/distro/fedora/workstation/install/12.mdx b/src/data/distro/en/fedora/workstation/install/12.mdx similarity index 80% rename from src/data/distro/fedora/workstation/install/12.mdx rename to src/data/distro/en/fedora/workstation/install/12.mdx index 6f7581b..02b6405 100644 --- a/src/data/distro/fedora/workstation/install/12.mdx +++ b/src/data/distro/en/fedora/workstation/install/12.mdx @@ -1,5 +1,6 @@ --- title: Resize it! +continueTo: distro/fedora/workstation/install/13/ --- import { Picture } from "astro:assets"; @@ -14,9 +15,3 @@ import reclaimSpace from "@/assets/imgs/Fedora/Install/ReclaimSpaceSlider_Croppe Choose a new size for your partition. Please also keep in mind the available space of your partition. Simply click "Resize" after you're done. - - - - Continue - - diff --git a/src/data/distro/fedora/workstation/install/13.mdx b/src/data/distro/en/fedora/workstation/install/13.mdx similarity index 66% rename from src/data/distro/fedora/workstation/install/13.mdx rename to src/data/distro/en/fedora/workstation/install/13.mdx index f3cf5fa..0067c3c 100644 --- a/src/data/distro/fedora/workstation/install/13.mdx +++ b/src/data/distro/en/fedora/workstation/install/13.mdx @@ -1,9 +1,9 @@ --- title: Reclaim Territory +continueTo: distro/fedora/workstation/install/14/ --- import { Picture } from "astro:assets"; -import ChoiceList from "@/components/ChoiceList.astro"; import reclaimSpace from "@/assets/imgs/Fedora/Install/ReclaimSpaceDone_Cropped.png"; Now, Verify your configuration and click "Reclaim space". - - - - Continue - - diff --git a/src/data/distro/fedora/workstation/install/14.mdx b/src/data/distro/en/fedora/workstation/install/14.mdx similarity index 77% rename from src/data/distro/fedora/workstation/install/14.mdx rename to src/data/distro/en/fedora/workstation/install/14.mdx index 6ef7e6b..befebff 100644 --- a/src/data/distro/fedora/workstation/install/14.mdx +++ b/src/data/distro/en/fedora/workstation/install/14.mdx @@ -1,9 +1,9 @@ --- title: Disk Encryption +continueTo: distro/fedora/workstation/install/15/ --- import { Picture } from "astro:assets"; -import ChoiceList from "@/components/ChoiceList.astro"; import diskEncryption from "@/assets/imgs/Fedora/Install/DiskEncryptionUnchecked_Cropped.png";
@@ -19,9 +19,3 @@ import diskEncryption from "@/assets/imgs/Fedora/Install/DiskEncryptionUnchecked
- - - - Continue - - diff --git a/src/data/distro/fedora/workstation/install/15.mdx b/src/data/distro/en/fedora/workstation/install/15.mdx similarity index 82% rename from src/data/distro/fedora/workstation/install/15.mdx rename to src/data/distro/en/fedora/workstation/install/15.mdx index fa3a396..9ec041c 100644 --- a/src/data/distro/fedora/workstation/install/15.mdx +++ b/src/data/distro/en/fedora/workstation/install/15.mdx @@ -1,5 +1,6 @@ --- title: Review and Install +continueTo: distro/fedora/workstation/install/16/ --- import { Picture } from "astro:assets"; @@ -17,9 +18,3 @@ import reviewAndInstall from "@/assets/imgs/Fedora/Install/ReviewAndInstall_Crop
- - - - Continue - - diff --git a/src/data/distro/fedora/workstation/install/16.mdx b/src/data/distro/en/fedora/workstation/install/16.mdx similarity index 72% rename from src/data/distro/fedora/workstation/install/16.mdx rename to src/data/distro/en/fedora/workstation/install/16.mdx index ab000b9..64bc137 100644 --- a/src/data/distro/fedora/workstation/install/16.mdx +++ b/src/data/distro/en/fedora/workstation/install/16.mdx @@ -1,9 +1,9 @@ --- title: Installing... +continueTo: distro/fedora/workstation/install/17/ --- import { Picture } from "astro:assets"; -import ChoiceList from "@/components/ChoiceList.astro"; import installing from "@/assets/imgs/Fedora/Install/Installing_Cropped.png"; - - Continue - - diff --git a/src/data/distro/fedora/workstation/install/17.mdx b/src/data/distro/en/fedora/workstation/install/17.mdx similarity index 59% rename from src/data/distro/fedora/workstation/install/17.mdx rename to src/data/distro/en/fedora/workstation/install/17.mdx index 2a60415..9e13186 100644 --- a/src/data/distro/fedora/workstation/install/17.mdx +++ b/src/data/distro/en/fedora/workstation/install/17.mdx @@ -1,9 +1,9 @@ --- title: You slayed it +continueTo: distro/fedora/workstation/install/18/ --- import { Picture } from "astro:assets"; -import ChoiceList from "@/components/ChoiceList.astro"; import installing from "@/assets/imgs/Fedora/Install/InstallationFinished_Cropped.png"; Done! - - - - Continue - - diff --git a/src/data/distro/fedora/workstation/install/18.mdx b/src/data/distro/en/fedora/workstation/install/18.mdx similarity index 81% rename from src/data/distro/fedora/workstation/install/18.mdx rename to src/data/distro/en/fedora/workstation/install/18.mdx index 11b298a..698c0c7 100644 --- a/src/data/distro/fedora/workstation/install/18.mdx +++ b/src/data/distro/en/fedora/workstation/install/18.mdx @@ -1,5 +1,6 @@ --- title: Your journey begins anew +continueTo: distro/fedora/workstation/afterinstall/0/ --- import { Picture } from "astro:assets"; @@ -18,9 +19,3 @@ import restart from "@/assets/imgs/Fedora/Install/RestartMenu_Cropped.png"; Now, go to the top right corner of your desktop and click to open the System menu, then press the power button and restart. (Remember this menu, you'll use it often!) - - - - Continue - - diff --git a/src/data/distro/en/fedora/workstation/install/2.mdx b/src/data/distro/en/fedora/workstation/install/2.mdx new file mode 100644 index 0000000..46e82dc --- /dev/null +++ b/src/data/distro/en/fedora/workstation/install/2.mdx @@ -0,0 +1,6 @@ +--- +title: Boot Menu +description: Choose your USB flash drive +aliasOf: common/boot/bootmenuselect +continueTo: distro/fedora/workstation/install/3/ +--- diff --git a/src/data/distro/fedora/workstation/install/3.mdx b/src/data/distro/en/fedora/workstation/install/3.mdx similarity index 73% rename from src/data/distro/fedora/workstation/install/3.mdx rename to src/data/distro/en/fedora/workstation/install/3.mdx index 3af12a4..415efc8 100644 --- a/src/data/distro/fedora/workstation/install/3.mdx +++ b/src/data/distro/en/fedora/workstation/install/3.mdx @@ -1,10 +1,9 @@ --- -title: Boot Menu -description: Choose your USB flash drive +title: Boot Option Restoration +continueTo: distro/fedora/workstation/install/4/ --- import { Picture } from "astro:assets"; -import ChoiceList from "@/components/ChoiceList.astro"; import bootOption from "@/assets/imgs/Fedora/Boot/BootOptionRestoration_Cropped.png";
@@ -21,9 +20,3 @@ import bootOption from "@/assets/imgs/Fedora/Boot/BootOptionRestoration_Cropped.
- - - - Continue - - diff --git a/src/data/distro/fedora/workstation/install/4.mdx b/src/data/distro/en/fedora/workstation/install/4.mdx similarity index 67% rename from src/data/distro/fedora/workstation/install/4.mdx rename to src/data/distro/en/fedora/workstation/install/4.mdx index 8514b99..42ee4d8 100644 --- a/src/data/distro/fedora/workstation/install/4.mdx +++ b/src/data/distro/en/fedora/workstation/install/4.mdx @@ -1,10 +1,9 @@ --- -title: Boot Menu -description: Choose your USB flash drive +title: Continue Boot +continueTo: distro/fedora/workstation/install/5/ --- import { Picture } from "astro:assets"; -import ChoiceList from "@/components/ChoiceList.astro"; import continueBoot from "@/assets/imgs/Fedora/Boot/ContinueBootOption_Cropped.png";
@@ -18,9 +17,3 @@ import continueBoot from "@/assets/imgs/Fedora/Boot/ContinueBootOption_Cropped.p press Enter.
- - - - Continue - - diff --git a/src/data/distro/fedora/workstation/install/5.mdx b/src/data/distro/en/fedora/workstation/install/5.mdx similarity index 77% rename from src/data/distro/fedora/workstation/install/5.mdx rename to src/data/distro/en/fedora/workstation/install/5.mdx index 3334491..69fc019 100644 --- a/src/data/distro/fedora/workstation/install/5.mdx +++ b/src/data/distro/en/fedora/workstation/install/5.mdx @@ -1,10 +1,10 @@ --- title: GRUB Menu description: Entering Fedora Linux +continueTo: distro/fedora/workstation/install/6/ --- import { Picture } from "astro:assets"; -import ChoiceList from "@/components/ChoiceList.astro"; import continueBoot from "@/assets/imgs/Fedora/Install/GRUB_Cropped.png";
@@ -19,9 +19,3 @@ import continueBoot from "@/assets/imgs/Fedora/Install/GRUB_Cropped.png"; directly enter the desktop.
- - - - Continue - - diff --git a/src/data/distro/fedora/workstation/install/6.mdx b/src/data/distro/en/fedora/workstation/install/6.mdx similarity index 67% rename from src/data/distro/fedora/workstation/install/6.mdx rename to src/data/distro/en/fedora/workstation/install/6.mdx index f04dcb0..b72404d 100644 --- a/src/data/distro/fedora/workstation/install/6.mdx +++ b/src/data/distro/en/fedora/workstation/install/6.mdx @@ -1,9 +1,9 @@ --- title: Integrity Check +continueTo: distro/fedora/workstation/install/7/ --- import { Picture } from "astro:assets"; -import ChoiceList from "@/components/ChoiceList.astro"; import check from "@/assets/imgs/Fedora/Install/Check_Cropped.png"; - - Continue - - diff --git a/src/data/distro/fedora/workstation/install/7.mdx b/src/data/distro/en/fedora/workstation/install/7.mdx similarity index 81% rename from src/data/distro/fedora/workstation/install/7.mdx rename to src/data/distro/en/fedora/workstation/install/7.mdx index 12eb0c7..2541647 100644 --- a/src/data/distro/fedora/workstation/install/7.mdx +++ b/src/data/distro/en/fedora/workstation/install/7.mdx @@ -1,5 +1,6 @@ --- title: Welcome +continueTo: distro/fedora/workstation/install/8/ --- import { Picture } from "astro:assets"; @@ -16,9 +17,3 @@ import overview from "@/assets/imgs/Fedora/Install/Overview.png"; Welcome to the desktop! You're in the "Overview" view and you can simply click on the Welcome window to get started in installing Fedora Workstation, or optionally, you could explore and play with it a little first. - - - - Continue - - diff --git a/src/data/distro/fedora/workstation/install/8.mdx b/src/data/distro/en/fedora/workstation/install/8.mdx similarity index 65% rename from src/data/distro/fedora/workstation/install/8.mdx rename to src/data/distro/en/fedora/workstation/install/8.mdx index 2f06297..a733ad6 100644 --- a/src/data/distro/fedora/workstation/install/8.mdx +++ b/src/data/distro/en/fedora/workstation/install/8.mdx @@ -1,9 +1,9 @@ --- title: Install +continueTo: distro/fedora/workstation/install/9/ --- import { Picture } from "astro:assets"; -import ChoiceList from "@/components/ChoiceList.astro"; import welcome from "@/assets/imgs/Fedora/Install/Welcome.png"; So, let's get started on the real installation. Click "Install Fedora..." - - - - Continue - - diff --git a/src/data/distro/fedora/workstation/install/9.mdx b/src/data/distro/en/fedora/workstation/install/9.mdx similarity index 74% rename from src/data/distro/fedora/workstation/install/9.mdx rename to src/data/distro/en/fedora/workstation/install/9.mdx index 665cae1..1d999a8 100644 --- a/src/data/distro/fedora/workstation/install/9.mdx +++ b/src/data/distro/en/fedora/workstation/install/9.mdx @@ -1,5 +1,6 @@ --- title: Language +continueTo: distro/fedora/workstation/install/10/ --- import { Picture } from "astro:assets"; @@ -14,9 +15,3 @@ import language from "@/assets/imgs/Fedora/Install/Install_Language.png"; /> Select your preferred language and click Next. - - - - Continue - - diff --git a/src/pages/[lang]/contents.astro b/src/pages/[lang]/contents.astro new file mode 100644 index 0000000..46cd506 --- /dev/null +++ b/src/pages/[lang]/contents.astro @@ -0,0 +1,123 @@ +--- +import type { GetStaticPaths } from "astro"; +import BasicLayout from "@/layouts/BasicLayout.astro"; +import distroQuizDialogs from "@/data/distroquiz"; +import { getRelativeLocaleUrl } from "astro:i18n"; +import fedoraDialogs from "@/data/distro/en/fedora/fedora"; +import { getCollection } from "astro:content"; + +export const getStaticPaths = (async () => { + const docs = await getCollection("distroGuide"); + + const langs = docs.reduce((prev, curr) => { + const lang = curr.id.split("/")[0]; + prev.add(lang); + return prev; + }, new Set()); + + return Array.from(langs).map((v) => ({ + params: { + lang: v, + }, + })); +}) satisfies GetStaticPaths; + +const { lang } = Astro.params; + +const docs = await getCollection("distroGuide"); + +type Tree = { [key: string]: Tree | string }; + +const tree: Tree = {}; + +// Inspired from https://stackoverflow.com/a/62740661/14512055 +for (const doc of docs) { + let ptr = tree; + const [_, ...slug] = doc.id.split("/"); + const last = slug.pop() ?? ""; + + for (const part of slug) { + ptr = ptr[part] = (ptr[part] as Tree) || {}; + } + + ptr[last] = /[0-9]+/.test(last) ? doc.data.title : {}; +} + +for (let i = 0; i < fedoraDialogs.length; i++) { + // @ts-ignore + tree["fedora"][i.toString()] = fedoraDialogs[i].title; +} + +function visualizeTree(tree: Tree, key: string | null, prefix: string): string { + const subcategories = []; + const children = []; + + for (const key in tree) { + const value = tree[key]; + + if (typeof value === "string") { + children.push(`
  • + ${value} +
  • `); + } else { + subcategories.push(visualizeTree(value, key, `${prefix}${key}/`)); + } + } + + if (key === null) { + return `
    + ${subcategories.join("")} +
      ${children.join("")}
    +
    `; + } + + return `
    + ${key} + ${subcategories.join("")} +
      ${children.join("")}
    +
    `; +} + +const visualization = visualizeTree(tree, null, ""); +--- + + +
    +
    + distroquiz + +
    + +
    +
    + + diff --git a/src/pages/[lang]/distro/[...id].astro b/src/pages/[lang]/distro/[...id].astro new file mode 100644 index 0000000..eeec763 --- /dev/null +++ b/src/pages/[lang]/distro/[...id].astro @@ -0,0 +1,67 @@ +--- +import ChoiceList from "@/components/ChoiceList.astro"; +import TransitionLayout from "@/layouts/TransitionLayout.astro"; +import type { GetStaticPaths } from "astro"; +import type { CollectionEntry } from "astro:content"; +import { getEntry } from "astro:content"; +import { getCollection, render } from "astro:content"; +import { getRelativeLocaleUrl } from "astro:i18n"; + +export const getStaticPaths = (async () => { + const docs = await getCollection("distroGuide"); + + return docs.map((doc) => { + const [lang, ...slug] = doc.id.split("/"); + return { + params: { lang, id: slug.join("/") || undefined }, + props: { doc }, + }; + }); +}) satisfies GetStaticPaths; + +const { lang } = Astro.params; +const { doc } = Astro.props; + +let contentDoc: CollectionEntry<"commonText" | "distroGuide"> = doc; + +const commonPrefix = "common/"; +if (doc.data.aliasOf && doc.data.aliasOf.startsWith(commonPrefix)) { + const entry = await getEntry( + "commonText", + `${lang}/${doc.data.aliasOf.substring(commonPrefix.length)}` + ); + + if (entry !== undefined) { + contentDoc = entry; + } +} + +const { Content } = await render(contentDoc); +--- + + +
    +
    +

    {doc.data.title}

    + + { + doc.data.continueTo === undefined ? null : ( + + + Continue + + + ) + } +
    +
    +
    diff --git a/src/pages/en/contents.astro b/src/pages/en/contents.astro deleted file mode 100644 index f0f6a25..0000000 --- a/src/pages/en/contents.astro +++ /dev/null @@ -1,140 +0,0 @@ ---- -import BasicLayout from "@/layouts/BasicLayout.astro"; -import distroQuizDialogs from "@/data/distroquiz"; -import { getRelativeLocaleUrl } from "astro:i18n"; -import fedoraDialogs from "@/data/distro/fedora/fedora"; -import { getCollection } from "astro:content"; - -const docs = await getCollection("distroGuide"); ---- - - -
    -
    - distroquiz - -
    -
    - Fedora Linux -
    - Fedora Workstation -
      - { - docs - .filter((v) => { - const index = v.id.substring(19); - return !Number.isNaN(parseInt(index)); - }) - .map((v, i) => ( -
    • - - {v.data.title} - -
    • - )) - } -
    -
    - Installation -
      - { - docs - .filter((v) => { - const index = v.id.substring(27); - return !Number.isNaN(parseInt(index)); - }) - .map((v, i) => ( -
    • - - {v.data.title} - -
    • - )) - } -
    -
    -
    - After Installation -
      - { - docs - .filter((v) => { - const index = v.id.substring(32); - return !Number.isNaN(parseInt(index)); - }) - .map((v, i) => ( -
    • - - {v.data.title} - -
    • - )) - } -
    -
    -
    - -
    -
    -
    - - diff --git a/src/pages/en/distro/[...id].astro b/src/pages/en/distro/[...id].astro deleted file mode 100644 index 98db017..0000000 --- a/src/pages/en/distro/[...id].astro +++ /dev/null @@ -1,29 +0,0 @@ ---- -import TransitionLayout from "@/layouts/TransitionLayout.astro"; -import type { GetStaticPaths } from "astro"; -import { getCollection, render } from "astro:content"; - -export const getStaticPaths = (async () => { - const docs = await getCollection("distroGuide"); - - return docs.map((doc) => ({ - params: { id: doc.id }, - props: { doc }, - })); -}) satisfies GetStaticPaths; - -const { doc } = Astro.props; -const { Content } = await render(doc); ---- - - -
    -
    -

    {doc.data.title}

    - -
    -
    -
    diff --git a/src/pages/en/distro/fedora/[index].astro b/src/pages/en/distro/fedora/[index].astro index c68649e..55acec5 100644 --- a/src/pages/en/distro/fedora/[index].astro +++ b/src/pages/en/distro/fedora/[index].astro @@ -2,7 +2,7 @@ import TransitionLayout from "@/layouts/TransitionLayout.astro"; import { getChoices, mapStaticPaths } from "@/lib/tinyvn"; import type { GetStaticPaths } from "astro"; -import dialogs from "@/data/distro/fedora/fedora"; +import dialogs from "@/data/distro/en/fedora/fedora"; export const getStaticPaths = (() => { return mapStaticPaths(dialogs);