Skip to content

songxingguo/obsidian-note-publish

 
 

Repository files navigation

Obsidian Note Publish

This plugin cloud upload all local images embedded in markdown to specified remote image store (support imgur,AliYun OSS and Imagekit, currently) and export markdown with image urls to clipboard directly. The origin markdown in vault is still using local images.

It will be help for publishing to the static site such GitHub pages.

The idea of plugin comes from the powerful markdown editor MWeb Pro I have been used for years.

During plugin development, I also referred to plugins obsidian-imgur-plugin (the imgur uploading codes is from it) and obsidian-image-auto-upload-plugin. Thanks both for providing such great plugins.

This plugin is listed in the Obsidian community plugins now.

Usage

Open command and type "publish page", it will upload all local images to remote store and copy markdown with replaced image syntax to clipboard with notification.

screenshot

TODO

  • support uploading to more static site
    • Yuque
    • Juejin
    • WeChat Official Account
  • setting for replacing images embedded in origin markdown directly
  • Delete local image

Contributing

To make changes to this plugin, first ensure you have the dependencies installed.

npm install

Development

To start building the plugin with what mode enabled run the following command:

npm run dev

Note: If you haven't already installed the hot-reload-plugin you'll be prompted to. You need to enable that plugin in your obsidian vault before hot-reloading will start. You might need to refresh your plugin list for it to show up.

Releasing

To start a release build run the following command:

npm run build

Thanks


Appendix

Imgur Users: Obtaining your own Imgur Client ID

Imgur service usually has a daily upload limits. To overcome this, create and use your own Client ID. This is generally easy, by following the steps below :

  1. If you do not have an imgur.com account, create one first.

  2. Visit https://api.imgur.com/oauth2/addclient and generate Client ID for Obsidian with following settings:

    • provide any application name, i.e. "Obsidian"
    • choose "OAuth 2 authorization without a callback URL" (important)
    • Add your E-Mail
  3. Copy the Client ID. (Note: You only need Client ID. The Client secret is a private info that is not required by this plugin. Keep it safe with you)

  4. Paste this Client ID in plugin settings

About

Obsidian发布文章到语雀、掘金、公众号。

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 97.5%
  • CSS 2.5%