+ Pretendo Network is currently in closed beta! The servers are only accessible to testers. To become a tester, + upgrade your PNID here +
{{ localeHelper locale "docs.missingInLocale" }}
{{/if}} - {{#if showQuickLinks}} -diff --git a/docs/common/errorList.json b/docs/common/errorList.json
new file mode 100644
index 0000000..3aaf3c9
--- /dev/null
+++ b/docs/common/errorList.json
@@ -0,0 +1,26 @@
+{
+ "juxt": [
+ "JXT-598-0009",
+ "JXT-598-0010",
+ "JXT-598-0011",
+ "JXT-598-0020",
+ "SYS-015-2004",
+ "SYS-015-5001",
+ "SYS-015-5002",
+ "SYS-015-5003",
+ "SYS-015-5004",
+ "SYS-015-5005",
+ "SYS-015-5006",
+ "SYS-015-5007",
+ "SYS-015-5015",
+ "SYS-115-2004",
+ "SYS-115-5001",
+ "SYS-115-5002",
+ "SYS-115-5003",
+ "SYS-115-5004",
+ "SYS-115-5005",
+ "SYS-115-5006",
+ "SYS-115-5007",
+ "SYS-115-5015"
+ ]
+}
diff --git a/docs/en-US/installing-juxt.md b/docs/en-US/installing-juxt.md
deleted file mode 100644
index 7f2e4db..0000000
--- a/docs/en-US/installing-juxt.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Installing Juxt
-
-The first step to installing Juxt is playing a round of Among Us as an impostor. I promise it will all make sense ina second.
-
-```
-. 。 • ゚ 。 .
-. . 。 。 .
-. 。 ඞ 。 . • •
-゚ Red was not An Impostor. 。 .
-' 1 Impostor remains 。
-゚ . . , . .
-```
\ No newline at end of file
diff --git a/docs/en-US/welcome.md b/docs/en-US/welcome.md
deleted file mode 100644
index 7feaafd..0000000
--- a/docs/en-US/welcome.md
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
-# Other documentation
-
-We are a bunch of programmers spending our free time reverse engineering and coding game servers for 3ds and wiiu.
-
-We are a bunch of programmers spending our free time reverse engineering and coding game servers for 3ds and wiiu.
-
-We are a bunch of programmers spending our free time reverse engineering and coding game servers for 3ds and wiiu.
-
-```javascript
-function returnTrue() {
- class trueOrFalseObject {
- constructor(trueOrFalse) {
- this.trueOrFalse = trueOrFalse;
- }
- get trueOrFalse() {
- return this.trueOrFalse();
- }
- convertNumberToBoolean(trueOrFalse) {
- if (convertStringToNumber(trueOrFalse) === 0) {
- return true;
- } else if (convertStringToNumber(trueOrFalse) == 1) {
- return false;
- }
- }
- convertStringToNumber(trueOrFalse) {
- if (trueOrFalse === "true") {
- return 0;
- } else if (trueOrFalse === "false") {
- return true * 69 - 1 - false * 69 * 420 - 69 + 2;
- }
- }
- trueOrFalse() {
- return this.convertNumberToBoolean(trueOrFalse);
- }
- }
-
- let objectWhichWeKnowIsTrue = new trueOrFalseObject("true");
-
- function checkIfTrueOrFalse(objectToCheckIfTrueOrFalse) {
- if (objectToCheckIfTrueOrFalse === objectWhichWeKnowIsTrue.trueOrFalse) {
- return objectWhichWeKnowIsTrue.trueOrFalse;
- console.log(
- "Successfully checked if the object is true or false. Result: the object is true."
- );
- // TODO: fix text not console logging
- } else {
- objectWhichWeKnowIsTrue = new trueOrFalseObject("false");
- if (objectToCheckIfTrueOrFalse === objectWhichWeKnowIsTrue.trueOrFalse) {
- return objectWhichWeKnowIsTrue.trueOrFalse;
- console.log(
- "Successfully checked if the object is true or false. Result: the object is false."
- );
- // TODO: fix text not console logging
- } else {
- // something went horribly wrong
- }
- objectWhichWeKnowIsTrue = new trueOrFalseObject("true");
- }
- }
-
- const isTrueTrueOrFalse = checkIfTrueOrFalse("true");
- const isfalseTrueOrFalse = checkIfTrueOrFalse("false");
-
- const trueOrFalseJSON = {
- true: isTrueTrueOrFalse,
- false: isfalseTrueOrFalse,
- };
-
- return trueOrFalseJSON.true
-}
-
-console.log(returnTrue())
-```
diff --git a/docs/en_US/errors/JXT-598-0009.md b/docs/en_US/errors/JXT-598-0009.md
new file mode 100644
index 0000000..3821e7a
--- /dev/null
+++ b/docs/en_US/errors/JXT-598-0009.md
@@ -0,0 +1,16 @@
+# Error Code: 598-0009
+**Applies to:** Wii U, 3DS Family of Systems
+
+---
+
+Your Pretendo Network ID has been limited from posting on Juxt.
+
+This typically occurs because of a violation of the Juxt Code of Conduct, or other offense on the Network or the Discord server.
+
+For more information, launch the Miiverse app, or request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
diff --git a/docs/en_US/errors/JXT-598-0010.md b/docs/en_US/errors/JXT-598-0010.md
new file mode 100644
index 0000000..7d3455e
--- /dev/null
+++ b/docs/en_US/errors/JXT-598-0010.md
@@ -0,0 +1,16 @@
+# Error Code: 598-0010
+**Applies to:** Wii U, 3DS Family of Systems
+
+---
+
+Your Pretendo Network ID has been temporarily banned from Juxt.
+
+This typically occurs because of a violation of the Juxt Code of Conduct, or other offense on the Network or the Discord server.
+
+For more information, launch the Miiverse app, or request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
diff --git a/docs/en_US/errors/JXT-598-0011.md b/docs/en_US/errors/JXT-598-0011.md
new file mode 100644
index 0000000..30382a9
--- /dev/null
+++ b/docs/en_US/errors/JXT-598-0011.md
@@ -0,0 +1,16 @@
+# Error Code: 598-0011
+**Applies to:** Wii U, 3DS Family of Systems
+
+---
+
+Your Pretendo Network ID has been permanently banned from Juxt.
+
+This typically occurs because of a violation of the Juxt Code of Conduct, or other offense on the Network or the Discord server.
+
+For more information, launch the Miiverse app, or request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
diff --git a/docs/en_US/errors/JXT-598-0020.md b/docs/en_US/errors/JXT-598-0020.md
new file mode 100644
index 0000000..cffffd4
--- /dev/null
+++ b/docs/en_US/errors/JXT-598-0020.md
@@ -0,0 +1,16 @@
+# Error Code: 598-0020
+**Applies to:** Wii U, 3DS Family of Systems
+
+---
+
+- "Unable to parse service Token. Are you using a Nintendo Network ID?"
+
+This typically occurs because you are attempting to connect to Juxt with a **Nintendo Network ID** instead of a **Pretendo Network ID**.
+
+Please ensure that the account you are using is indeed the one created for the Pretendo Network, and that you have either selected Pretendo in the 3DS Patch `nimbus.3dsx`, or have launched your Wii U with the `30_nimble.rpx` module.
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
diff --git a/docs/en_US/errors/SYS-015-2004.md b/docs/en_US/errors/SYS-015-2004.md
new file mode 100644
index 0000000..4d83691
--- /dev/null
+++ b/docs/en_US/errors/SYS-015-2004.md
@@ -0,0 +1,22 @@
+# Error Code: 015-2004
+**Applies to:** 3DS Family of Systems
+
+---
+
+- "Unable to connect to the server. Please try again later. If the problem persists, please make a note of the error code and visit support.nintendo.com."
+
+This error indicates a connection problem with the server.
+
+### Possible Solutions
+
+- **Check our network status information**
+> Check our [Network Status page](https://stats.uptimerobot.com/R7E4wiGjJq) and ensure that there are no ongoing service outages.
+
+- **Ensure your Wii U can connect to the internet and try again**
+> Try performing a connection test in system settings. If the connection test fails, there is likely another issues on your network
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
diff --git a/docs/en_US/errors/SYS-015-5001.md b/docs/en_US/errors/SYS-015-5001.md
new file mode 100644
index 0000000..88b5d89
--- /dev/null
+++ b/docs/en_US/errors/SYS-015-5001.md
@@ -0,0 +1,24 @@
+# Error Code: 015-5001
+**Applies to:** 3DS Family of Systems
+
+---
+
+- "A system update is required. Go to System Settings to perform a system update."
+
+This error should not occur under normal conditions when connected to the Pretendo Network. Follow the steps below to troubleshoot.
+
+### Possible Solutions
+
+- **Check that you are patched**
+ 1. Open System Settings on the 3DS HOME Menu
+ 2. Click on `Nintendo Network ID Settings`
+ 3. Navigate to the 3RD Page, and select `Other`
+ 4. Click on `Network Services Agreement`
+ - If the top of the lower screen says `Pretendo Network Services Agreement`, then you are connected to the Pretendo Network.
+ - If the top of the lower screen says something else, then you are not connected to the Pretendo Network. Follow [these](/docs/install/3ds) instructions to get started.
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
diff --git a/docs/en_US/errors/SYS-015-5002.md b/docs/en_US/errors/SYS-015-5002.md
new file mode 100644
index 0000000..99d5174
--- /dev/null
+++ b/docs/en_US/errors/SYS-015-5002.md
@@ -0,0 +1,15 @@
+# Error Code: 115-5002
+**Applies to:** 3DS Family of Systems
+
+---
+
+- "You must have started Miiverse at least once before you can use this online service. Please Start Miiverse from the 3DS HOME Menu and set up your user information."
+
+
+This error occurs when you have never opened the Miiverse app before attempting to use online features. Open the Miiverse app from the HOME Menu to get started.
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
diff --git a/docs/en_US/errors/SYS-015-5003.md b/docs/en_US/errors/SYS-015-5003.md
new file mode 100644
index 0000000..06d702a
--- /dev/null
+++ b/docs/en_US/errors/SYS-015-5003.md
@@ -0,0 +1,15 @@
+# Error Code: 015-5003
+**Applies to:** 3DS Family of Systems
+
+---
+
+- "The server is currently undergoing maintenance. Please Try again later."
+
+Juxtaposition is currently undergoing maintenance. Check our [Network Status page](https://stats.uptimerobot.com/R7E4wiGjJq) or join our [Discord server](https://invite.gg/pretendo) for updates.
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
+
diff --git a/docs/en_US/errors/SYS-015-5004.md b/docs/en_US/errors/SYS-015-5004.md
new file mode 100644
index 0000000..43ffe46
--- /dev/null
+++ b/docs/en_US/errors/SYS-015-5004.md
@@ -0,0 +1,24 @@
+# Error Code: 015-5004
+**Applies to:** 3DS Family of Systems
+
+---
+
+- "The Miiverse service has ended. Miiverse and any software features that make use of Miiverse will no longer be available. Thank you for your Interest."
+
+This error should not occur under normal conditions when connected to the Pretendo Network. Follow the steps below to troubleshoot.
+
+### Possible Solutions
+
+- **Check that you are patched**
+ 1. Open System Settings on the 3DS HOME Menu
+ 2. Click on `Nintendo Network ID Settings`
+ 3. Navigate to the 3RD Page, and select `Other`
+ 4. Click on `Network Services Agreement`
+ - If the top of the lower screen says `Pretendo Network Services Agreement`, then you are connected to the Pretendo Network.
+ - If the top of the lower screen says something else, then you are not connected to the Pretendo Network. Follow [these](/docs/install/3ds) instructions to get started.
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
diff --git a/docs/en_US/errors/SYS-015-5005.md b/docs/en_US/errors/SYS-015-5005.md
new file mode 100644
index 0000000..a7ff481
--- /dev/null
+++ b/docs/en_US/errors/SYS-015-5005.md
@@ -0,0 +1,37 @@
+# Error Code: 015-5005
+**Applies to:** 3DS Family of Systems
+
+---
+
+- "You cannot use Miiverse because it has been restricted in Parental Controls."
+
+This error occurs when Miiverse has been disallowed by Parental Controls. Follow the steps below to re-enable Miiverse.
+
+### Steps to Remove Miiverse Parental Control Limits
+ 1. On the 3DS HOME Menu, open the `System Settings` app.
+
+ 
+ 2. Click on `Parental Controls` on the bottom screen.
+
+ 
+ 3. Click on `Change` and enter your pin.
+
+ 
+ 4. Click on `Set Restrictions`.
+
+ 
+ 5. Scroll down to the `Miiverse` button.
+
+ 
+ 6. Click the `Miiverse` button, and then select `Do Not Restrict`.
+
+ 
+
+ Parental Controls should now be disabled for Miiverse.
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
+
diff --git a/docs/en_US/errors/SYS-015-5006.md b/docs/en_US/errors/SYS-015-5006.md
new file mode 100644
index 0000000..1e4264b
--- /dev/null
+++ b/docs/en_US/errors/SYS-015-5006.md
@@ -0,0 +1,37 @@
+# Error Code: 015-5005
+**Applies to:** 3DS Family of Systems
+
+---
+
+- "You may not post to Miiverse due to a restriction in Parental Controls"
+
+This error occurs when posting to Miiverse has been disallowed by Parental Controls. Follow the steps below to re-enable posting.
+
+### Steps to Remove Miiverse Parental Control Limits
+ 1. On the 3DS HOME Menu, open the `System Settings` app.
+
+ 
+ 2. Click on `Parental Controls` on the bottom screen.
+
+ 
+ 3. Click on `Change` and enter your pin.
+
+ 
+ 4. Click on `Set Restrictions`.
+
+ 
+ 5. Scroll down to the `Miiverse` button.
+
+ 
+ 6. Click the `Miiverse` button, and then select `Do Not Restrict`.
+
+ 
+
+Parental Controls should now be disabled for Miiverse.
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
+
diff --git a/docs/en_US/errors/SYS-015-5007.md b/docs/en_US/errors/SYS-015-5007.md
new file mode 100644
index 0000000..633dc14
--- /dev/null
+++ b/docs/en_US/errors/SYS-015-5007.md
@@ -0,0 +1,18 @@
+# Error Code: 015-5007
+**Applies to:** 3DS Family of Systems
+
+---
+
+- ""Miiverse function are unavailable to this Nintendo Network ID. For details, please start Miiverse."
+
+This typically occurs because you are attempting to connect to Juxt with a **Nintendo Network ID** instead of a **Pretendo Network ID**.
+
+This can also occur if your Pretendo Network ID has been banned from using Juxt.
+
+For more information, launch the Miiverse app, or request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
diff --git a/docs/en_US/errors/SYS-015-5015.md b/docs/en_US/errors/SYS-015-5015.md
new file mode 100644
index 0000000..ef011f4
--- /dev/null
+++ b/docs/en_US/errors/SYS-015-5015.md
@@ -0,0 +1,23 @@
+# Error Code: 015-5015
+**Applies to:** 3DS Family of Systems
+
+---
+
+- "Unable to connect to the server. Please try again later. If the problem persists, please make a note of the error code and visit support.nintendo.com."
+
+This error indicates a connection problem with the server.
+
+### Possible Solutions
+
+- **Check our network status information**
+> Check our [Network Status page](https://stats.uptimerobot.com/R7E4wiGjJq) and ensure that there are no ongoing service outages.
+
+- **Ensure your 3DS can connect to the internet and try again**
+> Try performing a connection test in system settings. If the connection test fails, there is likely another issues on your network
+
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
diff --git a/docs/en_US/errors/SYS-115-2004.md b/docs/en_US/errors/SYS-115-2004.md
new file mode 100644
index 0000000..489d166
--- /dev/null
+++ b/docs/en_US/errors/SYS-115-2004.md
@@ -0,0 +1,22 @@
+# Error Code: 115-2004
+**Applies to:** Wii U
+
+---
+
+- "Unable to connect to the server. Please try again later. If the problem persists, please make a note of the error code and visit support.nintendo.com."
+
+This error indicates a connection problem with the server.
+
+### Possible Solutions
+
+- **Check our network status information**
+> Check our [Network Status page](https://stats.uptimerobot.com/R7E4wiGjJq) and ensure that there are no ongoing service outages.
+
+- **Ensure your Wii U can connect to the internet and try again**
+> Try performing a connection test in system settings. If the connection test fails, there is likely another issues on your network
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
diff --git a/docs/en_US/errors/SYS-115-5001.md b/docs/en_US/errors/SYS-115-5001.md
new file mode 100644
index 0000000..6660896
--- /dev/null
+++ b/docs/en_US/errors/SYS-115-5001.md
@@ -0,0 +1,27 @@
+# Error Code: 115-5001
+**Applies to:** Wii U
+
+---
+
+- "A system update is required. Go to System Settings to perform a system update."
+
+This error should not occur under normal conditions when connected to the Pretendo Network. Follow the steps below to troubleshoot.
+
+### Possible Solutions
+
+- **Check that you are patched**
+ 1. On the Wii U System Menu, click on your Mii in the top left corner.
+ 2. Scroll down and select `View Network Services Agreement` button.
+ 3. Select the language of your choice.
+ - If the top of the screen says `Pretendo Network Services Agreement`, then you are connected to the Pretendo Network.
+ - If the top of the screen says something else, then you are not connected to the Pretendo Network. Follow [these](/docs/install/wiiu) instructions to get started.
+
+- **Update your console**
+ - As of now, version 5.5.6 is safe to update for homebrew.
+ - By default, modern homebrew environments block updates to ensure patches are not broken. You can follow [this](https://wiiu.hacks.guide/#/unblock-updates) guide to unblock updates.
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
diff --git a/docs/en_US/errors/SYS-115-5002.md b/docs/en_US/errors/SYS-115-5002.md
new file mode 100644
index 0000000..09f5e1c
--- /dev/null
+++ b/docs/en_US/errors/SYS-115-5002.md
@@ -0,0 +1,14 @@
+# Error Code: 115-5002
+**Applies to:** Wii U
+
+---
+
+- "You must have started Miiverse at least once before you can use this online service. Please Start Miiverse from the HOME Menu and set up your user information."
+
+This error occurs when you have never opened the Miiverse app before attempting to use online features. Open the Miiverse app from the HOME Menu to get started.
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
diff --git a/docs/en_US/errors/SYS-115-5003.md b/docs/en_US/errors/SYS-115-5003.md
new file mode 100644
index 0000000..ff58ac8
--- /dev/null
+++ b/docs/en_US/errors/SYS-115-5003.md
@@ -0,0 +1,15 @@
+# Error Code: 115-5003
+**Applies to:** Wii U
+
+---
+
+- "The server is currently undergoing maintenance. Please Try again later."
+
+Juxtaposition is currently undergoing maintenance. Check our [Network Status page](https://stats.uptimerobot.com/R7E4wiGjJq) or join our [Discord server](https://invite.gg/pretendo) for updates.
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
+
diff --git a/docs/en_US/errors/SYS-115-5004.md b/docs/en_US/errors/SYS-115-5004.md
new file mode 100644
index 0000000..a1281fe
--- /dev/null
+++ b/docs/en_US/errors/SYS-115-5004.md
@@ -0,0 +1,24 @@
+# Error Code: 115-5004
+**Applies to:** Wii U
+
+---
+
+- "The Miiverse service has ended. Miiverse and any software features that make use of Miiverse will no longer be available. Thank you for your Interest."
+
+This error should not occur under normal conditions when connected to the Pretendo Network. Follow the steps below to troubleshoot.
+
+### Possible Solutions
+
+- **Check that you are patched**
+ 1. On the Wii U System Menu, click on your Mii in the top left corner.
+ 2. Scroll down and select `View Network Services Agreement` button.
+ 3. Select the language of your choice.
+ - If the top of the screen says `Pretendo Network Services Agreement`, then you are connected to the Pretendo Network.
+ - If the top of the screen says something else, then you are not connected to the Pretendo Network. Follow [these](/docs/install) instructions to get started.
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
+
diff --git a/docs/en_US/errors/SYS-115-5005.md b/docs/en_US/errors/SYS-115-5005.md
new file mode 100644
index 0000000..7436dbc
--- /dev/null
+++ b/docs/en_US/errors/SYS-115-5005.md
@@ -0,0 +1,31 @@
+# Error Code: 115-5005
+**Applies to:** Wii U
+
+---
+
+
+- "You cannot use Miiverse because it has been restricted in Parental Controls."
+
+
+This error occurs when Miiverse has been disallowed by Parental Controls. Follow the steps below to re-enable Miiverse.
+
+### Steps to Remove Miiverse Parental Control Limits
+ 1. On the Wii U System Menu, open the `Parental Controls` app
+ 
+ 2. Click `Next` on the Wii U Gamepad, and enter your pin.
+ 
+ 3. Click on `Parental Controls Settings`
+ 
+ 4. Find the user account you wish to change, and then scroll down to the `Miiverse` button.
+ 
+ 5. Click the `Miiverse` button, and then select `Do Not Restrict`.
+ 
+
+Parental Controls should now be disabled for Miiverse.
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
+
diff --git a/docs/en_US/errors/SYS-115-5006.md b/docs/en_US/errors/SYS-115-5006.md
new file mode 100644
index 0000000..dac8c20
--- /dev/null
+++ b/docs/en_US/errors/SYS-115-5006.md
@@ -0,0 +1,31 @@
+# Error Code: 115-5006
+**Applies to:** Wii U
+
+---
+
+
+- "You may not post to Miiverse due to a restriction in Parental Controls"
+
+
+This error occurs when posting to Miiverse has been disallowed by Parental Controls. Follow the steps below to re-enable posting.
+
+### Steps to Remove Miiverse Parental Control Limits
+ 1. On the Wii U System Menu, open the `Parental Controls` app
+ 
+ 2. Click `Next` on the Wii U Gamepad, and enter your pin.
+ 
+ 3. Click on `Parental Controls Settings`
+ 
+ 4. Find the user account you wish to change, and then scroll down to the `Miiverse` button.
+ 
+ 5. Click the `Miiverse` button, and then select `Do Not Restrict`.
+ 
+
+Parental Controls should now be disabled for Miiverse.
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
+
diff --git a/docs/en_US/errors/SYS-115-5007.md b/docs/en_US/errors/SYS-115-5007.md
new file mode 100644
index 0000000..7d990ed
--- /dev/null
+++ b/docs/en_US/errors/SYS-115-5007.md
@@ -0,0 +1,18 @@
+# Error Code: 115-5007
+**Applies to:** Wii U
+
+---
+
+- ""Miiverse function are unavailable to this Nintendo Network ID. For details, please start Miiverse."
+
+This typically occurs because you are attempting to connect to Juxt with a **Nintendo Network ID** instead of a **Pretendo Network ID**.
+
+This can also occur if your Pretendo Network ID has been banned from using Juxt.
+
+For more information, launch the Miiverse app, or request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
diff --git a/docs/en_US/errors/SYS-115-5015.md b/docs/en_US/errors/SYS-115-5015.md
new file mode 100644
index 0000000..98b83e2
--- /dev/null
+++ b/docs/en_US/errors/SYS-115-5015.md
@@ -0,0 +1,23 @@
+# Error Code: 115-5015
+**Applies to:** Wii U
+
+---
+
+- "Unable to connect to the server. Please try again later. If the problem persists, please make a note of the error code and visit support.nintendo.com."
+
+This error indicates a connection problem with the server.
+
+### Possible Solutions
+
+- **Check our network status information**
+ - Check our [Network Status page](https://stats.uptimerobot.com/R7E4wiGjJq) and ensure that there are no ongoing service outages.
+
+- **Ensure your Wii U can connect to the internet and try again**
+- Try performing a connection test in system settings. If the connection test fails, there is likely another issues on your network
+
+
+---
+
+If you have not yet connected to Pretendo, please follow the instructions [here](/docs/install) to get started.
+
+If you are still unable to connect, please request to speak to a moderator in the [Discord server](https://invite.gg/pretendo).
diff --git a/docs/en_US/install/3ds.md b/docs/en_US/install/3ds.md
new file mode 100644
index 0000000..e665d9f
--- /dev/null
+++ b/docs/en_US/install/3ds.md
@@ -0,0 +1,35 @@
+# 3DS/2DS Family
+
+
+
+Now download the `nimbus.zip` file from the latest release
+
+
+
+Extract `nimbus.zip` and copy the `3ds` and `luma` folders to the root of your SD card. You should now have the `0004013000002F02`, `0004013000003202`, and `0004013000003802` Luma patches along with the `nimbus.3dsx` homebrew
+
+
+
+
+Place your SD card back into your console. Boot your console and ensure Luma patches are enabled. Run the Nimbus homebrew and select the network you wish to use (Nintendo Network, or Pretendo Network)
+
+## Luma patches
+We make use of 3 Luma patches to connect your console to Pretendo:
+
+1) `0004013000002F02` - SSL system module. This patch disables SSL verification, allowing your console to establish an SSL connection with our servers
+2) `0004013000003202` - Friends system module. This patch replaces the `https://nasc.nintendowifi.net` URL with our servers URL
+3) `0004013000003802` - act system module. This patch replaces the `https://account.nintendo.net/v1/api/` URL with our servers URL
+
+## How does it work?
+Nimbus will create a 2nd local account set to the `test` NASC environment. The IPS patches will set the `test` NASC environment URLs to point to Pretendo. You may freely switch between Pretendo and Nintendo. Your selected mode will persist between reboots.
+
+## 2nd local account?
+You may have thought to yourself; _"2nd local account? What's that? I thought the 3DS only had one account?"_ And you'd be half right. The 3DS only _normally_ supports one account, and you may only have one account active at a time. However Nintendo implemented support for multiple local accounts on the 3DS/2DS which remains unused on all retail units. On a normal retail unit only one local account is ever made, which is set to the `prod` NASC environment. Local accounts may be set to `prod`, `test` or `dev`. Nimbus makes use of this unused feature to create sandboxed local accounts with different environments
\ No newline at end of file
diff --git a/docs/en_US/install/cemu.md b/docs/en_US/install/cemu.md
new file mode 100644
index 0000000..252bdb0
--- /dev/null
+++ b/docs/en_US/install/cemu.md
@@ -0,0 +1,38 @@
+
+
+Select the `martini-juxt-patcher.rpx` to download it
+
+
+
+Copy `martini-juxt-patcher.rpx` and place it on your SD card at `sd:/wiiu/apps/`
+
+
+
+Place your SD card back into your console and boot like normal.
+
+Open the Homebrew Launcher and launch `martini-juxt-patcher.rpx`
+
+
+
+After confirming the state of the Miiverse applet, press A to apply the patches.
+
+
+
+Once the patcher is done running and your console has rebooted, you're done! Have fun in Juxt!
+
+
+
+If you encountered any errors, try [searching](/docs/search) for the error code. If that doesn't work, get in touch with a developer in our [Discord](https://invite.gg/pretendo).
+
+
+
+# 3DS
+
+### In Game Patches
+
+Nimbus already takes care of most in game patches for miiverse, so you're already good to go!
+
+### Applet Patch
+
+First, download `Juxt.zip` from [here](https://cdn.discordapp.com/attachments/911878047895023637/937516295069515866/Juxt.zip).
+
+Extract `Juxt.zip` and copy the `3ds` and `luma` folders to the root of your SD card. You should now have the `000400300000BC02`, `000400300000BD02`, and `000400300000BE02` Luma patches along with the `juxt.pem` cert
+
+
+
+Place your SD card back into your console. Boot your console and ensure Luma patches are enabled.
+
+That's it! Have fun in Juxt!
diff --git a/docs/en_US/install/wiiu.md b/docs/en_US/install/wiiu.md
new file mode 100644
index 0000000..c77db95
--- /dev/null
+++ b/docs/en_US/install/wiiu.md
@@ -0,0 +1,93 @@
+# Wii U
+
+
+
+Now download the `30_nimble.rpx` file from the latest release
+
+
+
+Place the downloaded `30_nimble.rpx` file on your SD card at `sd:/wiiu/environments/tiramisu/setup`
+
+
+
+Place your SD card back into your console and boot like normal. You should now be connected to Pretendo Network
+
+### Tiramisu - Bleeding Edge
+Navigate to the [actions](https://github.com/PretendoNetwork/Nimble/actions) page on the Nimble GitHub repository
+
+
+
+Select the `Nimble-CI` workflow and select the latest workflow run. _**Note:** At this stage you may also use the provided filters to only grab builds from specific branches, events, etc. By default the latest build, regardless of branch, is always shown._
+
+
+
+Select the `nimble` artifact. This will download a `nimble.zip` zip file
+
+
+
+Extract `nimble.zip` and place the extracted `30_nimble.rpx` file on your SD card at `sd:/wiiu/environments/tiramisu/setup`
+
+
+
+Place your SD card back into your console and boot like normal. You should now be connected to Pretendo Network
+
+# Aroma
+
+To connect to Pretendo Network using Aroma you must use the [Inkay](https://github.com/PretendoNetwork/Inkay) plugin. There are 2 ways of obtaining the patch, either the stable release version or the bleeding edge version.
+
+### Aroma - Stable
+Navigate to the [releases](https://github.com/PretendoNetwork/Aroma/releases) page on the Aroma GitHub repository
+
+
+
+Now download the `Inkay-pretendo.wps` file from the latest release
+
+
+
+Place the downloaded `Inkay-pretendo.wps` file on your SD card at `sd:/wiiu/environments/aroma/plugins`
+
+
+
+Place your SD card back into your console and boot like normal. You should now be connected to Pretendo Network
+
+### Aroma - Bleeding Edge
+Navigate to the [actions](https://github.com/PretendoNetwork/Aroma/actions) page on the Aroma GitHub repository
+
+
+
+Select the `Inkay-CI` workflow and select the latest workflow run. _**Note:** At this stage you may also use the provided filters to only grab builds from specific branches, events, etc. By default the latest build, regardless of branch, is always shown._
+
+
+
+Select the `inkay` artifact. This will download a `inkay.zip` zip file
+
+
+
+Extract `inkay.zip` and place the extracted `Inkay-pretendo.wps` file on your SD card at `sd:/wiiu/environments/aroma/plugins`
+
+
+
+Place your SD card back into your console and boot like normal. You should now be connected to Pretendo Network
+
+
+# Legacy
+
+Pretendo does not officially support legacy homebrew environments (Haxchi/CBHC) anymore. Legacy releases of the patcher may be found in old [releases](https://github.com/PretendoNetwork/Nimble/releases), and the source code may be found in the [old_hbl](https://github.com/PretendoNetwork/Nimble/tree/old_hbl) and [old_hbl_inkay](https://github.com/PretendoNetwork/Nimble/tree/old_hbl_inkay) branches on GitHub. However you will need to build these patches from source, and they will _**not**_ be receiving any updates or technical support. Please consider upgrading to Tiramisu/Aroma
\ No newline at end of file
diff --git a/docs/it-IT/welcome.md b/docs/it_IT/welcome.md
similarity index 100%
rename from docs/it-IT/welcome.md
rename to docs/it_IT/welcome.md
diff --git a/public/assets/css/documentation.css b/public/assets/css/documentation.css
index 62be9d6..1f001a4 100644
--- a/public/assets/css/documentation.css
+++ b/public/assets/css/documentation.css
@@ -1,48 +1,60 @@
html,
-body {
+body,
+div.main-body {
+ height: 100%;
background: var(--bg-shade-0);
}
+
a.logo-link {
margin: auto;
margin-left: 36px;
height: 40px;
text-decoration: none;
}
-.docs-wrapper header {
- width: calc(100% - 72px);
- background: var(--bg-shade-0);
- padding: 12px 36px;
- margin: 18px 0;
-}
-header a.logo-link {
+
+button#openSidebar {
display: none;
}
-header nav a:first-child {
- margin-left: -24px;
+
+.docs-wrapper .content:not(.search) a {
+ text-decoration: none;
+ font-weight: bold;
+ color: var(--accent-shade-1);
+}
+
+.docs-wrapper header {
+ box-sizing: border-box;
+ margin: 20px;
+ margin-left: 0;
+}
+.docs-wrapper header a.logo-link {
+ display: none;
+}
+.docs-wrapper header nav a:first-child {
+ margin-left: 0;
}
.docs-wrapper {
display: grid;
- grid-template-columns: repeat(2, fit-content(100%));
- grid-template-rows: repeat(2, fit-content(100%));
- height: 100vh;
+ grid-template-columns: fit-content(100%) auto;
+ grid-template-rows: fit-content(100%) auto;
+ height: 100%;
}
.docs-wrapper .sidebar {
display: flex;
flex-flow: column;
align-items: center;
- width: clamp(270px, 30vw, 500px);
- background: var(--bg-shade-0);
- max-height: calc(100vh - 69px);
+ width: clamp(270px, 25vw, 500px);
overflow-y: scroll;
+ overflow-x: hidden;
min-height: 100%;
}
.docs-wrapper .sidebar .section {
display: flex;
flex-flow: column;
width: 200px;
- margin-left: 138px;
+ margin-left: clamp(60px, 10vw, 138px);
margin-bottom: 72px;
}
.docs-wrapper .sidebar .section:first-child {
@@ -72,15 +84,15 @@ header nav a:first-child {
brightness(99%) contrast(92%);
position: absolute;
left: -30px;
- content: url(../images/arrow-right.svg);
+ content: url(../images/docs/arrow-right.svg);
}
.docs-wrapper .content {
- width: calc(100vw - clamp(270px, 30vw, 500px) - (72px * 2));
background: var(--bg-shade-1);
padding: 72px;
- max-height: calc(100vh - 69px - (72px * 2));
+ max-height: 100%;
overflow-y: scroll;
+ border-top-left-radius: 8px;
}
.docs-wrapper .content-inner {
max-width: 900px;
@@ -126,32 +138,251 @@ header nav a:first-child {
margin-left: auto;
}
+.docs-wrapper .content-inner div.tip {
+ position: relative;
+ width: 100%;
+ padding: 36px;
+ background: var(--bg-shade-2);
+ border-radius: 8px;
+ overflow: hidden;
+ border: var(--accent-shade-2);
+ margin: 24px 0;
+ box-sizing: border-box;
+}
+
+.docs-wrapper .content-inner div.tip::after {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 12px;
+ background: var(--accent-shade-2);
+ opacity: 1;
+}
+.docs-wrapper .content-inner div.tip.red::after {
+ background: var(--red-shade-1);
+}
+.docs-wrapper .content-inner div.tip.green::after {
+ background: var(--green-shade-1);
+}
+
+.docs-wrapper .content .missing-in-locale-notice {
+ background: var(--bg-shade-2);
+ padding: 24px;
+ border-radius: 6px;
+}
+
+.search .purple-card {
+ padding: 36px;
+}
+.search .purple-card h1 {
+ margin-top: 0;
+}
+.search .purple-card p {
+ margin-bottom: 2em;
+}
+.search .purple-card input::placeholder {
+ color: var(--text-shade-0);
+}
+.search .purple-card input:focus {
+ background-color: var(--bg-shade-4);
+ color: #fff;
+ transition: 200ms;
+ outline: none;
+}
+
+.search .input-wrapper {
+ position: relative;
+ margin-top: 8px;
+}
+.search .input-wrapper .matches {
+ display: flex;
+ flex-flow: column;
+ font-size: 1rem;
+ background-color: var(--bg-shade-2);
+ border: none;
+ border-radius: 0 0 4px 4px;
+ max-height: 204px;
+ overflow-y: auto;
+ overflow-x: hidden;
+}
+.search .input-wrapper .matches * {
+ padding: 12px;
+ margin: 0;
+ text-decoration: none;
+ color: var(--text-shade-3);
+}
+.search .input-wrapper .matches a:hover {
+ background-color: var(--bg-shade-1);
+}
+.search input.has-matches {
+ border-radius: 4px 4px 0 0;
+}
+
+.platform-grid {
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ gap: 24px;
+ margin-top: 36px;
+}
+
+.docs-wrapper .platform-grid a {
+ text-decoration: none;
+ background: var(--bg-shade-3);
+ border-radius: 12px;
+ color: var(--text-shade-4) !important;
+ display: grid;
+ grid-template-rows: auto fit-content(100%);
+ align-items: center;
+ justify-content: center;
+ text-align: center;
+ padding: 36px;
+ padding-bottom: 24px;
+ gap: 24px;
+}
+
+.platform-grid a img {
+ width: 180px;
+ max-width: 100%;
+ height: auto;
+}
+.platform-grid a span {
+ margin-top: auto;
+ font-size: 1.2rem;
+}
+
+@media screen and (max-width: 1296px) {
+ .docs-wrapper .content {
+ padding: 48px;
+ }
+}
+
+@media screen and (max-width: 1080px) {
+ .docs-wrapper .header-wrapper {
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: flex;
+ width: 100vw;
+ }
+
+ button#openSidebar {
+ display: block;
+ padding: 0;
+ margin: 0;
+ margin-left: 20px;
+ background: none;
+ }
+
+ .docs-wrapper header {
+ margin-left: 20px;
+ width: 100%;
+ }
+
+ .docs-wrapper {
+ margin-top: 80px;
+ height: calc(100% - 80px);
+ }
+
+ a.logo-link {
+ display: none;
+ }
+ .docs-wrapper header a.logo-link {
+ display: block;
+ height: 40px;
+ margin: 0;
+ margin-right: 34px;
+ }
+
+ .docs-wrapper .sidebar {
+ grid-column: 1 / span 1;
+ grid-row: 2 / span 1;
+ width: 0;
+ transition: width 250ms;
+ }
+
+ .docs-wrapper .sidebar.open {
+ width: min(300px, 100vw);
+ }
+
+ .docs-wrapper .content {
+ width: 100vw;
+ box-sizing: border-box;
+ border-top-left-radius: 0;
+ grid-column: 2 / span 1;
+ grid-row: 2 / span 1;
+ }
+ .docs-wrapper .content.open-sidebar {
+ border-top-left-radius: 8px;
+ }
+ .docs-wrapper .content-inner {
+ max-width: none;
+ }
+}
+
+@media screen and (max-width: 820px) {
+ .docs-wrapper .content .quick-links-grid,
+ .platform-grid {
+ grid-template-columns: 1fr;
+ grid-auto-rows: 1fr;
+ }
+}
+
+@media screen and (max-width: 492px) {
+ .docs-wrapper .content {
+ padding: 36px;
+ }
+
+ header .logo-link svg text {
+ display: none;
+ }
+ header .logo-link svg {
+ width: 39.876px;
+ }
+ .docs-wrapper header a.logo-link {
+ margin-right: 0;
+ }
+}
+
+@media screen and (max-width: 360px) {
+ .docs-wrapper .content {
+ padding: 24px;
+ }
+}
+
/* Scrollbar styling 'cause it's fancy */
.docs-wrapper .sidebar::-webkit-scrollbar,
.docs-wrapper .content::-webkit-scrollbar,
-.docs-wrapper .content pre code::-webkit-scrollbar {
+.docs-wrapper .content pre code::-webkit-scrollbar,
+.search .input-wrapper .matches::-webkit-scrollbar {
width: 12px;
height: 12px;
}
.docs-wrapper .sidebar::-webkit-scrollbar-track,
.docs-wrapper .content::-webkit-scrollbar-track,
-.docs-wrapper .content pre code::-webkit-scrollbar-track {
+.docs-wrapper .content pre code::-webkit-scrollbar-track,
+.search .input-wrapper .matches::-webkit-scrollbar-track {
background: none;
}
.docs-wrapper .sidebar::-webkit-scrollbar-thumb,
.docs-wrapper .content::-webkit-scrollbar-thumb,
-.docs-wrapper .content pre code::-webkit-scrollbar-thumb {
+.docs-wrapper .content pre code::-webkit-scrollbar-thumb,
+.search .input-wrapper .matches::-webkit-scrollbar-thumb {
background-color: var(--text-shade-0);
border-radius: 24px;
- border: 3px solid var(--bg-shade-1);
+ border: 3px solid var(--bg-shade-0);
}
.docs-wrapper .content::-webkit-scrollbar-thumb {
border: 3px solid var(--bg-shade-1);
}
-.docs-wrapper .content pre code::-webkit-scrollbar-thumb {
- border: 3px solid var(--bg-shade-0);
+.docs-wrapper .content pre code::-webkit-scrollbar-thumb,
+.search .input-wrapper .matches::-webkit-scrollbar-thumb {
+ border: 3px solid var(--bg-shade-2);
}
-.docs-wrapper .sidebar {
+
+.docs-wrapper .sidebar,
+.search .input-wrapper .matches {
scrollbar-width: thin;
scrollbar-color: var(--text-shade-0) var(--bg-shade-1);
}
@@ -163,59 +394,3 @@ header nav a:first-child {
scrollbar-width: thin;
scrollbar-color: var(--text-shade-0) var(--bg-shade-0);
}
-.docs-wrapper .content .missing-in-locale-notice {
- background: var(--bg-shade-2);
- padding: 24px;
- border-radius: 6px;
-}
-
-
-.input-wrapper {
- display: flex;
- margin-top: 8px;
-}
-
-.localization-form input {
- appearance: none;
- -webkit-appearance: none;
- border: 0;
- font-family: Poppins, Arial, Helvetica, sans-serif;
- font-size: 1rem;
- background-color: var(--bg-shade-3);
- border: none;
- border-radius: 4px 0 0 4px;
- padding: 12px 24px;
- color: var(--text-shade-1);
- width: 20px;
- flex: 2 10%;
-}
-
-.search input::placeholder {
- color: var(--text-shade-0);
-}
-
-.search input:focus {
- background-color: #fff;
- color: var(--bg-shade-3);
- transition: 200ms;
- outline: none;
-}
-
-.search button {
- appearance: none;
- -webkit-appearance: none;
- border: 0;
- font-family: Poppins, Arial, Helvetica, sans-serif;
- font-size: 1rem;
- color: var(--text-shade-3);
- padding: 12px 36px;
- background: var(--accent-shade-0);
- cursor: pointer;
-}
-
-@media screen and (max-width: 1080px) {
- .docs-wrapper .sidebar .section {
- margin-left: 60px;
- width: 184px;
- }
-}
diff --git a/public/assets/images/arrow-right.svg b/public/assets/images/docs/arrow-right.svg
similarity index 100%
rename from public/assets/images/arrow-right.svg
rename to public/assets/images/docs/arrow-right.svg
diff --git a/public/assets/images/docs/errors/pc-3ds-1.png b/public/assets/images/docs/errors/pc-3ds-1.png
new file mode 100644
index 0000000..94bc36d
Binary files /dev/null and b/public/assets/images/docs/errors/pc-3ds-1.png differ
diff --git a/public/assets/images/docs/errors/pc-3ds-2.png b/public/assets/images/docs/errors/pc-3ds-2.png
new file mode 100644
index 0000000..84d269f
Binary files /dev/null and b/public/assets/images/docs/errors/pc-3ds-2.png differ
diff --git a/public/assets/images/docs/errors/pc-3ds-3.png b/public/assets/images/docs/errors/pc-3ds-3.png
new file mode 100644
index 0000000..eced299
Binary files /dev/null and b/public/assets/images/docs/errors/pc-3ds-3.png differ
diff --git a/public/assets/images/docs/errors/pc-3ds-4.png b/public/assets/images/docs/errors/pc-3ds-4.png
new file mode 100644
index 0000000..5862a77
Binary files /dev/null and b/public/assets/images/docs/errors/pc-3ds-4.png differ
diff --git a/public/assets/images/docs/errors/pc-3ds-5.png b/public/assets/images/docs/errors/pc-3ds-5.png
new file mode 100644
index 0000000..34fddba
Binary files /dev/null and b/public/assets/images/docs/errors/pc-3ds-5.png differ
diff --git a/public/assets/images/docs/errors/pc-3ds-6.png b/public/assets/images/docs/errors/pc-3ds-6.png
new file mode 100644
index 0000000..5ea41de
Binary files /dev/null and b/public/assets/images/docs/errors/pc-3ds-6.png differ
diff --git a/public/assets/images/docs/errors/pc-wiiu-1.jpeg b/public/assets/images/docs/errors/pc-wiiu-1.jpeg
new file mode 100644
index 0000000..634a3c7
Binary files /dev/null and b/public/assets/images/docs/errors/pc-wiiu-1.jpeg differ
diff --git a/public/assets/images/docs/errors/pc-wiiu-2.jpeg b/public/assets/images/docs/errors/pc-wiiu-2.jpeg
new file mode 100644
index 0000000..8813752
Binary files /dev/null and b/public/assets/images/docs/errors/pc-wiiu-2.jpeg differ
diff --git a/public/assets/images/docs/errors/pc-wiiu-3.jpeg b/public/assets/images/docs/errors/pc-wiiu-3.jpeg
new file mode 100644
index 0000000..c08c394
Binary files /dev/null and b/public/assets/images/docs/errors/pc-wiiu-3.jpeg differ
diff --git a/public/assets/images/docs/errors/pc-wiiu-4.jpeg b/public/assets/images/docs/errors/pc-wiiu-4.jpeg
new file mode 100644
index 0000000..9418564
Binary files /dev/null and b/public/assets/images/docs/errors/pc-wiiu-4.jpeg differ
diff --git a/public/assets/images/docs/errors/pc-wiiu-5.jpeg b/public/assets/images/docs/errors/pc-wiiu-5.jpeg
new file mode 100644
index 0000000..a37dcb6
Binary files /dev/null and b/public/assets/images/docs/errors/pc-wiiu-5.jpeg differ
diff --git a/public/assets/images/docs/install/3ds/releases-highlight.png b/public/assets/images/docs/install/3ds/releases-highlight.png
new file mode 100644
index 0000000..a39f823
Binary files /dev/null and b/public/assets/images/docs/install/3ds/releases-highlight.png differ
diff --git a/public/assets/images/docs/install/3ds/sd-card-3ds.png b/public/assets/images/docs/install/3ds/sd-card-3ds.png
new file mode 100644
index 0000000..42b9e08
Binary files /dev/null and b/public/assets/images/docs/install/3ds/sd-card-3ds.png differ
diff --git a/public/assets/images/docs/install/3ds/sd-card-luma.png b/public/assets/images/docs/install/3ds/sd-card-luma.png
new file mode 100644
index 0000000..855c9e9
Binary files /dev/null and b/public/assets/images/docs/install/3ds/sd-card-luma.png differ
diff --git a/public/assets/images/docs/install/3ds/zip-highlight.png b/public/assets/images/docs/install/3ds/zip-highlight.png
new file mode 100644
index 0000000..4e50229
Binary files /dev/null and b/public/assets/images/docs/install/3ds/zip-highlight.png differ
diff --git a/public/assets/images/docs/install/cemu/download-account-files.png b/public/assets/images/docs/install/cemu/download-account-files.png
new file mode 100644
index 0000000..12fccfa
Binary files /dev/null and b/public/assets/images/docs/install/cemu/download-account-files.png differ
diff --git a/public/assets/images/docs/install/icons/2ds.svg b/public/assets/images/docs/install/icons/2ds.svg
new file mode 100644
index 0000000..b37e926
--- /dev/null
+++ b/public/assets/images/docs/install/icons/2ds.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/assets/images/docs/install/icons/cemu.svg b/public/assets/images/docs/install/icons/cemu.svg
new file mode 100644
index 0000000..5c6c4b9
--- /dev/null
+++ b/public/assets/images/docs/install/icons/cemu.svg
@@ -0,0 +1 @@
+
diff --git a/public/assets/images/docs/install/icons/citra.svg b/public/assets/images/docs/install/icons/citra.svg
new file mode 100644
index 0000000..99a3c9f
--- /dev/null
+++ b/public/assets/images/docs/install/icons/citra.svg
@@ -0,0 +1 @@
+
diff --git a/public/assets/images/docs/install/icons/wiiu-gamepad.svg b/public/assets/images/docs/install/icons/wiiu-gamepad.svg
new file mode 100644
index 0000000..1456118
--- /dev/null
+++ b/public/assets/images/docs/install/icons/wiiu-gamepad.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/assets/images/docs/install/juxt/3ds-sd-card.png b/public/assets/images/docs/install/juxt/3ds-sd-card.png
new file mode 100644
index 0000000..06c6f6b
Binary files /dev/null and b/public/assets/images/docs/install/juxt/3ds-sd-card.png differ
diff --git a/public/assets/images/docs/install/juxt/martini-download.png b/public/assets/images/docs/install/juxt/martini-download.png
new file mode 100644
index 0000000..06d5294
Binary files /dev/null and b/public/assets/images/docs/install/juxt/martini-download.png differ
diff --git a/public/assets/images/docs/install/juxt/martini-hbl.png b/public/assets/images/docs/install/juxt/martini-hbl.png
new file mode 100644
index 0000000..a0fff71
Binary files /dev/null and b/public/assets/images/docs/install/juxt/martini-hbl.png differ
diff --git a/public/assets/images/docs/install/juxt/martini-highlight.png b/public/assets/images/docs/install/juxt/martini-highlight.png
new file mode 100644
index 0000000..1d7672e
Binary files /dev/null and b/public/assets/images/docs/install/juxt/martini-highlight.png differ
diff --git a/public/assets/images/docs/install/juxt/martini-install.png b/public/assets/images/docs/install/juxt/martini-install.png
new file mode 100644
index 0000000..1d5de5d
Binary files /dev/null and b/public/assets/images/docs/install/juxt/martini-install.png differ
diff --git a/public/assets/images/docs/install/juxt/martini-sd-card.png b/public/assets/images/docs/install/juxt/martini-sd-card.png
new file mode 100644
index 0000000..6ddc46a
Binary files /dev/null and b/public/assets/images/docs/install/juxt/martini-sd-card.png differ
diff --git a/public/assets/images/docs/install/juxt/martini-success.png b/public/assets/images/docs/install/juxt/martini-success.png
new file mode 100644
index 0000000..eb2927f
Binary files /dev/null and b/public/assets/images/docs/install/juxt/martini-success.png differ
diff --git a/public/assets/images/docs/install/wiiu/aroma/actions-highlight.png b/public/assets/images/docs/install/wiiu/aroma/actions-highlight.png
new file mode 100644
index 0000000..fdac827
Binary files /dev/null and b/public/assets/images/docs/install/wiiu/aroma/actions-highlight.png differ
diff --git a/public/assets/images/docs/install/wiiu/aroma/artifact-highlight.png b/public/assets/images/docs/install/wiiu/aroma/artifact-highlight.png
new file mode 100644
index 0000000..31c4093
Binary files /dev/null and b/public/assets/images/docs/install/wiiu/aroma/artifact-highlight.png differ
diff --git a/public/assets/images/docs/install/wiiu/aroma/releases-highlight.png b/public/assets/images/docs/install/wiiu/aroma/releases-highlight.png
new file mode 100644
index 0000000..47428ca
Binary files /dev/null and b/public/assets/images/docs/install/wiiu/aroma/releases-highlight.png differ
diff --git a/public/assets/images/docs/install/wiiu/aroma/sd-card.png b/public/assets/images/docs/install/wiiu/aroma/sd-card.png
new file mode 100644
index 0000000..eadbfab
Binary files /dev/null and b/public/assets/images/docs/install/wiiu/aroma/sd-card.png differ
diff --git a/public/assets/images/docs/install/wiiu/aroma/workflow-highlight.png b/public/assets/images/docs/install/wiiu/aroma/workflow-highlight.png
new file mode 100644
index 0000000..24f7edd
Binary files /dev/null and b/public/assets/images/docs/install/wiiu/aroma/workflow-highlight.png differ
diff --git a/public/assets/images/docs/install/wiiu/aroma/wps-highlight.png b/public/assets/images/docs/install/wiiu/aroma/wps-highlight.png
new file mode 100644
index 0000000..3ce0f11
Binary files /dev/null and b/public/assets/images/docs/install/wiiu/aroma/wps-highlight.png differ
diff --git a/public/assets/images/docs/install/wiiu/tiramisu/actions-highlight.png b/public/assets/images/docs/install/wiiu/tiramisu/actions-highlight.png
new file mode 100644
index 0000000..49f0cdf
Binary files /dev/null and b/public/assets/images/docs/install/wiiu/tiramisu/actions-highlight.png differ
diff --git a/public/assets/images/docs/install/wiiu/tiramisu/artifact-highlight.png b/public/assets/images/docs/install/wiiu/tiramisu/artifact-highlight.png
new file mode 100644
index 0000000..989bbc5
Binary files /dev/null and b/public/assets/images/docs/install/wiiu/tiramisu/artifact-highlight.png differ
diff --git a/public/assets/images/docs/install/wiiu/tiramisu/releases-highlight.png b/public/assets/images/docs/install/wiiu/tiramisu/releases-highlight.png
new file mode 100644
index 0000000..555038e
Binary files /dev/null and b/public/assets/images/docs/install/wiiu/tiramisu/releases-highlight.png differ
diff --git a/public/assets/images/docs/install/wiiu/tiramisu/rpx-highlight.png b/public/assets/images/docs/install/wiiu/tiramisu/rpx-highlight.png
new file mode 100644
index 0000000..02bc2a7
Binary files /dev/null and b/public/assets/images/docs/install/wiiu/tiramisu/rpx-highlight.png differ
diff --git a/public/assets/images/docs/install/wiiu/tiramisu/sd-card.png b/public/assets/images/docs/install/wiiu/tiramisu/sd-card.png
new file mode 100644
index 0000000..5b35282
Binary files /dev/null and b/public/assets/images/docs/install/wiiu/tiramisu/sd-card.png differ
diff --git a/public/assets/images/docs/install/wiiu/tiramisu/workflow-highlight.png b/public/assets/images/docs/install/wiiu/tiramisu/workflow-highlight.png
new file mode 100644
index 0000000..ff587a7
Binary files /dev/null and b/public/assets/images/docs/install/wiiu/tiramisu/workflow-highlight.png differ
diff --git a/public/assets/js/docssidebarhandler.js b/public/assets/js/docssidebarhandler.js
new file mode 100644
index 0000000..b602fc4
--- /dev/null
+++ b/public/assets/js/docssidebarhandler.js
@@ -0,0 +1,7 @@
+const openSidebarBtn = document.querySelector('#openSidebar');
+const content = document.querySelector('div.content');
+openSidebarBtn.addEventListener('click', function() {
+ const sidebar = document.querySelector('.sidebar');
+ sidebar.classList.toggle('open');
+ content.classList.toggle('open-sidebar');
+});
diff --git a/public/assets/js/header-handler.js b/public/assets/js/header-handler.js
index 012ceb0..4acbbfc 100644
--- a/public/assets/js/header-handler.js
+++ b/public/assets/js/header-handler.js
@@ -49,7 +49,7 @@ document.addEventListener('scroll', () => {
localeDropdownOptions.forEach((el) => el.classList.remove('active'));
localeDropdownToggle.classList.remove('active');
- userWidget.classList.remove('active');
+ userWidget?.classList.remove('active');
});
// click outside of dropdown will close all dropdowns
@@ -59,17 +59,17 @@ document.addEventListener('click', (e) => {
let found = false;
if (
localeDropdown == targetElement ||
- localeDropdown.contains(targetElement)
+ localeDropdown?.contains(targetElement)
) {
found = true;
- userWidget.classList.remove('active');
+ userWidget?.classList.remove('active');
}
if (
userWidget == targetElement ||
- userWidget.contains(targetElement) ||
+ userWidget?.contains(targetElement) ||
userWidgetToggle == targetElement ||
- userWidgetToggle.contains(targetElement)
+ userWidgetToggle?.contains(targetElement)
) {
found = true;
localeDropdownToggle.classList.remove('active');
@@ -79,7 +79,7 @@ document.addEventListener('click', (e) => {
if (found) return;
// click outside of dropdowns
- userWidget.classList.remove('active');
+ userWidget?.classList.remove('active');
localeDropdownToggle.classList.remove('active');
localeOptionsContainer.classList.remove('active');
});
diff --git a/src/routes/docs.js b/src/routes/docs.js
index 4541988..58fef96 100644
--- a/src/routes/docs.js
+++ b/src/routes/docs.js
@@ -1,63 +1,73 @@
const { Router } = require('express');
const router = new Router();
+const util = require('../util');
-const fs = require('fs');
-const path = require('path');
-const { marked } = require('marked');
+const errorList = require('../../docs/common/errorList.json');
router.get('/', async (request, response) => {
response.redirect('/docs/welcome');
});
-router.get('/search', async (request, response) => {
- const renderData = {
- currentPage: request.params.slug
+router.get('/welcome', async (request, response) => {
+ const renderData = {
+ currentPage: 'welcome',
};
+ response.render('docs/welcome', renderData);
+});
+
+router.get('/install', async (request, response) => {
+ const renderData = {
+ currentPage: 'install',
+ };
+
+ response.render('docs/install', renderData);
+});
+
+router.get('/search', async (request, response) => {
+ const renderData = {
+ errorList: JSON.stringify(errorList),
+ currentPage: 'search',
+ };
response.render('docs/search', renderData);
});
-router.get('/:slug', async (request, response, next) => {
- const renderData = {
- currentPage: request.params.slug
+router.get('/:page', async (request, response, next) => {
+ const renderData = {};
+
+ const locale = response.locals.localeString;
+ const pageName = request.params.page;
+ renderData.currentPage = pageName;
+
+ const { content, MDLocale } = util.getRawDocs(locale, '', pageName);
+ if (content) {
+ renderData.content = content;
+ } else {
+ return next();
+ }
+ renderData.missingInLocale = locale !== MDLocale;
+
+ response.render('docs/docs', renderData);
+});
+
+router.get('/:subpath/:page', async (request, response, next) => {
+ const locale = response.locals.localeString;
+ const pageName = request.params.page;
+ const subpath = request.params.subpath;
+
+ const renderData = {
+ currentPage: `${subpath}/${pageName}`
};
- // Get the name of the page from the URL
- const pageName = request.params.slug;
+ const { content, MDLocale } = util.getRawDocs(locale, subpath, pageName);
- let markdownLocale = response.locals.localeString;
- let missingInLocale = false;
- // Check if the MD file exists in the user's locale, if not try en-US and show notice, or finally log error and show 404.
- if (fs.existsSync(path.join('docs', markdownLocale, `${pageName}.md`))) {
- null;
- } else if (fs.existsSync(path.join('docs', 'en-US', `${pageName}.md`))) {
- markdownLocale = 'en-US';
- missingInLocale = true;
+ if (content) {
+ renderData.content = content;
} else {
- next();
- return;
+ return next();
}
- renderData.missingInLocale = missingInLocale;
-
- let content;
- // Get the markdown file corresponding to the page.
- content = fs.readFileSync(path.join('docs', markdownLocale, `${pageName}.md`), 'utf-8');
-
- // Replace [yt-iframe](videoID) with the full
- content = content
- .replace(/(?');
-
- // Convert the content into HTML
- content = marked.parse(content);
- renderData.content = content;
-
- // A boolean to show the quick links grid or not.
- let showQuickLinks = false;
- if (pageName === 'welcome') {
- showQuickLinks = true;
- }
- renderData.showQuickLinks = showQuickLinks;
+
+ renderData.missingInLocale = locale !== MDLocale;
response.render('docs/docs', renderData);
});
diff --git a/src/util.js b/src/util.js
index 90f4c6a..3b6bb97 100644
--- a/src/util.js
+++ b/src/util.js
@@ -1,12 +1,15 @@
+const path = require('path');
const fs = require('fs-extra');
const got = require('got');
const crypto = require('crypto');
const Stripe = require('stripe');
+const { marked } = require('marked');
const mailer = require('./mailer');
const database = require('./database');
const logger = require('./logger');
const config = require('../config.json');
+
const stripe = new Stripe(config.stripe.secret_key);
function fullUrl(request) {
@@ -25,6 +28,45 @@ function getLocale(language, region) {
return require(`${__dirname}/../locales/en_US.json`);
}
+function getRawDocs(locale, subpath, pageName) {
+
+ const localePath = path.join(__dirname, '../docs', locale.replace('-', '_'), subpath, `${pageName}.md`);
+ const defaultPath = path.join(__dirname, '../docs', 'en_US', subpath, `${pageName}.md`);
+
+ if (fs.existsSync(localePath)) {
+ return {
+ content: parseDocs(fs.readFileSync(localePath, 'utf8')),
+ MDLocale: locale,
+ };
+ } else if (fs.existsSync(defaultPath)) {
+ return {
+ content: parseDocs(fs.readFileSync(defaultPath, 'utf8')),
+ MDLocale: 'en-US'
+ };
+ }
+
+ return {
+ content: null,
+ MDLocale: null
+ };
+}
+
+function parseDocs(rawDocs) {
+ if (!rawDocs) {
+ return null;
+ }
+
+ let markedContent = marked(rawDocs);
+ markedContent = markedContent.replaceAll(/\[yt-iframe\]\(.{11}\)/g, (match) => {
+ const videoIDRegex = /(?<=\[yt-iframe\]\().*(?=\))/g;
+ const videoID = match.match(videoIDRegex)[0];
+ return ``;
+ });
+
+ const htmlContent = marked.parse(markedContent);
+ return htmlContent;
+}
+
function apiGetRequest(path, headers) {
return got.get(`https://api.pretendo.cc${path}`, {
responseType: 'json',
@@ -342,6 +384,8 @@ async function handleStripeEvent(event) {
module.exports = {
fullUrl,
getLocale,
+ getRawDocs,
+ parseDocs,
apiGetRequest,
apiPostGetRequest,
apiDeleteGetRequest,
diff --git a/views/docs/docs.handlebars b/views/docs/docs.handlebars
index bde4a27..ec5394c 100644
--- a/views/docs/docs.handlebars
+++ b/views/docs/docs.handlebars
@@ -27,42 +27,35 @@
- {{> header}}
+ {{ localeHelper locale "docs.missingInLocale" }}
{{/if}} - {{#if showQuickLinks}} -+ Please choose your platform below. +
+ +Type it in the box below to get information on your issue!
+ +{{ localeHelper locale "docs" "quickLinks" "links" 0 "header" }}
+{{ localeHelper locale "docs" "quickLinks" "links" 0 "caption" }}
+{{ localeHelper locale "docs" "quickLinks" "links" 1 "header" }}
+{{ localeHelper locale "docs" "quickLinks" "links" 1 "caption" }}
+Welcome to the official documentation for Pretendo Network. Here you'll be able to find installation instructions, error + codes, and more.
+To begin, check out the quick links or take a look at the sidebar
+