{"id":20027475,"url":"https://github.com/jordanhandy/obsidian-cloudinary-uploader","last_synced_at":"2025-05-05T02:31:33.508Z","repository":{"id":87626859,"uuid":"427823418","full_name":"jordanhandy/obsidian-cloudinary-uploader","owner":"jordanhandy","description":"An uploader for Obsidian to Cloudinary","archived":false,"fork":false,"pushed_at":"2024-09-06T11:51:28.000Z","size":1576,"stargazers_count":27,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-08T15:52:34.775Z","etag":null,"topics":["cloudinary","cloudinary-api","obsidian-md","obsidian-plugin","obsisidan"],"latest_commit_sha":null,"homepage":"https://jordanhandy.github.io/obsidian-cloudinary-uploader/","language":"TypeScript","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/jordanhandy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"jordanhandy","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"custom":null}},"created_at":"2021-11-14T02:57:24.000Z","updated_at":"2025-03-30T13:51:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"834b72f5-239a-4e0e-b4e7-00755996953b","html_url":"https://github.com/jordanhandy/obsidian-cloudinary-uploader","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jordanhandy%2Fobsidian-cloudinary-uploader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jordanhandy%2Fobsidian-cloudinary-uploader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jordanhandy%2Fobsidian-cloudinary-uploader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jordanhandy%2Fobsidian-cloudinary-uploader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jordanhandy","download_url":"https://codeload.github.com/jordanhandy/obsidian-cloudinary-uploader/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252427888,"owners_count":21746293,"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":["cloudinary","cloudinary-api","obsidian-md","obsidian-plugin","obsisidan"],"created_at":"2024-11-13T09:10:25.629Z","updated_at":"2025-05-05T02:31:32.218Z","avatar_url":"https://github.com/jordanhandy.png","language":"TypeScript","funding_links":["https://ko-fi.com/jordanhandy"],"categories":[],"sub_categories":[],"readme":"# Cloudinary Uploader for Obsidian\n\n![Downloads](https://img.shields.io/github/downloads/jordanhandy/obsidian-cloudinary-uploader/manifest.json.svg)\n[![License](https://img.shields.io/badge/License-MIT-blue)](#license)\n\n\u003cdiv align=\"center\"\u003e\n\n\n\n[![View site - Retype](https://img.shields.io/badge/View_site-GH_Pages-2ea44f?style=for-the-badge)](https://jordanhandy.github.io/obsidian-cloudinary-uploader/)\n\n\u003c/div\u003e\n\n\n\n## License\n\nReleased under [MIT](/LICENSE) by [@jordanhandy](https://github.com/jordanhandy).\n\n## Documentation\n[Documentation](https://jordanhandy.github.io/obsidian-cloudinary-uploader/)\n## What is it?\n[Cloudinary](https://cloudinary.com/) is a cloud storage platform that allows you to upload various media files to a storage account.  The media files within this storage account can then be manipulated using Cloudinary's APIs to manipulate the data properties and metadata.\n\nThis plugin allows you to automatically upload images, video, audio and raw files pasted to Obsidian directly into your Cloudinary account (instead of stored locally).  Note:  There is functionality for media manipulation in this plugin using Cloudinary's custom parameters\n\n## How it Works\n### Single File Upload\n![Action GIF](https://res.cloudinary.com/dakfccuv5/image/upload/v1636859613/Nov-13-2021_22-11-40_bpei0d.gif)\n### Multi-file Upload\nhttps://github.com/jordanhandy/obsidian-cloudinary-uploader/assets/6423379/6b81fd36-c09e-4bd6-a313-0ec25e723251\n\n## Configuration\n1. Disable Obsidian Safe Mode\n2. Install the Plugin\n    - Install from the Obsidian Community Plugins tab\n    - Manual install\n        - Clone this repo\n        - Install dependencies with `yarn` or `npm`\n        - `npm run dev` will start compilation\n3. Enable the Plugin\n4. Configure the settings and set your:\n    - Cloud Name\n    - Upload Preset Name ([Set that here](https://cloudinary.com/documentation/upload_presets))\n    - Set a Folder Name\n5. Optional configuration\n    - Cloudinary default transformation parameters\n\n## Unsigned vs. Signed Uploads to Cloudinary\nThe uploads to Cloudinary are unsigned.  [You can read more about that here](https://cloudinary.com/documentation/upload_images#unsigned_upload).  A signed upload would require the use of an API key and secret, and I opted against asking for that in the plugin configuration, as a choice for security reasons.\n\n## Transformations\nCloudinary allows for on-the-fly image transformations using their API.  To the end-user, this is accomplished by making a simple URL modification to the resulting URL that Cloudinary gives back when an upload completes.  You can [read more about Cloudinary's transformation parameters here](https://cloudinary.com/documentation/transformation_reference).\nAs of version 0.2.0, you can now set a default transformation to be applied to all of your uploads with a comma-delimited list.  **Be mindful of syntax**, as using the incorrect transformation parameters will cause your images to not render in Obsidian.  \n\nIf this were to happen, this can be fixed by simply modifying the URL following the upload. \n\n**Be Mindful of your [transformation token allotment](https://cloudinary.com/blog/understanding_cloudinary_s_transformation_quotas)**.  Depending on your plan, Cloudinary allows for an 'x' number of transformations to take place per month.  Keep this count in mind as you apply transformations to your uploads\n## Thanks\nSpecial thanks to:\n1. @Creling and [their repo here](https://github.com/Creling/obsidian-image-uploader).  As this was my first time creating an Obsidian plugin, their base really helped.  \n2. [Obsidian Unofficial Plugin Developer Docs](https://marcus.se.net/obsidian-plugin-docs/)\n\n## Other Plugins\nIf you would like to use a plugin with more customization options that supports audio, video, and binary formats, check out my [imgBB Uploader for Obsidian](https://github.com/jordanhandy/obsidian-imgbb-uploader)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjordanhandy%2Fobsidian-cloudinary-uploader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjordanhandy%2Fobsidian-cloudinary-uploader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjordanhandy%2Fobsidian-cloudinary-uploader/lists"}