Easily add content to your Screenly digital signage displays in a few clicks. ✨
- Linux or macOS — If you're on Windows, you can use WSL. All of the scripts were written in Bash.
- Docker — The easiest way to get started is to install Docker Desktop.
jq— Most of the scripts in thebin/directory usejqto parse JSON. Install it from here.
- Install the extension from the Chrome Web Store.
- Install the extension from Firefox Add Ons.
The extension is built using webpack. Please check our contributing guidelines for detailed information about opening pull requests and releasing new versions.
$ PLATFORM=<PLATFORM> \
VERSION=<VERSION> \
./bin/start_development_mode.shImportant
VERSIONcan be any valid version semver string (X.Y.Z), whereX,Y, andZare non-negative numbers.PLATFORMcan be eitherchromeorfirefox.
Now load the content of the dist/ folder as an unpacked extension in Chrome. As you make changes to the code, the extension is automatically rebuilt.
$ docker compose exec browser-extension bash$ VERSION=<VERSION> \
PLATFORM=<PLATFORM> \
./bin/package_extension.shThe name of the packaged extension will be screenly-<PLATFORM>-extension-<VERSION>.zip. For example, screenly-chrome-extension-0.0.1.zip or screenly-firefox-extension-0.0.1.zip.
Note
You can also download the packaged extensions from the GitHub Releases page.
- Extract the zip file to a folder.
- Open Chrome and navigate to
chrome://extensions/. - Click on Load unpacked and select the folder you extracted the zip file to.
- The extension should now be loaded and ready to use.
Important
Add-ons installed from a .zip file will be uninstalled when Firefox is closed.
This means that you will need to re-install the extension every time you open Firefox.
- Open Firefox and navigate to
about:debugging. - Click on This Firefox and then Load Temporary Add-on.
- You can either select the
manifest.jsonfile or the zipped extension. - The extension should now be loaded and ready to use.
$ ./bin/run_tests.sh
Randomized with seed <SEED>
Started
....................
20 specs, 0 failures
Finished in 0.01 seconds
Randomized with seed <SEED> (jasmine --random=true --seed=<SEED>)Build the Docker image, which is a one-time operation:
$ docker compose build$ ./bin/run_eslint.shThis will run ESLint on the codebase and show any style issues or potential problems that need to be fixed.
This project uses Prettier to format the code. For more information why the linter and formatter are separate, see this article about ESLint deprecating formatting rules.
To check the code for formatting issues without changing any files, use the check mode:
$ MODE="check" ./bin/run_formatter.shTo format the code and fix formatting issues, use the write mode:
$ MODE="write" ./bin/run_formatter.sh