{"id":13597119,"url":"https://github.com/yaleiyale/obsidian-emo-uploader","last_synced_at":"2025-04-10T00:31:50.058Z","repository":{"id":61550718,"uuid":"552224538","full_name":"yaleiyale/obsidian-emo-uploader","owner":"yaleiyale","description":"Use image/file hosting in Obsidian by clipboard or draging file. Obsidian 图床聚合 \u0026 Github上传器","archived":false,"fork":false,"pushed_at":"2024-04-11T09:18:17.000Z","size":770,"stargazers_count":27,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-11T10:33:37.262Z","etag":null,"topics":["obsidian","uploader"],"latest_commit_sha":null,"homepage":"https://lestua.eu.org/notes/2022/10/16/172318","language":"TypeScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"jordanhandy/obsidian-cloudinary-uploader","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yaleiyale.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},"funding":{"ko_fi":"yaleiyale","custom":["https://lestua.eu.org/donate/"]}},"created_at":"2022-10-16T05:03:48.000Z","updated_at":"2024-04-15T03:30:19.399Z","dependencies_parsed_at":"2024-01-14T04:42:20.255Z","dependency_job_id":"5975e978-9d83-4bff-8c87-940afc7f8ee4","html_url":"https://github.com/yaleiyale/obsidian-emo-uploader","commit_stats":null,"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaleiyale%2Fobsidian-emo-uploader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaleiyale%2Fobsidian-emo-uploader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaleiyale%2Fobsidian-emo-uploader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaleiyale%2Fobsidian-emo-uploader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yaleiyale","download_url":"https://codeload.github.com/yaleiyale/obsidian-emo-uploader/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223418946,"owners_count":17142238,"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":["obsidian","uploader"],"created_at":"2024-08-01T17:00:21.459Z","updated_at":"2024-11-06T21:31:09.465Z","avatar_url":"https://github.com/yaleiyale.png","language":"TypeScript","funding_links":["https://ko-fi.com/yaleiyale","https://lestua.eu.org/donate/"],"categories":["原生中文插件，欢迎支持"],"sub_categories":["多媒体与附件"],"readme":"\n# Obsidian Emo Uploader\n\n\u003cp align=\"center\"\u003e\n\n      \u003cimg src=\"https://img.shields.io/github/release-date/yaleiyale/obsidian-emo-uploader?style=for-the-badge\"\u003e\n\n      \u003cimg src=\"https://img.shields.io/github/downloads/yaleiyale/obsidian-emo-uploader/total?style=for-the-badge\"\u003e\n\n      \u003cimg src=\"https://img.shields.io/codefactor/grade/github/yaleiyale/obsidian-emo-uploader/main?style=for-the-badge\"\u003e\n\n\u003c/p\u003e\n\nEmbed markdown online file/image links.  \n\nThis plugin is for uploading **images** to hosting platform or **files** to Github(more, now) in Obsidian.  \n\n**图床聚合 \u0026 文件上传器** : *Imgur SM.MS Github Cloudinary Catbox ……*\n\n🚩[中文](https://lestua.eu.org/notes/2022/10/16/172318)  \n\n## How it Works\n\n\u003cvideo src=\"https://user-images.githubusercontent.com/55282569/200258839-0979aa8c-7e5b-4254-bbe3-b9eeff458a40.mp4\" controls=\"controls\"\u003e\u003c/video\u003e\n\n## State\n\n| file hosting                          | image hosting                                       | Multi language support                               |\n| ------------------------------------- | --------------------------------------------------- | ---------------------------------------------------- |\n| [GitHub](https://github.com/)         | [Imgur](https://imgur.com/)                         | 简体中文                                                 |\n| [Clouinary](https://cloudinary.com/)  | [SM.MS](https://smms.app/)                          | 繁體中文 [@emisjerry](https://github.com/emisjerry)      |\n| [Catbox](https://catbox.moe/)         | [ImgURL](https://www.imgurl.org/)                   | English                                              |\n| [AList](https://alist.nn.ci/zh/)      | [imgbb](https://imgbb.com/)                         |                                                      |\n|                                       | [chevereto](https://chevereto.com/)                 |                                                      |\n|                                       | [EasyImages](https://icret.github.io/EasyImages2.0) |                                                      |\n\n### V2.19\n\nsupport [EasyImages](https://icret.github.io/EasyImages2.0), thanks to [anxinJ](https://github.com/anxinJ).\n\n### V2.17\n\nsupport [AList](https://alist.nn.ci/zh/), thanks to [Linnnkkk](https://github.com/Linnnkkk).\n\n### V2.16\n\nAdapted to chevereto v3\n\n### V2.15\n\nsupport [chevereto](https://chevereto.com/)\n\n### V2.14\n\nAdd Github cdn switch\n\n## Tips\n\nIf you want to create your own client-ID In Imgur, Redirect: `obsidian://emo-imgur-oauth`.  \n\nRemember your username when registering **catbox**.🤨\n\nStarting from version 2.6, clipboard and drag files are supported; Non-image files will appear as links without \"!\" at the beginning by default after being embed in markdown.\n\n## How to Extend\n\nWant to support more platforms? If you want to contribute and don't want to make too much effort on reading old code, you can extend it in the following ways.  \n\n- Refer to existing *parms* files, and add the parameters required by your new *uploader* by adding files to `src/Parms`.\n- Use your *parms* interface. In `config.ts`, add parameter configurations about your *uploader* to provide choices and act as constructors for *uploader* at run time.\n- Implement your *uploader* and *settings panel* by adding files to `src/Uploader, src/Fragment`.\n- In `settings-tab.ts`,add your *fragment* to show and set parameters in the setting-tab.\n- Add your *uploader* to the *UploaderMap* in `main.ts`.\n- Test it.\n\nIt's done! 😽\n\n## Configuration\n\n1. Disable Obsidian Safe Mode\n2. Install the Plugin\n\n   - Install from the Obsidian Community Plugins tab\n\n   - use Release\n\n      - download **main.js manifest.json or zip file** in the latest Release\n\n      - move **main.js manifest.json** in a folder in your obsidian vault's plugin folder\n\n   - Manual install\n\n      - Clone this repo\n\n      - Install dependencies with `yarn` or `npm` like `npm install`\n\n      - `yarn run dev` will start compilation\n\n3. Enable the Plugin\n4. Configure the settings 👉 [some datails: take configuring github as an example](https://lestua.eu.org/notes/2022/10/16/172318#english)\n5. Enjoy convenience 🌟\n\n## About Uploading to Github\n\nFor uninitiated visitors from outside the code world, Github is a famous internet hosting service for software development and version control using Git.  \n\nIf you need more help on hosting **images**, go to [the other parts](https://github.com/yaleiyale/obsidian-emo-uploader#about-the-other). These services are more focused on this.\n\n### What is It?\n\nThis part allows you to automatically upload **files** pasted to Obsidian directly into your Github repository ( instead of stored locally ). It's useful when you want to mention a file in your note which you think is good for sharing like script, config-file or anything.  \n\nOf course, it can be a simple image uploader. It does a good job of embedding images into markdown files.  \n\nBut more than a image uploader, You can upload **various types of files**, as long as Github accepts them.  \n\nWhether the file link can be rendered in obsidian or not depends on the support of obsidian itself. It doesn't matter, even if they can't be rendered, they can still be used as links. 🍭 Just remove the exclamation point at the beginning.  \n\n### About Use Policy\n\n[GitHub terms-of-service](https://docs.github.com/cn/site-policy/github-terms/github-terms-of-service)  \n\n[jsdelivr Use Policy](https://www.jsdelivr.com/terms/acceptable-use-policy-jsdelivr-net)  \n\n⚠️ **Note that**\n\n1. The Github target repository must be public, which means that all files uploaded are public. Github should also be more for those who are happy to share. Please make sure that it is harmless for you to share the files you upload. Personally, I'm looking forward to the day when one of your uploads will be for selfless sharing.  🌻  \n2. Do not upload Empty file. It's meaningless and wrong here.\n3. It is recommended to check the random filename in the panel. Duplicate file name will raise an error. Random file names will greatly avoid duplicate file names.  \n4. In general, Github is generous enough. But you need to get a sense of proportion, **don't abuse Github's services too hard**. Take it easy, normal use, such as in Github pages, is of course acceptable. But if you need to use images in large quantities, please use a professional image hosting service. ( Now it has been integrated into this plugin ). Going beyond the normal range (e.g. storing more than **1GB files in a single repository**), abusing Github, and uploading bad files with undesirable effects may cause your Github repository or even account to be affected.\n5. I use [jsdelivr](https://www.jsdelivr.com/) here. It is free. Just like above, don't abuse it. Just like what I do in the video, it's not good to use jsdelivr on transferring large video, I have deleted it. *My case is a small size video*. 😼\n\n## About the Other\n\nExcept for github, all the others here are purely hosting platforms. Register an account and find parameters you need. Just put your parameters to the correct positions. Then you can use it just like the way in the video.  \n\n[ImgURL](https://www.imgurl.org/), [SM.MS](https://smms.app/) are cloud storage platforms that allows you to upload **images** to a storage account. For users living in China, they are easier to access than Github and Cloudinary.  \n\nAbout [Cloudinary](https://cloudinary.com/), please refer to [obsidian-cloudinary-uploader/README.md](https://github.com/jordanhandy/obsidian-cloudinary-uploader/blob/main/README.md). Of course, Cloudinary is supported here. If you find that Cloudinary is enough to meet your needs, you can just use it. ( In fact, my plugin is smaller on size. 😳 )\n\nIf you live in China, [imgbb](https://imgbb.com/) is not recommended to use. I found that the pictures uploaded to this platform could not be easily accessed in Chinese Mainland and they are usually presented as thumbnails.\n\n~~[Imgur](https://imgur.com/) is good. But in my network environment, it is not easy to access and test. I simply implemented anonymous upload with reference to some posts.~~ Thanks for this [reference](https://github.com/gavvvr/obsidian-imgur-plugin). When using imgur anonymous upload, deletehash will appear in the form of `![deletehash](url)`, which is used to prevent you from regretting the upload of wrong pictures. You can delete them [here](https://lestua.eu.org/imgurdeleteimage) or in the plugin.\n\n[Catbox](https://catbox.moe/) originally supports anonymous uploads. But I didn't find out how to delete anonymously uploaded files. To avoid accidents, anonymous uploads of catbox are not provided here.\n\n⚠️ Files are public to see on them. Don't upload prohibited things! Please check the service restrictions by yourself.\n\n## Note\n\nDue to the different range of files supported by different platforms, there are no restrictions on the types of files you paste in this plugin. This will lead to the situation that unsupported types are uploaded failed without a correct response. Fortunately, there are not many cases in which strange file types are embedded in documents. (there won't be many, right? )\n\nIf you need to embed the file as an attachment, please close the plugin temporarily.\n\nIn general, **Github, Cloudinary, Catbox** supports **any** file type, **SM.MS, ImgURL** supports common **image** types.  \n\nTrying to upload a file that the platform does not support or volume exceeds the upper limit may result in a string like `![](undefined)`. Notice it, don't just wait.  \n\n---\n\nIf you are enjoying the plugin then you can support my work and enthusiasm by buying me a cola:  \n\n\u003ca id=\"cola\" href=\"https://lestua.eu.org/donate/\"\u003e\u003cimg src=\"https://i.imgur.com/lEvIedR.png\" alt=\"BuyMeACola\" width=\"180\" style=\"margin:auto\"\u003e\u003c/a\u003e\n\nThank you!\n\n## Thanks\n\n|                                                                                              | Thanks                                               |                                                                           |\n| -------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------- |\n| [obsidian-cloudinary-uploader](https://github.com/jordanhandy/obsidian-cloudinary-uploader)  | [Github REST API](https://docs.github.com/cn/rest)   | [jsdelivr](https://www.jsdelivr.com/)                                     |\n| [SM.MS](https://smms.app/)                                                                   | [ImgURL](https://www.imgurl.org/)                    | [Clouinary](https://cloudinary.com/)                                      |\n| [Imgur](https://imgur.com/)                                                                  | [imgbb](https://imgbb.com/)                          | [obsidian-imgur-plugin](https://github.com/gavvvr/obsidian-imgur-plugin)  |\n| [Catbox](https://catbox.moe/)                                                                | [chevereto](https://chevereto.com/)                  | [AList](https://alist.nn.ci/zh/)                                          |\n| [EasyImages](https://icret.github.io/EasyImages2.0)                                          |                                                      |                                                                           |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyaleiyale%2Fobsidian-emo-uploader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyaleiyale%2Fobsidian-emo-uploader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyaleiyale%2Fobsidian-emo-uploader/lists"}