From 300410699170980ef073aabe6ece0f113becc7af Mon Sep 17 00:00:00 2001 From: Pavel Machek Date: Thu, 12 Oct 2023 22:01:53 +0200 Subject: [PATCH] forge: Initial version of application to help developers --- apps/forge/ChangeLog | 1 + apps/forge/README.md | 8 ++++++++ apps/forge/app-icon.js | 1 + apps/forge/app.png | Bin 0 -> 12663 bytes apps/forge/forge.app.js | 33 +++++++++++++++++++++++++++++++++ apps/forge/metadata.json | 13 +++++++++++++ 6 files changed, 56 insertions(+) create mode 100644 apps/forge/ChangeLog create mode 100644 apps/forge/README.md create mode 100644 apps/forge/app-icon.js create mode 100644 apps/forge/app.png create mode 100644 apps/forge/forge.app.js create mode 100644 apps/forge/metadata.json diff --git a/apps/forge/ChangeLog b/apps/forge/ChangeLog new file mode 100644 index 000000000..263d4078d --- /dev/null +++ b/apps/forge/ChangeLog @@ -0,0 +1 @@ +0.01: attempt to import diff --git a/apps/forge/README.md b/apps/forge/README.md new file mode 100644 index 000000000..5a9d95f99 --- /dev/null +++ b/apps/forge/README.md @@ -0,0 +1,8 @@ +# App Forge + +This should help with your hacks. Sometimes, you want to work on an +application, you'd want to use the stable version, but you'd also want +to use latest development version. + +Well, this makes it easy. Just save your development version as +a.name.js, and you should be able to run it from the menu system. diff --git a/apps/forge/app-icon.js b/apps/forge/app-icon.js new file mode 100644 index 000000000..c7c3959f0 --- /dev/null +++ b/apps/forge/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwgIhe/AEDgOKAocDwgFDgUEAokKAokTAohDEg0hgEgAoMEoMIoAFCgME4AFCwUCwAFBgoeChEAg8GAoMYEYMECIM4AoMMgFAuEAhv4gkg+EAhPghExAoIACg4FEh4FEj4FEn56Ev/8iAFC///CQUBAoPgQoQFBLYUHAoJbCh4FBFwf//wuD//8Fwf/GoYuNAoUGGggMCGgQeCbIl+Aol8Aol4Aoh2EgFgf5kAA")) diff --git a/apps/forge/app.png b/apps/forge/app.png new file mode 100644 index 0000000000000000000000000000000000000000..8d4c44b24e48b78df21d9d1c4cf475b6cf33132a GIT binary patch literal 12663 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 mzj{0B^F4mV)m}mD1}TRn=)wLxxCOn>15^|={ on_load(l[i]); }; +} + +g.clear(); +E.showMenu(menu); diff --git a/apps/forge/metadata.json b/apps/forge/metadata.json new file mode 100644 index 000000000..03671a647 --- /dev/null +++ b/apps/forge/metadata.json @@ -0,0 +1,13 @@ +{ "id": "forge", + "name": "App Forge", + "version":"0.01", + "description": "Easy way to run development versions of your apps", + "icon": "app.png", + "readme": "README.md", + "supports" : ["BANGLEJS2"], + "tags": "tool", + "storage": [ + {"name":"forge.app.js","url":"forge.app.js"}, + {"name":"forge.img","url":"app-icon.js","evaluate":true} + ] +}