diff --git a/README.md b/README.md
index f182b2a..14f5c26 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
https://packager.turbowarp.org/
-Converts Scratch projects into HTML files, zip archives, or executable programs for Windows, macOS, and Linux. Built using TurboWarp, webpack, and Svelte.
+Converts Scratch projects into HTML files, zip archives, or executable programs for Windows, macOS, and Linux.
## Development
@@ -22,13 +22,13 @@ Then visit http://localhost:8947. Manually refresh to see changes.
The general layout of `src` is:
- - packager: The project packager
- - p4: The Svelte interface for the packager
- - scaffolding: A minimal Scratch project player used by the packager. Handles most of the boring details of playing Scratch projects such as handling basic mouse input
- - common: Files used by both scaffolding and the packager
- - addons: Optional addons such as gamepad support or pointerlock
- - build: Unusual webpack customizations
- - locales: Translations
+ - packager: The project packager.
+ - p4: The Svelte GUI for the packager. "p4" is the name that the packager uses internally to refer to itself.
+ - scaffolding: A minimal Scratch project player used by the packager. Handles most of the boring details of playing Scratch projects such as handling basic mouse input.
+ - common: Files used by both scaffolding and the packager.
+ - addons: Optional addons such as gamepad support or pointerlock.
+ - build: Various internal build tools including some webpack plugins and loaders.
+ - locales: Translations.
Packaged projects generated while in development mode should not be distributed. Instead, you should run a production build to significantly reduce file size of both the website and the packager.
@@ -40,15 +40,19 @@ Output will be located in the `dist` folder.
## Tips for forks
-Some assorted tips for people who want to fork this project (it's really easy):
+**Branding**
- - The packager is deployed as a simple static website. You can host it anywhere by just copying the `dist` folder. We use GitHub Actions to deploy to GitHub Pages by running the "Deploy" workflow whenever we want to push to production (Actions > Deploy > Run workflow). This should be automatically available in forks after enabling GitHub Actions.
- - If you want to change the VM/renderer/etc. used, just `npm install` or `npm link` a different scratch-vm/scratch-render/etc and rebuild. You can even install a vanilla scratch-vm and all core functionality will still work (but optional features such as interpolation, high quality pen, stage size, etc. may not work)
- - src/packager/brand.js controls names and links that appear in various places
- - static/privacy.html is the privacy policy
- - Large files such as NW.js or Electron executables are stored on an external server outside of this repository and have no guarantee of existing long-term. It's easy to setup your own, see src/packager/large-assets.js for more information.
- - Set the environment variable ENABLE_SERVICE_WORKER=1 to enable service worker for offline support
- - Be aware of the license of this project (see below)
+ - Please update the brand strings (`src/packager/brand.js`) to use your own name and links.
+ - Update the privacy policy (`static/privacy.html`) to reflect your privacy practices.
+ - Update this document (`README.md`) too.
+
+**Deploying**: The packager is deployed as a simple static website. You can host it anywhere by just copying the `dist` folder after a build. We use GitHub Actions to deploy to GitHub Pages by running the "Deploy" workflow whenever we want to push to production (Actions > Deploy > Run workflow). This should be automatically available in forks after enabling GitHub Actions.
+
+**Changing Scratch internals**: If you want to change the VM/renderer/etc. used, just `npm install` or `npm link` a different scratch-vm/scratch-render/etc and rebuild. You can even install a vanilla scratch-vm and all core functionality will still work (but optional features such as interpolation, high quality pen, stage size, etc. may not work)
+
+**Large files**: Large files such as NW.js or Electron executables are stored on an external server outside of this repository and have no guarantee of existing long-term. It's easy to setup your own, see `src/packager/large-assets.js` for more information.
+
+**Service worker**: Set the environment variable `ENABLE_SERVICE_WORKER` to `1` to enable service worker for offline support. Not recommended in development. Automatically used the GitHub Actions deploy script.
## Standalone builds
@@ -62,6 +66,8 @@ Output will be located in `dist/standalone.html`.
## License
+
+
Copyright (C) 2021 Thomas Weber
This project is licensed under the GNU Lesser General Public License version 3. See COPYING and COPYING.LESSER for more information. We believe that packaging a project using the packager "makes use of an interface provided by the Library, but which is not otherwise based on the Library"
diff --git a/src/locales/en.json b/src/locales/en.json
index 23c37ca..3d99ab5 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -4,7 +4,7 @@
"string": "Converts Scratch projects into HTML files, zip archives, or executable programs for Windows, macOS, and Linux."
},
"description2": {
- "string": "If you just want an easy way to embed a TurboWarp project into your website, you may be interested in {embedding}."
+ "string": "If you just want an easy way to embed a project into your website, you may be interested in {embedding}."
},
"description2-embedding": {
"string": "Embedding"
diff --git a/src/packager/brand.js b/src/packager/brand.js
index 5636a25..7bded4f 100644
--- a/src/packager/brand.js
+++ b/src/packager/brand.js
@@ -1,9 +1,44 @@
-// Use old export to make this easier to import in old node environments
+/*
+These values control branding strings throughout the entire app. If you're forking, please take a few minutes to update them.
+
+"The website" refers to the website itself that you use to load projects and convert them to another form.
+
+"Packaged projects" refers to the files generated by the website. They include a line of text something like:
+`Parts of this script are from the ${APP_NAME} <${WEBSITE}>, licensed as follows: ${COPYRIGHT_NOTICE}`
+*/
+
module.exports = {
+ // The name of the app. This text is included in packaged projects.
APP_NAME: 'TurboWarp Packager',
+
+ // A longer form of the app's name. Used by the website.
LONG_NAME: 'TurboWarp Packager for Scratch',
+
+ // Your app's website. This link is included in packaged projects.
+ WEBSITE: 'https://packager.turbowarp.org/',
+
+ // A copyright notice regarding the app. This text is included in packaged projects.
+ // Also make sure to update the "License" section in README.md
+ COPYRIGHT_NOTICE: `Copyright (C) 2021 Thomas Weber
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License version 3
+as published by the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this program. If not, see