Skip to content

Commit

Permalink
Do it the correct way around this time lmao
Browse files Browse the repository at this point in the history
Fix turkish in mcp
  • Loading branch information
Tacodiva authored Aug 27, 2023
2 parents f658ffa + 766625f commit 2761870
Show file tree
Hide file tree
Showing 163 changed files with 698 additions and 369 deletions.
Binary file added .github/readme-images/cws-badge.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/readme-images/ff-addon-badge.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/readme-images/screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
134 changes: 80 additions & 54 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,83 +1,109 @@
<img src="https://raw.githubusercontent.com/ScratchAddons/ScratchAddons/master/images/icon.svg" alt="Scratch Addons logo" align="right" width="128px"></img>
# Welcome to Scratch Addons' repository!

[![](https://img.shields.io/github/stars/ScratchAddons/ScratchAddons?color=blue&style=flat-square)](https://github.com/ScratchAddons/ScratchAddons/stargazers)
[![](https://img.shields.io/github/forks/ScratchAddons/ScratchAddons?color=blue&style=flat-square)](https://github.com/ScratchAddons/ScratchAddons/network/members)
[![](https://img.shields.io/github/watchers/ScratchAddons/ScratchAddons?color=blue&style=flat-square)](https://github.com/ScratchAddons/ScratchAddons/watchers)
[![](https://img.shields.io/github/issues/ScratchAddons/ScratchAddons?color=green&style=flat-square)](https://github.com/ScratchAddons/ScratchAddons/issues)
[![](https://img.shields.io/github/issues-pr/ScratchAddons/ScratchAddons?color=green&style=flat-square)](https://github.com/ScratchAddons/ScratchAddons/pulls)
[![](https://img.shields.io/github/license/ScratchAddons/ScratchAddons?style=flat-square)](https://github.com/ScratchAddons/ScratchAddons/blob/master/LICENSE) <!-- 2 spaces -->
[![](https://img.shields.io/chrome-web-store/v/fbeffbjdlemaoicjdapfpikkikjoneco?style=flat-square&logo=google-chrome&logoColor=white&label=version&color=4285F4)](https://chrome.google.com/webstore/detail/fbeffbjdlemaoicjdapfpikkikjoneco)
[![](https://img.shields.io/chrome-web-store/users/fbeffbjdlemaoicjdapfpikkikjoneco?style=flat-square&logo=google-chrome&logoColor=white&label=users&color=4285F4)](https://chrome.google.com/webstore/detail/fbeffbjdlemaoicjdapfpikkikjoneco)
[![](https://img.shields.io/amo/v/scratch-messaging-extension?style=flat-square&logo=firefox-browser&logoColor=white&label=version&color=FF7139)](https://addons.mozilla.org/firefox/addon/scratch-messaging-extension/)
[![](https://img.shields.io/amo/users/scratch-messaging-extension?style=flat-square&logo=firefox-browser&logoColor=white&label=users&color=FF7139)](https://addons.mozilla.org/firefox/addon/scratch-messaging-extension/)
[![](https://img.shields.io/github/v/release/ScratchAddons/ScratchAddons?style=flat-square&logo=github&logoColor=white&label=version&color=181717)](https://github.com/ScratchAddons/ScratchAddons/releases)
[![](https://img.shields.io/github/downloads/ScratchAddons/ScratchAddons/total?style=flat-square&logo=github&logoColor=white&label=downloads&color=181717)](https://github.com/ScratchAddons/ScratchAddons/releases)
[![](https://img.shields.io/badge/discuss-on_github-181717.svg?style=flat-square)](https://github.com/ScratchAddons/ScratchAddons/discussions)
<img src="images/icon.svg" alt="Scratch Addons logo" align="right" width="128px"></img>
# Scratch Addons

[![Chrome Web Store](.github/readme-images/cws-badge.png)](https://chrome.google.com/webstore/detail/fbeffbjdlemaoicjdapfpikkikjoneco)
[![Firefox Add-ons](.github/readme-images/ff-addon-badge.png)](https://addons.mozilla.org/firefox/addon/scratch-messaging-extension/)

[![](https://img.shields.io/chrome-web-store/v/fbeffbjdlemaoicjdapfpikkikjoneco?style=flat-square&logo=google-chrome&logoColor=white&label=Chrome&color=E23A2E)](https://chrome.google.com/webstore/detail/fbeffbjdlemaoicjdapfpikkikjoneco)
[![](https://img.shields.io/amo/v/scratch-messaging-extension?style=flat-square&logo=firefox-browser&logoColor=white&label=Firefox&color=FF7139)](https://addons.mozilla.org/firefox/addon/scratch-messaging-extension/)
[![](https://img.shields.io/badge/dynamic/json?style=flat-square&logo=microsoftedge&label=Edge&prefix=v&color=067FD8&query=%24.version&url=https%3A%2F%2Fmicrosoftedge.microsoft.com%2Faddons%2Fgetproductdetailsbycrxid%2Filiepgjnemckemgnledoipfiilhajdjj)](https://microsoftedge.microsoft.com/addons/detail/scratch-addons/iliepgjnemckemgnledoipfiilhajdjj)
[![](https://img.shields.io/github/v/release/ScratchAddons/ScratchAddons?style=flat-square&logo=github&logoColor=white&label=GitHub&color=181717)](https://github.com/ScratchAddons/ScratchAddons/releases)

[![](https://img.shields.io/github/license/ScratchAddons/ScratchAddons?style=flat-square)](https://github.com/ScratchAddons/ScratchAddons/blob/master/LICENSE)
[![](https://img.shields.io/badge/chat-on_discord-7289da.svg?style=flat-square)](https://discord.gg/R5NBqwMjNc)
[![](https://img.shields.io/badge/website-scratchaddons.com-ff7b26.svg?style=flat-square)](https://scratchaddons.com)

## About

Scratch Addons is a WebExtension (supports both Chrome and Firefox). Scratch Addons' mission is to combine all existing Scratch extensions, userscripts and userstyles into a single easy-to-access place, while still letting users choose which ones to enable.
Scratch Addons combines new and existing features and themes for the [Scratch](https://scratch.mit.edu) website and project editor into one easy-to-access and configurable browser extension. The mission is to provide a centralized, up-to-date platform for community development of new features and themes for Scratch.

<div align="center">

![Scratch Addons screenshot](.github/readme-images/screenshot.png)

</div>

### About addons

An addon mainly consists of one or more [userscripts](https://scratchaddons.com/docs/develop/userscripts/) (written in JavaScript) or [userstyles](https://scratchaddons.com/docs/develop/userstyles/) (written in CSS) that run on the Scratch website or project editor.

Each addon declares its own [addon manifest](https://scratchaddons.com/docs/reference/addon-manifest/) (`addon.json` file). This file specifies under which circumstances each one of its userscripts and userstyles should be injected into the page. It also contains user-facing information, such as the description of the feature, and information about the addon's settings.

Userscripts work similarly to [extension content scripts](https://developer.chrome.com/docs/extensions/content_scripts/) running in the "main world" (the unprivileged context where `chrome.*` extension APIs are not available). Userscripts have access to `addon.*` APIs. They can use these built-in utilities for various purposes: waiting until a certain element exists on the page, listening to settings change events, getting a reference to the Scratch VM object, etc.

Addons are designed to be compatible with each other. They are also developed with performance, internationalization, accessibility, and privacy in mind.

Read the [documentation](https://scratchaddons.com/docs/develop/getting-started/addon-basics/) for more information about addons.

### About the extension

The Scratch Addons browser extension provides a settings page where users can enable, disable and configure addons. The extension interprets addon manifests, stores the user's settings, and provides APIs to userscripts. A new version of the extension is released to the stores regularly with new addons and features.

### Addons beyond the Scratch Addons browser extension

Other open-source projects (such as Scratch forks) can also make use of the addons. For example, the [TurboWarp](https://github.com/TurboWarp/scratch-gui/tree/develop/src/addons) and [Adacraft](https://gitlab.com/adacraft/scratch-mod/scratch-gui/-/tree/adacraft/main/src/addons) project editors allow you to use most of the editor addons without installing browser extensions, and even while offline ([TurboWarp Desktop](https://desktop.turbowarp.org/)).

### File structure

#### Addons
- `addons-l10n`: Translation for addon strings (one file per addon).
- `addon-api`: Implementation of the `addon.*` JavaScript APIs.
- `addons`: Each addon has its own directory, which must include an addon manifest file named `addon.json`.
- `libraries`: Third-party libraries and other utilities, some of which are used by addons.

#### Others
- `.github`: GitHub templates, workflows, and contributing files.
- `_locales`: Translation strings for the browser extension (excluding addons).
- `background`: Background scripts for the extension.
- `content-scripts`: Content scripts, which among other things, execute userscripts and inject userstyles to the page.
- `images`: Logos, screenshots and icons (excluding addon-specific images).
- `popups`: Addon pages that are only accessible through the extension popup (for example, Scratch Messaging).
- `webpages`: The settings page, extension popup, and other pages.

### What's actually an "addon"?
## Installation

An addon is similar to an extension or a userscript, but they use special APIs provided by the Scratch Addons extension. These APIs allow addons to run scripts on a Scratch page (userscripts), run scripts on the background (persistent scripts), or apply styles to the Scratch website (userstyles).
No building is required. The best way to download the source is with Git:

Userscripts and persistent scripts can use the `addon.*` JavaScript APIs, which allow them to obtain Scratch-related information (for example, get the current logged in user) and also use extension APIs (like sending notifications).
```sh
git clone https://github.com/ScratchAddons/ScratchAddons.git
```

Converting an already existing extension/userscript into an addon, or writing your own, is very easy. [Check out the guide](https://scratchaddons.com/docs/develop/getting-started/creating-an-addon/).
For browser support information and other installation methods, check [the documentation](https://scratchaddons.com/docs/getting-started/installing).

### If everything is an addon, then what does Scratch Addons do?
### Loading the extension (Chrome)

Scratch Addons by itself is just an addon loader. Its main tasks are:
To load the extension into most Chromium-based browsers, go to `chrome://extensions`, turn on developer mode, click "Load unpacked", and select the `ScratchAddons` folder.

- Allow users to enable, disable and configure addons.
- Run addons and provide APIs to them.
- Provide global state to addons (for example, the `addon.auth` API).
- Pollute prototypes for use by addon userscripts.
- Provide ways to access and modify Redux state.
- Avoid addons from interfering with each other.
- Avoid duplicate work from different addons.
### Loading the extension (Firefox)

### Addons outside of Scratch Addons itself
Go to `about:debugging`, select "This Firefox", click "Load Temporary Add-on...", and select the `manifest.json` file in the `ScratchAddons` folder.

Other extensions (and even forks of Scratch) can also provide their users with most addons from Scratch Addons, as long as a compatibility layer for `addon.*` and other parts of the addon loader is present. Notable examples are the [Scratch 3 Developer Tools extension](https://github.com/ScratchAddons/DevtoolsExtension) and the [TurboWarp](https://github.com/TurboWarp/scratch-gui/tree/develop/src/addons) editor. These also inherit translations from the Scratch Addons project.
> **Note**
> Firefox extensions loaded this way are removed when the browser is closed.
## Install
## Contributing

### From extension stores
### Suggestions and bug reports

[![](https://img.shields.io/chrome-web-store/v/fbeffbjdlemaoicjdapfpikkikjoneco?style=flat-square&logo=google-chrome&logoColor=white&label=install&color=4285F4)](https://chrome.google.com/webstore/detail/fbeffbjdlemaoicjdapfpikkikjoneco)
&nbsp;&nbsp;&nbsp;&nbsp;↳ Install on Google Chrome, Opera, Brave, Vivaldi, Microsoft Edge (>79), and other Chromium-based browsers.
If you found a bug or have a suggestion [create an issue](https://github.com/ScratchAddons/ScratchAddons/issues/new/choose) after checking for duplicates. Alternatively, you can use our [feedback page](https://scratchaddons.com/feedback) instead.

[![](https://img.shields.io/amo/v/scratch-messaging-extension?style=flat-square&logo=firefox-browser&logoColor=white&label=install&color=FF7139)](https://addons.mozilla.org/firefox/addon/scratch-messaging-extension/)
&nbsp;&nbsp;&nbsp;&nbsp;↳ Install on Mozilla Firefox.
If you found a security vulnerability, please follow the instructions in our [Security Policy](https://github.com/ScratchAddons/ScratchAddons/tree/master/.github/SECURITY.md) instead.

### From source
### Code

No build is required. You may download the source code by doing one of these steps.
Before contributing code, please read our [contributing guidelines](https://github.com/ScratchAddons/ScratchAddons/blob/master/.github/CONTRIBUTING.md).

1. Cloning the repository by running `git clone https://github.com/ScratchAddons/ScratchAddons.git`.
2. Download the zipball of the current state of the repository [here](https://github.com/ScratchAddons/ScratchAddons/archive/master.zip).
3. Download one of the builds on [the releases page](https://github.com/ScratchAddons/ScratchAddons/releases). (.zip recommended)
We recommend using Visual Studio Code as the code editor.

After downloading the extension to your computer, just load it by following these steps.
### Translations

- Google Chrome/Microsoft Edge
1. Open `chrome://extensions` or `edge://extensions` to open the Extension Management page by typing it into your address bar.
2. Enable Developer Mode by clicking the toggle switch next to Developer mode.
3. Click the `Load unpacked` button on the top and select the extension directory which has the `manifest.json` file in it.
Translations are handled by [Transifex](https://www.transifex.com/). If you are interested in translating the extension, read [Joining the Localization Team](https://scratchaddons.com/docs/localization/joining-the-localization-team/).

- Mozilla Firefox
1. Open `about:debugging` to open the debugging page by typing it into your address bar.
2. Click `This Firefox` on the left-hand menu.
3. Click `Load Temporary Add-on...` and select the `manifest.json` file.
### Documentation

## Contribute
The Scratch Addons Docs are available at https://scratchaddons.com/docs/.

If you found a bug, or want to suggest new features, please use the [issues tab](https://github.com/ScratchAddons/ScratchAddons/issues). If you want to help with the code or add a new addon, fork this repository, and then create a [pull request](https://github.com/ScratchAddons/ScratchAddons/pulls). Also, please read our [contributing guidelines](https://github.com/ScratchAddons/ScratchAddons/blob/master/.github/CONTRIBUTING.md).
Most of the documentation is located in [website-v2](https://github.com/ScratchAddons/website-v2) (repository of the [ScratchAddons.com](https://scratchaddons.com) website) in the [/content/docs](https://github.com/ScratchAddons/website-v2/tree/master/content/docs) directory.

## License

Expand Down
Loading

0 comments on commit 2761870

Please sign in to comment.