{"id":22243105,"url":"https://github.com/mediamonks/deck-optimmizer","last_synced_at":"2025-03-25T10:42:04.733Z","repository":{"id":54681183,"uuid":"483721174","full_name":"mediamonks/deck-optimmizer","owner":"mediamonks","description":"Node.js server application that downloads, optimizes and replaces all GIF files in a given Google Slides presentation.","archived":false,"fork":false,"pushed_at":"2022-09-27T12:49:18.000Z","size":2763,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-30T09:42:56.309Z","etag":null,"topics":["gif","google","optimize","presentation","slides"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mediamonks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-04-20T15:58:58.000Z","updated_at":"2022-07-13T11:06:40.000Z","dependencies_parsed_at":"2022-08-13T23:50:41.271Z","dependency_job_id":null,"html_url":"https://github.com/mediamonks/deck-optimmizer","commit_stats":null,"previous_names":[],"tags_count":59,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mediamonks%2Fdeck-optimmizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mediamonks%2Fdeck-optimmizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mediamonks%2Fdeck-optimmizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mediamonks%2Fdeck-optimmizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mediamonks","download_url":"https://codeload.github.com/mediamonks/deck-optimmizer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245449531,"owners_count":20617187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gif","google","optimize","presentation","slides"],"created_at":"2024-12-03T04:20:39.311Z","updated_at":"2025-03-25T10:42:04.711Z","avatar_url":"https://github.com/mediamonks.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cdiv id=\"top\"\u003e\u003c/div\u003e\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\u003c!--\n*** Using markdown \"reference style\" links for readability.\n*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).\n*** See the bottom of this document for the declaration of the reference variables\n*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.\n*** https://www.markdownguide.org/basic-syntax/#reference-style-links\n--\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\nThe purpose of this tool is to optimize GIF files within Google Slides to reduce the deck file size and improve loading time.\n\nFrom 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.\n\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n### Built With\n\n [![Node.js]][Node-url]\n[![Gifsicle]][Gifsicle-url]\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\n\n### Prerequisites\nA `creds.json` file with access credentials for a Google service account, AWS, and Workato. \n\n\n\n### Installation\n\n1. Clone the repo\n   ```sh\n   git clone https://github.com/mediamonks/deck-optimmizer\n   ```\n2. Install NPM packages\n   ```sh\n   npm install\n   ```\n3. Enter your API credentials in `creds.js`\n```\n    {\n    \"google\":{\n    \t\"client_email\":\"YOUR_CLIENT_EMAIL\",\n    \t\"client_id\":\"YOUR_CLIENT_ID\",\n    \t\"private_key\":\"YOUR_PRIVATE_KEY\"\n    \t},\n    \"aws\":{\n    \t\"accessKeyId\":\"YOUR_ACCESS_KEY_ID\",\n\t   \t\"secretAccessKey\":\"YOUR_SECRET_ACCESS_KEY\",\n    \t\"bucket\":\"YOUR_BUCKET_ID\"\n    \t},\n    \"workato\":{\n    \t\"client_id\":\"YOUR_CLIENT_ID\",\n    \t\"client_secret\":\"YOUR_CLIENT_SECRET\",\n    \t\"access_key\":\"YOUR_ACCESS_KEY\"\n    \t}\n    }\n```\n 4. Start the Node.Js webserver\n```\n    node src/index.js \n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. \n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the MIT License. See `LICENSE.txt` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[Node.js]: https://img.shields.io/badge/N-Node.Js-green\n[Node-url]: https://nodejs.org/en/\n[Gifsicle]: https://img.shields.io/badge/G-Gifsicle-green\n[Gifsicle-url]: https://www.lcdf.org/gifsicle/\n[Repo-url]:https://github.com/mediamonks/deck-optimmizer","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmediamonks%2Fdeck-optimmizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmediamonks%2Fdeck-optimmizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmediamonks%2Fdeck-optimmizer/lists"}