You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/pages/about/changelog/beta-2024-11.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,13 +22,15 @@
22
22
- Add private version of ExtensionFS (`blueprint_private:<identifier>`) that is symlinked to the extension's private directory.
23
23
-[`Components.yml`](?page=documentation/componentsyml) has a new "Global" scope within "Dashboard".
24
24
- Install, remove and export scripts now have access to the `$ENGINE` environment variable.
25
+
- Add [`update.sh`](?page=documentation/scripts) script which will be ran upon an extension update transaction.
25
26
26
27
<br/>
27
28
28
29
#### Bugfixes
29
30
- Some parts of Blueprint's React modifications caused errors with Prettier in certain cases.
30
31
- Use `printf` instead of `echo` to write to `installed_extensions` as a way to prevent new lines from generating.
31
32
- Removing the first installed extension causes a Laravel routing error.
33
+
- ExtensionFS was not unlinked in the public directory.
32
34
33
35
<br/>
34
36
@@ -38,4 +40,5 @@
38
40
-[BlueprintExtensionLibrary](?page=documentation/$blueprint)'s **legacy variation** is being phased out. All `notify` and `file` methods now return false. This does not impact admin, client and console variations.
39
41
- Resolved docs/implementation mismatch causing `requests_routers` to default to `application` instead of `web`. Backwards compatibility is not provided with this change.
40
42
- Extension [flags](?page=documentation/flags)`hasInstallScript`, `hasRemoveScript` and `hasExportScript` have now been deprecated. Scripts now run by default and no longer require a flag.
41
-
-[BlueprintExtensionLibrary](?page=documentation/$blueprint)'s `notifyNow()` and `notifyAfter()` have been deprecated.
43
+
-[BlueprintExtensionLibrary](?page=documentation/$blueprint)'s `notifyNow()` and `notifyAfter()` have been deprecated.
44
+
-[`export.sh`](?page=documentation/scripts)'s `$BLUEPRINT_EXPORT_DIRECTORY` environment variable has been deprecated in favor of `$BLUEPRINT_TMP`.
Copy file name to clipboardExpand all lines: docs/pages/developing-extensions/Packaging-extensions.md
-25Lines changed: 0 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,31 +23,6 @@ To package an extension for distribution, we need to convert it into a `identifi
23
23
24
24
After running one of these commands, you'll be left with a `identifier.blueprint` file which you can in turn use to distribute your extension to the outside world.
25
25
26
-
<br>
27
-
28
-
### **Scripting**
29
-
30
-
Exported extensions are essentially just archives, this means your **source code** can be seen by **anyone** that aquires the `identifier.blueprint` file. To prevent this from happening, we can compress or obfuscate some files through export scripts.
31
-
32
-
To enable export scripts, **create a data directory** and link it to your `conf.yml`. Inside the root of your data directory, create an `export.sh` file and write your shell script in there.
33
-
34
-
<br>
35
-
36
-
When exporting extensions with custom export scripts, Blueprint automatically parses some useful variables to make your life as a developer easier. Keep in mind, however, that **placeholders do not work in export scripts** as they are applied upon installation, not when exporting.
We hope you can create something that suits your needs with the export script feature, and if you don't have any use for it, at least you know that it exist.
Copy file name to clipboardExpand all lines: docs/pages/developing-extensions/React-components.md
+7-1Lines changed: 7 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,8 @@
6
6
<divclass="ps-3 ms-3"><b>This section is still being written.</b> You might run into unfinished explanations, incorrect instructions, outdated or misinformation.</div>
7
7
</div><br/>
8
8
9
+
### **Preparation**
10
+
9
11
Blueprint extensions can add custom pages to Pterodactyl and content to existing pages through the [Components.yml](?page=documentation/componentsyml) feature.
10
12
11
13
Before we can start utilizing this feature, create a directory called `components` and assign it in your [conf.yml](?page=documentation/confyml) configuration like shown below.
@@ -16,7 +18,11 @@ dashboard:
16
18
17
19
Inside of that directory, create a file called `Components.yml`, which will contain our Components configuration. Inside of that file, add the example configuration from the [Components.yml](?page=documentation/componentsyml) documentation.
18
20
19
-
Now create a file called `ExampleComponent.tsx` and define it as a new route in your `Components.yml` configuration.
21
+
<br>
22
+
23
+
### **Creating a custom page**
24
+
25
+
Create a file called `ExampleComponent.tsx` (inside of the `components` folder) and define it as a new route in your `Components.yml` configuration.
Copy file name to clipboardExpand all lines: docs/pages/documentation/scripts.md
+24-15Lines changed: 24 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,10 +15,12 @@ Extension scripts are advanced collections of commands allowing extensions to ex
15
15
16
16
Scripts can **prevent extensions from being listed** on the [extension browse list](../browse) if they do not meet **all of the following requirements**:
17
17
- Scripts <u>should never</u> cause conflicts with other extensions respecting these guidelines.
18
+
- This means extensions are not allowed to overwrite files outside of the scope of their own extensions and must use search-and-replace instead.
18
19
- Scripts must stay <u>within the Pterodactyl instance</u> and not edit anything outside of the panel's webserver folder without user consent.
19
20
- Extensions must undo all of their changes when removing the extension.
20
21
- Updating extensions utilizing scripts must not break their modifications.
21
22
- Scripts should use **environment variables** or [placeholders](?page=documentation/placeholders) for detecting the webserver folder.
23
+
-[Placeholders](?page=documentation/placeholders) are <u>not available</u> for `update.sh` and `export.sh`.
22
24
23
25
**Export scripts are free from (most of) these limitations** as they are specifically made to help the developer automate actions upon export. As long as you don't cause permanent damages through export scripts, you should be fine.
24
26
@@ -27,42 +29,49 @@ Scripts can **prevent extensions from being listed** on the [extension browse li
27
29
### **Environment variables**
28
30
These variables can be used anywhere in your scripts and are automatically assigned the correct value by Blueprint.
0 commit comments