mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2024-11-10 01:01:55 +01:00
Merge branch 'master' of https://github.com/ajayyy/SponsorBlock
This commit is contained in:
commit
ea77375fcc
2 changed files with 30 additions and 43 deletions
|
@ -1,8 +1,28 @@
|
||||||
If you make any contributions to SponsorBlock after this file was created, you are agreeing that any code you have contributed will be licensed under LGPL-3.0.
|
If you make any contributions to SponsorBlock after this file was created, you are agreeing that any code you have contributed will be licensed under LGPL-3.0 or later.
|
||||||
|
|
||||||
# All Platforms
|
# Building
|
||||||
Make sure to pull and update all submodules
|
## Building locally
|
||||||
`git submodule update --init --recursive`
|
0. You must have [Node.js 16 or later](https://nodejs.org/) and npm installed. Works best on Linux
|
||||||
|
1. Clone with submodules
|
||||||
|
```bash
|
||||||
|
git clone --recursive https://github.com/ajayyy/SponsorBlock
|
||||||
|
```
|
||||||
|
Or if you already cloned it, pull submodules with
|
||||||
|
```bash
|
||||||
|
git submodule update --init --recursive
|
||||||
|
```
|
||||||
|
2. Copy the file `config.json.example` to `config.json` and adjust configuration as desired.
|
||||||
|
- Comments are invalid in JSON, make sure they are all removed.
|
||||||
|
- You will need to repeat this step in the future if you get build errors related to `CompileConfig` or `property does not exist on type ConfigClass`. This can happen for example when a new category is added.
|
||||||
|
3. Run `npm ci` in the repository to install dependencies.
|
||||||
|
4. Run `npm run build:dev` (for Chrome) or `npm run build:dev:firefox` (for Firefox) to generate a development version of the extension with source maps.
|
||||||
|
- You can also run `npm run build` (for Chrome) or `npm run build:firefox` (for Firefox) to generate a production build.
|
||||||
|
5. The built extension is now in `dist/`. You can load this folder directly in Chrome as an [unpacked extension](https://developer.chrome.com/docs/extensions/mv3/getstarted/#manifest), or convert it to a zip file to load it as a [temporary extension](https://developer.mozilla.org/docs/Tools/about:debugging#loading_a_temporary_extension) in Firefox.
|
||||||
|
|
||||||
|
## Developing with a clean profile and hot reloading
|
||||||
|
Run `npm run dev` (for Chrome) or `npm run dev:firefox` (for Firefox) to run the extension using a clean browser profile with hot reloading. This uses [`web-ext run`](https://extensionworkshop.com/documentation/develop/web-ext-command-reference/#commands).
|
||||||
|
|
||||||
|
Known chromium bug: Extension is not loaded properly on first start. Visit `chrome://extensions/` and reload the extension.
|
||||||
|
|
||||||
|
For Firefox for Android, use `npm run dev:firefox-android -- --adb-device <ip-address of the device>`. See the [Firefox documentation](https://extensionworkshop.com/documentation/develop/developing-extensions-for-firefox-for-android/#debug-your-extension) for more information.
|
||||||
|
|
||||||
"? property does not exist on type ConfigClass"
|
|
||||||
> Make sure to copy `config.json.example` to `config.json` and remove comments
|
|
41
README.md
41
README.md
|
@ -38,7 +38,7 @@
|
||||||
|
|
||||||
SponsorBlock is an open-source crowdsourced browser extension to skip sponsor segments in YouTube videos. Users submit when a sponsor happens from the extension, and the extension automatically skips sponsors it knows about. It also supports skipping other categories, such as intros, outros and reminders to subscribe.
|
SponsorBlock is an open-source crowdsourced browser extension to skip sponsor segments in YouTube videos. Users submit when a sponsor happens from the extension, and the extension automatically skips sponsors it knows about. It also supports skipping other categories, such as intros, outros and reminders to subscribe.
|
||||||
|
|
||||||
It also supports Invidio.us.
|
It also supports Invidious.
|
||||||
|
|
||||||
**Translate:** [![Crowdin](https://badges.crowdin.net/sponsorblock/localized.svg)](https://crowdin.com/project/sponsorblock)
|
**Translate:** [![Crowdin](https://badges.crowdin.net/sponsorblock/localized.svg)](https://crowdin.com/project/sponsorblock)
|
||||||
|
|
||||||
|
@ -56,47 +56,14 @@ The dataset and API are now being used in some [ports](https://github.com/ajayyy
|
||||||
|
|
||||||
# API
|
# API
|
||||||
|
|
||||||
You can read the API docs [here](https://wiki.sponsor.ajay.app/index.php/API_Docs).
|
You can read the API docs [here](https://wiki.sponsor.ajay.app/w/API_Docs).
|
||||||
|
|
||||||
# Building
|
# Building
|
||||||
|
See [CONTRIBUTING.md](CONTRIBUTING.md)
|
||||||
You must have [Node.js 16](https://nodejs.org/) and npm installed.
|
|
||||||
|
|
||||||
1. Clone with submodules
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone --recursive https://github.com/ajayyy/SponsorBlock
|
|
||||||
```
|
|
||||||
|
|
||||||
Or if you already cloned it, pull submodules with
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git submodule update --init --recursive
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Copy the file `config.json.example` to `config.json` and adjust configuration as desired.
|
|
||||||
|
|
||||||
- You will need to repeat this step in the future if you get build errors related to `CompileConfig`. This can happen for example when a new category is added.
|
|
||||||
|
|
||||||
3. Run `npm install` in the repository to install dependencies.
|
|
||||||
|
|
||||||
4. Run `npm run build:dev` (for Chrome) or `npm run build:dev:firefox` (for Firefox) to generate a development version of the extension with source maps.
|
|
||||||
|
|
||||||
- You can also run `npm run build` (for Chrome) or `npm run build:firefox` (for Firefox) to generate a production build.
|
|
||||||
|
|
||||||
5. The built extension is now in `dist/`. You can load this folder directly in Chrome as an [unpacked extension](https://developer.chrome.com/docs/extensions/mv3/getstarted/#manifest), or convert it to a zip file to load it as a [temporary extension](https://developer.mozilla.org/en-US/docs/Tools/about:debugging#loading_a_temporary_extension) in Firefox.
|
|
||||||
|
|
||||||
### Developing with a clean profile and hot reloading
|
|
||||||
|
|
||||||
Run `npm run dev` (for Chrome) or `npm run dev:firefox` (for Firefox) to run the extension using a clean browser profile with hot reloading. This uses [`web-ext run`](https://extensionworkshop.com/documentation/develop/web-ext-command-reference/#commands).
|
|
||||||
|
|
||||||
Known chromium bug: Extension is not loaded properly on first start. Visit `chrome://extensions/` and reload the extension.
|
|
||||||
|
|
||||||
For Firefox for Android, use `npm run dev:firefox-android -- --adb-device <ip-address of the device>`. See the [Firefox documentation](https://extensionworkshop.com/documentation/develop/developing-extensions-for-firefox-for-android/#debug-your-extension) for more information.
|
|
||||||
|
|
||||||
# Credit
|
# Credit
|
||||||
|
|
||||||
The awesome [Invidious API](https://docs.invidious.io/API.md) was previously used, and the server is now using [NewLeaf](https://git.sr.ht/~cadence/NewLeaf) as a to get video info from YouTube.
|
The awesome [Invidious API](https://docs.invidious.io/) was previously used, and the server is now using [NewLeaf](https://git.sr.ht/~cadence/NewLeaf) as a to get video info from YouTube.
|
||||||
|
|
||||||
Originally forked from [YTSponsorSkip](https://github.com/NDevTK/YTSponsorSkip), but very little code remains.
|
Originally forked from [YTSponsorSkip](https://github.com/NDevTK/YTSponsorSkip), but very little code remains.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue