An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          

Table of Contents



  1. About The Project



  2. Getting Started


  3. Usage

  4. Contributing

  5. License

## 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.

(back to top)

### Built With

[![Node.js]][Node-url]
[![Gifsicle]][Gifsicle-url]

(back to top)

## 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
```

(back to top)

## 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.

(back to top)

## License

Distributed under the MIT License. See `LICENSE.txt` for more information.

(back to top)

[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