https://github.com/mediamonks/deck-optimmizer
Node.js server application that downloads, optimizes and replaces all GIF files in a given Google Slides presentation.
https://github.com/mediamonks/deck-optimmizer
gif google optimize presentation slides
Last synced: over 1 year ago
JSON representation
Node.js server application that downloads, optimizes and replaces all GIF files in a given Google Slides presentation.
- Host: GitHub
- URL: https://github.com/mediamonks/deck-optimmizer
- Owner: mediamonks
- License: mit
- Created: 2022-04-20T15:58:58.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-09-27T12:49:18.000Z (over 3 years ago)
- Last Synced: 2025-01-30T09:42:56.309Z (over 1 year ago)
- Topics: gif, google, optimize, presentation, slides
- Language: JavaScript
- Homepage:
- Size: 2.64 MB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Table of Contents
## About The Project
The purpose of this tool is to optimize GIF files within Google Slides to reduce the deck file size and improve loading time.
From a technical standpoint it's a Node.js server application that makes a copy of the Google Slides Presentation, downloads all it's GIFs, optimizes them with Gifsicle, hosts the GIFs in an s3 bucket, replaces the optimized GIFs in the presentation and transfers ownership to the user.
### Built With
[![Node.js]][Node-url]
[![Gifsicle]][Gifsicle-url]
## Getting Started
### Prerequisites
A `creds.json` file with access credentials for a Google service account, AWS, and Workato.
### Installation
1. Clone the repo
```sh
git clone https://github.com/mediamonks/deck-optimmizer
```
2. Install NPM packages
```sh
npm install
```
3. Enter your API credentials in `creds.js`
```
{
"google":{
"client_email":"YOUR_CLIENT_EMAIL",
"client_id":"YOUR_CLIENT_ID",
"private_key":"YOUR_PRIVATE_KEY"
},
"aws":{
"accessKeyId":"YOUR_ACCESS_KEY_ID",
"secretAccessKey":"YOUR_SECRET_ACCESS_KEY",
"bucket":"YOUR_BUCKET_ID"
},
"workato":{
"client_id":"YOUR_CLIENT_ID",
"client_secret":"YOUR_CLIENT_SECRET",
"access_key":"YOUR_ACCESS_KEY"
}
}
```
4. Start the Node.Js webserver
```
node src/index.js
```
## Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
If you have a suggestion that would make this better, please fork the repo and create a pull request.
## License
Distributed under the MIT License. See `LICENSE.txt` for more information.
[Node.js]: https://img.shields.io/badge/N-Node.Js-green
[Node-url]: https://nodejs.org/en/
[Gifsicle]: https://img.shields.io/badge/G-Gifsicle-green
[Gifsicle-url]: https://www.lcdf.org/gifsicle/
[Repo-url]:https://github.com/mediamonks/deck-optimmizer