diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 4a2f7e6..7deae33 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "1.5.1"
+ ".": "1.6.0"
}
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b1f16a5..4eaf9a1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,64 +1,121 @@
# Changelog
-## [1.5.1](https://github.com/terwer/siyuan-plugin-picgo/compare/v1.5.0...v1.5.1) (2023-10-09)
+## [1.6.0](https://github.com/terwer/siyuan-plugin-picgo/compare/siyuan-plugin-picgo-v1.5.1...siyuan-plugin-picgo-v1.6.0) (2024-03-27)
+### Features
+* adapt universal picgo config path ([07cc413](https://github.com/terwer/siyuan-plugin-picgo/commit/07cc413dd8975c40b3b924ba6732107ce6a12c9d))
+* add axios for request ([678ad8a](https://github.com/terwer/siyuan-plugin-picgo/commit/678ad8aeb5ee03edfbde5bef4eb51d410f88a38a))
+* add clipboard image support ([5c131a0](https://github.com/terwer/siyuan-plugin-picgo/commit/5c131a0b723243be107f4a6fd45b3f2884ed3667))
+* add deps ([d0be32a](https://github.com/terwer/siyuan-plugin-picgo/commit/d0be32aa1fa84cdcaeb7929c9bbf9ba14e542b3a))
+* add element-plus support ([6ab4d7c](https://github.com/terwer/siyuan-plugin-picgo/commit/6ab4d7cd802f387138c392d2dd0ec0bc82d8e393))
+* add events support ([7d7678e](https://github.com/terwer/siyuan-plugin-picgo/commit/7d7678e082f6223f29f01270a54ff992748ae0c1))
+* add icons ([d090d80](https://github.com/terwer/siyuan-plugin-picgo/commit/d090d80db9ff49026ea274895959d9ddc39b99ff))
+* add image download support ([3b28338](https://github.com/terwer/siyuan-plugin-picgo/commit/3b283387314a4d697673c42c35c6cac89e4e2813))
+* add lifecycle ([6789d48](https://github.com/terwer/siyuan-plugin-picgo/commit/6789d48d4762efdc2cefd660883f2952891f2f92))
+* add localforge support ([066cd00](https://github.com/terwer/siyuan-plugin-picgo/commit/066cd00eabaa002197541240ca0645953abba15d))
+* add new logo ([6d8d4fa](https://github.com/terwer/siyuan-plugin-picgo/commit/6d8d4fa5b95152fca5ee282de3f2880598df2e32))
+* add partial i18n support ([def516b](https://github.com/terwer/siyuan-plugin-picgo/commit/def516ba1961e992d7d3ce93af71e3cc67a3622b))
+* add path alias, use eruda as debug console ([cb29b16](https://github.com/terwer/siyuan-plugin-picgo/commit/cb29b166b68f002798da694d3bb086cb62eb1c7e))
+* add picgo core 1.5.6 as electron start version ([02660ad](https://github.com/terwer/siyuan-plugin-picgo/commit/02660ad416d3100e413abfd414124616da315afc))
+* add picgo core 1.5.6 as start version ([d1614bf](https://github.com/terwer/siyuan-plugin-picgo/commit/d1614bf23056b3a3f419396bc8aa35dc68361f54))
+* add picgo request ([78deb04](https://github.com/terwer/siyuan-plugin-picgo/commit/78deb045970b90f06111c0e127c06fe9ba9a623a))
+* add picgo siyuan lib ([c21177b](https://github.com/terwer/siyuan-plugin-picgo/commit/c21177b37b8e2897746b2777b34d94bd669fa0c8))
+* add plugin db support ([5c0c623](https://github.com/terwer/siyuan-plugin-picgo/commit/5c0c623072b2813acbf9e45380a86812acddcac1))
+* add post api ([3cd4047](https://github.com/terwer/siyuan-plugin-picgo/commit/3cd40472145cc53d9636ce4ad2fd6cc2ecc2eed1))
+* add router and pages ([c856eaf](https://github.com/terwer/siyuan-plugin-picgo/commit/c856eaf72ecc392592980a71ddc885aec138c269))
+* add siyuan api ([e2134ad](https://github.com/terwer/siyuan-plugin-picgo/commit/e2134ad10df824572477a8dcce17a134df4f2445))
+* add smms plugin ([679625b](https://github.com/terwer/siyuan-plugin-picgo/commit/679625b63f2c3feb73edb69f5ca5b0fed11a0d32))
+* add transformer ([a570bca](https://github.com/terwer/siyuan-plugin-picgo/commit/a570bca0928e8cdbca78852c47c2fd7f51555c93))
+* add universal picgo core ([5b074ea](https://github.com/terwer/siyuan-plugin-picgo/commit/5b074ea269f1b1713f38de1996fd2d45dfbf128b))
+* add universal picgo store ([9e4a6bc](https://github.com/terwer/siyuan-plugin-picgo/commit/9e4a6bc403bedb77641a0894de14979b05c6ea31))
+* add vite-plugin-node-polyfills ([ded32c5](https://github.com/terwer/siyuan-plugin-picgo/commit/ded32c5b3dc6d7c71e313ae675e3d87321f9f833))
+* allow image copy for different types ([9b8ca99](https://github.com/terwer/siyuan-plugin-picgo/commit/9b8ca99b9b8c92664d313af829df401ab1983c54))
+* avoid refresh page after upload ([3e241e0](https://github.com/terwer/siyuan-plugin-picgo/commit/3e241e02689683deb29b755312b5a42aa13e30ab))
+* basic picgo flow ([f09fb41](https://github.com/terwer/siyuan-plugin-picgo/commit/f09fb4173d6060595ee3b0124cf7af58b3588428))
+* browser upload list ([8482c3a](https://github.com/terwer/siyuan-plugin-picgo/commit/8482c3a50d05c7cef768a5904e457415ad5eb525))
+* bundled picgo setting ([49a0ed4](https://github.com/terwer/siyuan-plugin-picgo/commit/49a0ed448d4993262d46784da2c679a75ed20013))
+* change siyuan api default config path ([610be2c](https://github.com/terwer/siyuan-plugin-picgo/commit/610be2c8e70c25220b76ed39d451fcf2b837a498))
+* config update ([af4a2f1](https://github.com/terwer/siyuan-plugin-picgo/commit/af4a2f1116fc88a5d49c2fd9f080edef2b5290a6))
+* db support electron and browser ([7d38391](https://github.com/terwer/siyuan-plugin-picgo/commit/7d3839187d88224c79a2f6d0ba7efd2de5dfdfef))
+* electron write file ([a0717f3](https://github.com/terwer/siyuan-plugin-picgo/commit/a0717f3415f7889c465f04298f9e4a54614f0df3))
+* external picgo setting ([ca52410](https://github.com/terwer/siyuan-plugin-picgo/commit/ca5241013256825b972b55f201f6f6d4138ebe1e))
+* finish picgo store ataptor ([c44c32a](https://github.com/terwer/siyuan-plugin-picgo/commit/c44c32a43697eb0c34a1179eefdf6af8aa6220dd))
+* gitlab no need proxy ([db08307](https://github.com/terwer/siyuan-plugin-picgo/commit/db083079a04e89d9edce45ce7aa8177af49fe568))
+* init picgo ([7f9db6c](https://github.com/terwer/siyuan-plugin-picgo/commit/7f9db6c4ae3b22307e374ed781da3238c9b40210))
+* init siyuan picgo ([95ebc61](https://github.com/terwer/siyuan-plugin-picgo/commit/95ebc617e0df9372ae4460481f90609b466d15f6))
+* lifecycle should throw error ([ed67d2d](https://github.com/terwer/siyuan-plugin-picgo/commit/ed67d2ddfbf1c89d84f4777905ea065a37a76cf0))
+* loding style ([b3a9b5e](https://github.com/terwer/siyuan-plugin-picgo/commit/b3a9b5e8a2fdaf8db3f607030b480955a1775b29))
+* new method for extract file name ([218f32c](https://github.com/terwer/siyuan-plugin-picgo/commit/218f32c6c2274af416bf24bc6a79f579dd3d12d5))
+* pic bed config ([aeb9c1b](https://github.com/terwer/siyuan-plugin-picgo/commit/aeb9c1b04f43084a0982f1dbb6e537aac2fb8313))
+* picbed config ([b0af419](https://github.com/terwer/siyuan-plugin-picgo/commit/b0af4196c7690bf61c8809bf3329414cf211b238))
+* reactive config setting ([025d5f6](https://github.com/terwer/siyuan-plugin-picgo/commit/025d5f682da1ac4c49008c273a2b14918e6838d0))
+* refactoring project structure ([d07f16f](https://github.com/terwer/siyuan-plugin-picgo/commit/d07f16fd086e6c2045034a0f198dc73c7500294f))
+* remove default encode behavior ([3355f03](https://github.com/terwer/siyuan-plugin-picgo/commit/3355f0307181a291e6ede46add10f67671a6e0fd))
+* remove token for public projects ([54712f8](https://github.com/terwer/siyuan-plugin-picgo/commit/54712f8439a9c9dffaeba9af0b8b8f9073331203))
+* rename cfg folder to universal-picgo ([7a0ee05](https://github.com/terwer/siyuan-plugin-picgo/commit/7a0ee05a444efebc569e11d26c8f9acbc7093c98))
+* restructure db ([adfa24e](https://github.com/terwer/siyuan-plugin-picgo/commit/adfa24e9064b5a6dce10570fb4e9d7bddd976464))
+* save clipboard image ([7b986ab](https://github.com/terwer/siyuan-plugin-picgo/commit/7b986abc68f52e0d2be9a68a73b5f51603da2e7f))
+* support aliyun ([5e09220](https://github.com/terwer/siyuan-plugin-picgo/commit/5e09220765befbb0f85940215deedbd038a52523))
+* support aliyun via cors proxy ([32ace45](https://github.com/terwer/siyuan-plugin-picgo/commit/32ace453c5c36882aca17ea2eb7c2efe5a9e13f7))
+* support browser i18n ([17da086](https://github.com/terwer/siyuan-plugin-picgo/commit/17da0861d9b41ef4db42f43f706726a08004982e))
+* support drag upload ([86fc400](https://github.com/terwer/siyuan-plugin-picgo/commit/86fc40038f866bbf54b972713652f5ec4f1906c5))
+* support external picgo ([6aed459](https://github.com/terwer/siyuan-plugin-picgo/commit/6aed459d34cff3aa92deb64c284f6da4baebd871))
+* support github ([e6dc381](https://github.com/terwer/siyuan-plugin-picgo/commit/e6dc38136f3740252c1cf9e417c0288ffc11a690))
+* support gitlab ([b7a1d48](https://github.com/terwer/siyuan-plugin-picgo/commit/b7a1d48a620f71c321b5d96e9f8bd8c26fe2754f))
+* support gitlab upload ([7b24e50](https://github.com/terwer/siyuan-plugin-picgo/commit/7b24e507b1d2a2d07ec7af471e699fb4c01e42bb))
+* support imgur ([80df23e](https://github.com/terwer/siyuan-plugin-picgo/commit/80df23e8927028afd120197053503206334c1ca5))
+* support qiniu ([3cb223a](https://github.com/terwer/siyuan-plugin-picgo/commit/3cb223a49b067b255cfd2b03bd86dc984bede262))
+* support qiniu without proxy ([ada39eb](https://github.com/terwer/siyuan-plugin-picgo/commit/ada39eb89b9111d1d127411c5537569950226ec9))
+* support sm.ms ([7a7cb59](https://github.com/terwer/siyuan-plugin-picgo/commit/7a7cb5915abfafc350a65e2add38a7186655094e))
+* support some setting ([282192e](https://github.com/terwer/siyuan-plugin-picgo/commit/282192e295a4ccb63d0e7c54953eafd659cfb902))
+* support tencent cos ([b4fc844](https://github.com/terwer/siyuan-plugin-picgo/commit/b4fc844d15c62f34dab557044b78d0c66dff041b))
+* support upyun ([3ea89d8](https://github.com/terwer/siyuan-plugin-picgo/commit/3ea89d8843c109ce363cea466d583100ba53f98d))
+* update config ([1043cb2](https://github.com/terwer/siyuan-plugin-picgo/commit/1043cb25483d6bb40c6ba932ed63a9d88f079a87))
+* update pic bed config ([7e4dc05](https://github.com/terwer/siyuan-plugin-picgo/commit/7e4dc05b2d132782dd7bb1b7492075666a4a775a))
+* update picgo config ([a4aaae1](https://github.com/terwer/siyuan-plugin-picgo/commit/a4aaae1f2aaae3c09258cba8d31e2434fcedf6c8))
+* update siyuan setting ([0b930c8](https://github.com/terwer/siyuan-plugin-picgo/commit/0b930c80539892259c1334a0404433782a6445e7))
+* upload list ([ee955b0](https://github.com/terwer/siyuan-plugin-picgo/commit/ee955b0c5c37feb914cb4c0772a406a3671df17d))
+* upyun todo ([ea1798d](https://github.com/terwer/siyuan-plugin-picgo/commit/ea1798d2d9752cd8025a782b51476d0f29332c7e))
+* use ts-localstorage for browser ([952cff9](https://github.com/terwer/siyuan-plugin-picgo/commit/952cff98996a29999842113db9fd3cf0e2bb8a51))
### Bug Fixes
+* change build scripts ([9545e57](https://github.com/terwer/siyuan-plugin-picgo/commit/9545e577a089a5b9c6b50131c10cb96952ad7fe3))
+* change dependabot ([b8c5085](https://github.com/terwer/siyuan-plugin-picgo/commit/b8c5085789bdfa9f626ca1bde7c5289f69ced8f4))
+* change dev scripts ([30cd4c2](https://github.com/terwer/siyuan-plugin-picgo/commit/30cd4c2d35e0e172db04d9bbce172174e2a4a6cb))
+* change project structure ([0589cf8](https://github.com/terwer/siyuan-plugin-picgo/commit/0589cf8c47b898258b17e2cfbc2fe030afd1f638))
+* change release-please ([cccb5a7](https://github.com/terwer/siyuan-plugin-picgo/commit/cccb5a78e8dc39aa91f0214c6373f7f63e8bab32))
+* config init should before request ([616d73f](https://github.com/terwer/siyuan-plugin-picgo/commit/616d73fe66106d6e7adcb4292dc097a289aa60bf))
+* **deps:** bump actions/checkout from 3 to 4 ([50f23c8](https://github.com/terwer/siyuan-plugin-picgo/commit/50f23c87a9a991875a4fa9df9d793cf46861c752))
* **deps:** bump siyuan from 0.7.9 to 0.8.4 ([a4330d5](https://github.com/terwer/siyuan-plugin-picgo/commit/a4330d50195337c7c04e39c1d88b266faeeef7bd))
* **deps:** bump zhi-fetch-middleware from 0.2.21 to 0.6.5 ([0b7223c](https://github.com/terwer/siyuan-plugin-picgo/commit/0b7223c58d61f1953c347be9dbf3ac5563d66d03))
* fix typo ([c0c82a7](https://github.com/terwer/siyuan-plugin-picgo/commit/c0c82a79de2ef8d2b082fbc482f5b1b5f4051dcf))
+* fix vue conflict ([6cbce25](https://github.com/terwer/siyuan-plugin-picgo/commit/6cbce25c9e7d33ccf3aae2b03074f29edfea8486))
+* import error ([aa068bb](https://github.com/terwer/siyuan-plugin-picgo/commit/aa068bb68efc2df79a4ab6dcea6ca5104853be69))
+### Miscellaneous
+* add file or blob support ([1b36f70](https://github.com/terwer/siyuan-plugin-picgo/commit/1b36f70413b00ce3829b8cafdeb1388943f59778))
+* add license ([3e51524](https://github.com/terwer/siyuan-plugin-picgo/commit/3e51524ca897dcbc1bc606e00b93ff05b35c07e6))
+* add more pages ([c825d68](https://github.com/terwer/siyuan-plugin-picgo/commit/c825d685e5c85615980efb72b8ec0bfaca02ecc3))
+* browser support request proxy ([f14765d](https://github.com/terwer/siyuan-plugin-picgo/commit/f14765d148eef000a39c5b9bd9c59397f619e4e1))
+* browser support url upload ([26413dc](https://github.com/terwer/siyuan-plugin-picgo/commit/26413dcfe924b4ad17f51e0ebb6259b7919bb5a8))
+* change release name ([04a907c](https://github.com/terwer/siyuan-plugin-picgo/commit/04a907c4439a8ec312a8ff6ef543a1c7c4b5c9cd))
+* **deps-dev:** bump @tsconfig/svelte from 5.0.3 to 5.0.4 ([46f3020](https://github.com/terwer/siyuan-plugin-picgo/commit/46f3020881807db77153bc5b5552043dcc0c7bf5))
+* **deps-dev:** bump siyuan from 0.9.5 to 0.9.6 ([6656148](https://github.com/terwer/siyuan-plugin-picgo/commit/66561482589ed66f26c98dbcc3de7ca7bc046578))
+* **deps-dev:** bump vite-plugin-static-copy from 1.0.1 to 1.0.2 ([e5d11a3](https://github.com/terwer/siyuan-plugin-picgo/commit/e5d11a34e7a5fd024a3593314a43d2b549c6e251))
+* **deps-dev:** bump vitest from 1.3.1 to 1.4.0 ([e187549](https://github.com/terwer/siyuan-plugin-picgo/commit/e187549c73128a2f02955bfbbb8897fe4bd58d18))
+* ignore script cache ([b88113e](https://github.com/terwer/siyuan-plugin-picgo/commit/b88113ee0d110b46e5b8bb93cd2475abf58ba746))
+* prepare for release ([c5d90da](https://github.com/terwer/siyuan-plugin-picgo/commit/c5d90da071dbbc97cc0d8372c40028f80671110b))
+* support base64 ([3539519](https://github.com/terwer/siyuan-plugin-picgo/commit/3539519e04661023dd335bd4282bb0819ca55215))
+* support remote picture url ([54a136c](https://github.com/terwer/siyuan-plugin-picgo/commit/54a136ca28105393700277ad07ecfc364b7c3693))
+* update deps ([5426b05](https://github.com/terwer/siyuan-plugin-picgo/commit/5426b05a48cf0e4a334b2bc8d908e7cc05f5a8b0))
+## [1.5.1](https://github.com/terwer/siyuan-plugin-picgo/compare/v1.5.0...v1.5.1) (2023-10-09)
## [1.5.0](https://github.com/terwer/siyuan-plugin-picgo/compare/v1.4.5...v1.5.0) (2023-10-09)
-### Features
-* [#164](https://github.com/terwer/siyuan-plugin-picgo/issues/164) 解决插件与最新版思源笔记的兼容问题 ([f530adb](https://github.com/terwer/siyuan-plugin-picgo/commit/f530adba90bc7c263ac029d28dd546ddc28961be))
-* 修复 picgo 插件菜单显示异常问题 ([8179a20](https://github.com/terwer/siyuan-plugin-picgo/commit/8179a20a519fcf7b1980a9f46afae361eac0024d))
-* 修复部分提示未展示问题 ([57718f8](https://github.com/terwer/siyuan-plugin-picgo/commit/57718f8e428cc7cf12a01ee2970614943cdb03a2))
-* 修复页面刷新错误 ([dbc9883](https://github.com/terwer/siyuan-plugin-picgo/commit/dbc9883dccb128b1a3d5b28f358889d22a5bf5f7))
## [1.4.5](https://github.com/terwer/siyuan-plugin-picgo/compare/v1.4.4...v1.4.5) (2023-08-14)
-* 紧急修复 picgo 插件无法打开的问题 ([6f0f6c1](https://github.com/terwer/siyuan-plugin-picgo/commit/6f0f6c16c4fb95717a00deefdc8e10c79d67d743))
## [1.4.4](https://github.com/terwer/siyuan-plugin-picgo/compare/v1.4.3...v1.4.4) (2023-08-12)
-* 紧急修复 picgo 插件初始化失败问题 ([3937259](https://github.com/terwer/siyuan-plugin-picgo/commit/3937259e78ef637118c78ec55df890ee1e39b0a9))
## [1.4.3](https://github.com/terwer/siyuan-plugin-picgo/compare/v1.4.2...v1.4.3) (2023-08-12)
-* 优化部分日志级别 ([2d09312](https://github.com/terwer/siyuan-plugin-picgo/commit/2d093128a0f1e5d032ed9ce2f3d6c3e6cb43240c))
## [1.4.2](https://github.com/terwer/siyuan-plugin-picgo/compare/v1.4.1...v1.4.2) (2023-08-12)
-* 修复pinia错误 ([0bb2569](https://github.com/terwer/siyuan-plugin-picgo/commit/0bb256971f4f73c94efaf8fd153526a9d176c0d6))
## [1.4.1](https://github.com/terwer/siyuan-plugin-picgo/compare/v1.4.0...v1.4.1) (2023-08-12)
-* 修复单个上传错误的问题 ([7c4163d](https://github.com/terwer/siyuan-plugin-picgo/commit/7c4163deeb8c84a835414760bece1553885caa8f))
## [1.4.0](https://github.com/terwer/siyuan-plugin-picgo/compare/v1.3.1...v1.4.0) (2023-08-11)
-* 优化配置导入导出交互 ([41d3901](https://github.com/terwer/siyuan-plugin-picgo/commit/41d39018acb04606433183bf035aed2713b7987b))
-* 支持内置picgo和外部picgo切换 ([ae833cc](https://github.com/terwer/siyuan-plugin-picgo/commit/ae833cc69fb69830b59e846c2244c870b10b4d1d))
-* 支持配置思源地址 ([a3e49ea](https://github.com/terwer/siyuan-plugin-picgo/commit/a3e49ea3a83803841e76b5dfb614236923363764))
-* 上传失败也要保存元数据 ([2265a25](https://github.com/terwer/siyuan-plugin-picgo/commit/2265a2551b4e4d5a4bf48c3450689f675b2cb392))
## [1.3.1](https://github.com/terwer/siyuan-plugin-picgo/compare/v1.3.0...v1.3.1) (2023-08-11)
-* 图片转换支持自定义本地图片前缀 ([cccb511](https://github.com/terwer/siyuan-plugin-picgo/commit/cccb511bcb28ec5fc34cd41839ae5d88b6c2f067))
## [1.3.0](https://github.com/terwer/siyuan-plugin-picgo/compare/v1.2.0...v1.3.0) (2023-08-11)
-* 单个图片上传失败不能影响整体 ([63950dd](https://github.com/terwer/siyuan-plugin-picgo/commit/63950dddd1ccf84ff3dd9ba3dbc978b36049663f))
-* 导出图片解析模块给其他插件使用 ([ecc082a](https://github.com/terwer/siyuan-plugin-picgo/commit/ecc082af8e2575b33d8b784382eb1ab562bf4065))
-* 解析图片链接 ([fbdbaad](https://github.com/terwer/siyuan-plugin-picgo/commit/fbdbaad30fe295de1ce51081f65ebfda6399acb5))
## [1.2.0](https://github.com/terwer/siyuan-plugin-picgo/compare/v1.1.1...v1.2.0) (2023-08-11)
-* 支持作为 npm 类库给其他插件使用 ([8326245](https://github.com/terwer/siyuan-plugin-picgo/commit/83262450a8a68fb4a57367feff56fc35d214218e))
-* 优化项目依赖 ([48b45cf](https://github.com/terwer/siyuan-plugin-picgo/commit/48b45cf5b6142e856718fecc1a14d05dd7fd30b2))
-* 修复配置错误校验结果未阻止的问题 ([d287be6](https://github.com/terwer/siyuan-plugin-picgo/commit/d287be6f4e8a2a8c045dea24c321d5ac27d3a6fb))
-* 按钮名称直接显示,目前的操作不够直观,后续考虑抽象成菜单或许更好 ([9243ea9](https://github.com/terwer/siyuan-plugin-picgo/commit/9243ea97612e8b93b4b3b784eef573f0822a7c72))
## [1.1.1](https://github.com/terwer/siyuan-plugin-picgo/compare/v1.1.0...v1.1.1) (2023-06-15)
-* 移除错误弹出 ([11d5aa5](https://github.com/terwer/siyuan-plugin-picgo/commit/11d5aa5da54eee01d01e0a129fb9784a56ce3342))
-* 移除错误弹窗,升级部分依赖 ([2b6b055](https://github.com/terwer/siyuan-plugin-picgo/commit/2b6b05532ebdec1bbe134463dcc377865cac35a2))
## [1.1.0](https://github.com/terwer/siyuan-plugin-picgo/compare/v1.0.0...v1.1.0) (2023-06-15)
-* picgo 插件第一版-sypicgo.js 更新到 1.2.5 ([dd9e364](https://github.com/terwer/siyuan-plugin-picgo/commit/dd9e3646a40b4e83cfa3a48b7b32d9e18fba4776))
-### Miscellaneous
-* add license ([3e51524](https://github.com/terwer/siyuan-plugin-picgo/commit/3e51524ca897dcbc1bc606e00b93ff05b35c07e6))
-## 1.0.0 (2023-06-14)
-* picgo 插件第一版 ([ed0d114](https://github.com/terwer/siyuan-plugin-picgo/commit/ed0d114e82d83a835919b9516b5a47d64e1574a0))
-* picgo 插件第一版-ui 调整 ([77d3bc5](https://github.com/terwer/siyuan-plugin-picgo/commit/77d3bc5e7546c72490776b3ae5dfd5f7fb9c06d0))
-* picgo 插件第一版-优化页面跳转与路由 ([815ebb0](https://github.com/terwer/siyuan-plugin-picgo/commit/815ebb0ab3cb0b83bea2b257dffc9874cf1c8a62))
-* picgo 插件第一版-信息 font-awesome 图标 ([4d9c303](https://github.com/terwer/siyuan-plugin-picgo/commit/4d9c303c38ee54e472568d28deea5bef09e5c8b5))
-* picgo 插件第一版-修复重新上传报错的问题 ([4c4bc64](https://github.com/terwer/siyuan-plugin-picgo/commit/4c4bc642ce7fcf20ebfb1be64a6edde4bc73b560))
-* picgo 插件第一版-初始化 picgo 实例 ([b25f113](https://github.com/terwer/siyuan-plugin-picgo/commit/b25f1130d02f46ace0db521bdbc65a3b5dabaca1))
-* picgo 插件第一版-初始化基本页面、日志等 ([0155cd4](https://github.com/terwer/siyuan-plugin-picgo/commit/0155cd421d25d6f05d63d0db385e5c632995c5e0))
-* picgo 插件第一版-前期仅支持 pc 客户端 ([c95d21d](https://github.com/terwer/siyuan-plugin-picgo/commit/c95d21d8fdb1340d60f8d830a3e91f0dbd5ea969))
-* picgo 插件第一版-图床配置 ([25b5deb](https://github.com/terwer/siyuan-plugin-picgo/commit/25b5debbef05119cea21e4dad419edd49ee4637e))
-* picgo 插件第一版-完成桥接版剪贴板上传 ([5b595ce](https://github.com/terwer/siyuan-plugin-picgo/commit/5b595ceddf2f2c4d96fe498bc1686e0e7c7e4683))
-* picgo 插件第一版-定义 picgo 图床基本流程 ([1066132](https://github.com/terwer/siyuan-plugin-picgo/commit/1066132464194d129024029ff6d75baa126d8909))
-* picgo 插件第一版-支持配置导入导出 ([a712109](https://github.com/terwer/siyuan-plugin-picgo/commit/a712109d65f5e421d1a87caf3f1dee469c807d74))
-* picgo 插件第一版-新增调试模式 ([365b003](https://github.com/terwer/siyuan-plugin-picgo/commit/365b0039db50715d5c9009974395ee9752627fe0))
-* picgo 插件第一版-新增预览图 ([dab14a3](https://github.com/terwer/siyuan-plugin-picgo/commit/dab14a3a999d5e89e5458d2feb0c43b4387edeb0))
-* picgo 插件第一版-显示图片列表 ([85d2694](https://github.com/terwer/siyuan-plugin-picgo/commit/85d26946be9bfcacebd1225e5e3c13cf0e4a866e))
-* 初始化 picgo 插件 ([ee4727d](https://github.com/terwer/siyuan-plugin-picgo/commit/ee4727d4cd5e475224b1a828921884a4019df74b))
-* update deps ([5426b05](https://github.com/terwer/siyuan-plugin-picgo/commit/5426b05a48cf0e4a334b2bc8d908e7cc05f5a8b0))
\ No newline at end of file
+## 1.0.0 (2023-06-14)
\ No newline at end of file
diff --git a/libs/Universal-PicGo-Core/package.json b/libs/Universal-PicGo-Core/package.json
index 3589c5e..2aa43aa 100644
--- a/libs/Universal-PicGo-Core/package.json
+++ b/libs/Universal-PicGo-Core/package.json
@@ -1,6 +1,6 @@
{
"name": "universal-picgo",
- "version": "1.5.6",
+ "version": "1.6.0",
"type": "module",
"description": "picgo lib for node, browser and electron",
"main": "./dist/index.js",
@@ -44,4 +44,4 @@
"publishConfig": {
"access": "public"
}
-}
+}
\ No newline at end of file
diff --git a/libs/Universal-PicGo-Core/src/index.ts b/libs/Universal-PicGo-Core/src/index.ts
index 2d9de13..e90bad3 100644
--- a/libs/Universal-PicGo-Core/src/index.ts
+++ b/libs/Universal-PicGo-Core/src/index.ts
@@ -17,12 +17,12 @@ import {
IUploaderConfigListItem,
IPluginConfig,
} from "./types"
-import { isFileOrBlob } from "./utils/common"
+import { isFileOrBlob, calculateMD5 } from "./utils/common"
export { UniversalPicGo, ExternalPicgo, eventBus }
export { ConfigDb, PluginLoaderDb, ExternalPicgoConfigDb }
export { PicgoTypeEnum, IBusEvent }
-export { isFileOrBlob }
+export { isFileOrBlob, calculateMD5 }
export { win, currentWin, parentWin, hasNodeEnv }
export {
type IPicGo,
diff --git a/libs/Universal-PicGo-Core/src/plugins/uploader/upyun/index.ts b/libs/Universal-PicGo-Core/src/plugins/uploader/upyun/index.ts
index a675086..e9c213e 100644
--- a/libs/Universal-PicGo-Core/src/plugins/uploader/upyun/index.ts
+++ b/libs/Universal-PicGo-Core/src/plugins/uploader/upyun/index.ts
@@ -10,16 +10,11 @@
import crypto from "crypto"
import { ILocalesKey } from "../../../i18n/zh-CN"
import { IPicGo, IPluginConfig, IUpyunConfig } from "../../../types"
-import { base64ToBuffer } from "../../../utils/common"
+import { base64ToBuffer, calculateMD5 } from "../../../utils/common"
import { IBuildInEvent } from "../../../utils/enums"
import { Buffer } from "../../../utils/nodePolyfill"
import { AxiosRequestConfig } from "axios"
-// 封装计算MD5哈希的方法
-function calculateMD5(input: string) {
- return crypto.createHash("md5").update(input).digest("hex")
-}
-
function hmacsha1(secret: string, value: string) {
return crypto.createHmac("sha1", secret).update(value, "utf8").digest().toString("base64")
}
diff --git a/libs/Universal-PicGo-Core/src/utils/common.ts b/libs/Universal-PicGo-Core/src/utils/common.ts
index a46f4b5..c313b4d 100644
--- a/libs/Universal-PicGo-Core/src/utils/common.ts
+++ b/libs/Universal-PicGo-Core/src/utils/common.ts
@@ -12,6 +12,7 @@ import { hasNodeEnv, win } from "universal-picgo-store"
import imageSize from "./image-size"
import { calculateHash } from "./hashUtil"
import { Buffer } from "./nodePolyfill"
+import crypto from "crypto"
export const isUrl = (url: string): boolean => url.startsWith("http://") || url.startsWith("https://")
@@ -442,3 +443,6 @@ export const getImageSize = (file: Buffer | typeof win.Buffer): IImgSize => {
}
}
}
+
+// 封装计算MD5哈希的方法
+export const calculateMD5 = (input: string) => crypto.createHash("md5").update(input).digest("hex")
diff --git a/libs/Universal-PicGo-Store/package.json b/libs/Universal-PicGo-Store/package.json
index 5556652..7fd62f7 100644
--- a/libs/Universal-PicGo-Store/package.json
+++ b/libs/Universal-PicGo-Store/package.json
@@ -1,6 +1,6 @@
{
"name": "universal-picgo-store",
- "version": "1.5.6",
+ "version": "1.6.0",
"type": "module",
"description": "For PicGo projects to write & read data from browser, node or electron",
"main": "./dist/index.js",
@@ -39,4 +39,4 @@
"publishConfig": {
"access": "public"
}
-}
+}
\ No newline at end of file
diff --git a/libs/zhi-siyuan-picgo/package.json b/libs/zhi-siyuan-picgo/package.json
index 35ef607..20b3be9 100644
--- a/libs/zhi-siyuan-picgo/package.json
+++ b/libs/zhi-siyuan-picgo/package.json
@@ -1,6 +1,6 @@
{
"name": "zhi-siyuan-picgo",
- "version": "0.0.1",
+ "version": "1.6.0",
"type": "module",
"description": "picgo lib for siyuan-note",
"main": "./dist/index.js",
@@ -41,4 +41,4 @@
"publishConfig": {
"access": "public"
}
-}
+}
\ No newline at end of file
diff --git a/libs/zhi-siyuan-picgo/src/index.ts b/libs/zhi-siyuan-picgo/src/index.ts
index a7eb0ab..511ddca 100644
--- a/libs/zhi-siyuan-picgo/src/index.ts
+++ b/libs/zhi-siyuan-picgo/src/index.ts
@@ -7,26 +7,32 @@
* of this license document, but changing it is not allowed.
*/
+import { SiyuanPicGo } from "./lib/siyuanPicgo"
import { SiyuanPicgoPostApi } from "./lib/siyuanPicgoPostApi"
import {
+ calculateMD5,
ConfigDb,
ExternalPicgoConfigDb,
+ IConfig,
IExternalPicgoConfig,
IImgInfo,
IPicGo,
IPicgoDb,
- IConfig,
+ IPluginConfig,
PicgoTypeEnum,
PluginLoaderDb,
- IPluginConfig,
} from "universal-picgo"
import { SiyuanConfig as SiyuanPicgoConfig } from "zhi-siyuan-api"
import { PicgoHelper } from "./lib/picgoHelper"
import { retrieveImageFromClipboardAsBlob } from "./lib/utils/browserClipboard"
-import { copyToClipboardInBrowser } from "./lib/utils/utils"
+import { copyToClipboardInBrowser, generateUniqueName } from "./lib/utils/utils"
+import { ImageItem } from "./lib/models/ImageItem"
+import { ImageParser } from "./lib/parser/ImageParser"
+import { ParsedImage } from "./lib/models/ParsedImage"
-export { SiyuanPicgoConfig, SiyuanPicgoPostApi, PicgoHelper }
-export { retrieveImageFromClipboardAsBlob, copyToClipboardInBrowser }
+export { SiyuanPicGo, SiyuanPicgoConfig, SiyuanPicgoPostApi, PicgoHelper }
+export { ImageItem, ImageParser, ParsedImage }
+export { retrieveImageFromClipboardAsBlob, copyToClipboardInBrowser, calculateMD5, generateUniqueName }
export { ConfigDb, PluginLoaderDb, ExternalPicgoConfigDb }
export { PicgoTypeEnum }
export { type IPicGo, type IImgInfo, type IPicgoDb, type IConfig, type IExternalPicgoConfig, type IPluginConfig }
diff --git a/libs/zhi-siyuan-picgo/src/lib/siyuanPicgo.ts b/libs/zhi-siyuan-picgo/src/lib/siyuanPicgo.ts
new file mode 100644
index 0000000..0da11e3
--- /dev/null
+++ b/libs/zhi-siyuan-picgo/src/lib/siyuanPicgo.ts
@@ -0,0 +1,50 @@
+/*
+ * GNU GENERAL PUBLIC LICENSE
+ * Version 3, 29 June 2007
+ *
+ * Copyright (C) 2024 Terwer, Inc.
+ * Everyone is permitted to copy and distribute verbatim copies
+ * of this license document, but changing it is not allowed.
+ */
+
+import { SiyuanPicgoPostApi } from "./siyuanPicgoPostApi"
+import { SiyuanConfig, SiyuanKernelApi } from "zhi-siyuan-api"
+
+/**
+ * 思源笔记 PicGo 实例
+ */
+class SiyuanPicGo {
+ public static async getInstance(siyuanConfig: SiyuanConfig, isDev?: boolean): Promise {
+ return new Promise((resolve, _reject) => {
+ const siyuanApi = new SiyuanKernelApi(siyuanConfig)
+ const picgo = new SiyuanPicgoPostApi(siyuanConfig, isDev)
+
+ let needUpdate = false
+ const checkConfig = () => {
+ if (picgo.cfgUpdating) {
+ needUpdate = true
+ siyuanApi.pushMsg({
+ msg: "检测到旧配置,正在迁移配置,请勿进行任何操作...",
+ timeout: 1000,
+ })
+ console.warn("检测到旧配置,正在迁移配置,请勿进行任何操作...")
+ setTimeout(checkConfig, 1000)
+ } else {
+ if (needUpdate) {
+ siyuanApi.pushMsg({
+ msg: "PicGO 图床历史配置迁移完成",
+ timeout: 7000,
+ })
+ console.log("PicGO 图床历史配置迁移完成")
+ needUpdate = false
+ }
+ console.log("picgo instance is ready")
+ resolve(picgo)
+ }
+ }
+ checkConfig()
+ })
+ }
+}
+
+export { SiyuanPicGo }
diff --git a/libs/zhi-siyuan-picgo/src/lib/siyuanPicgoPostApi.ts b/libs/zhi-siyuan-picgo/src/lib/siyuanPicgoPostApi.ts
index 6657169..8a0a5a9 100644
--- a/libs/zhi-siyuan-picgo/src/lib/siyuanPicgoPostApi.ts
+++ b/libs/zhi-siyuan-picgo/src/lib/siyuanPicgoPostApi.ts
@@ -9,7 +9,7 @@
import { ILogger, simpleLogger } from "zhi-lib-base"
import { SiyuanPicGoUploadApi } from "./siyuanPicGoUploadApi"
-import { hasNodeEnv, IImgInfo, IPicGo, win } from "universal-picgo"
+import { hasNodeEnv, IPicGo, isFileOrBlob, win } from "universal-picgo"
import { ParsedImage } from "./models/ParsedImage"
import { ImageItem } from "./models/ImageItem"
import { SIYUAN_PICGO_FILE_MAP_KEY } from "./constants"
@@ -18,7 +18,7 @@ import { SiyuanConfig, SiyuanKernelApi } from "zhi-siyuan-api"
import { ImageParser } from "./parser/ImageParser"
import { PicgoPostResult } from "./models/PicgoPostResult"
import { DeviceDetection, DeviceTypeEnum, SiyuanDevice } from "zhi-device"
-import { isFileOrBlob } from "universal-picgo"
+import { IImgInfo } from "universal-picgo/src"
/**
* Picgo与文章交互的通用方法
@@ -26,7 +26,7 @@ import { isFileOrBlob } from "universal-picgo"
class SiyuanPicgoPostApi {
private readonly logger: ILogger
private readonly imageParser: ImageParser
- private readonly siyuanApi: SiyuanKernelApi
+ public readonly siyuanApi: SiyuanKernelApi
private readonly siyuanConfig: SiyuanConfig
private readonly isSiyuanOrSiyuanNewWin: boolean
private readonly picgoApi: SiyuanPicGoUploadApi
@@ -71,7 +71,7 @@ class SiyuanPicgoPostApi {
*
* @param input 路径数组,可为空,为空上传剪贴板
*/
- public async upload(input?: any[]): Promise {
+ public async originalUpload(input?: any[]): Promise {
return this.picgoApi.upload(input)
}
@@ -129,8 +129,10 @@ class SiyuanPicgoPostApi {
return ret
}
+ // ===================================================================================================================
+
/**
- * 上传当前文章图片到图床(提供给外部调用)
+ * 上传当前文章图片到图床(单篇文档所有图片全部批量上传,提供给外部调用)
*
* @param pageId 文章ID
* @param attrs 文章属性
@@ -223,7 +225,7 @@ class SiyuanPicgoPostApi {
}
/**
- * 上传单张图片到图床
+ * 上传单张图片到图床(当前图片单个上传,提供给外部调用)
*
* @param pageId 文章ID
* @param attrs 文章属性
@@ -238,7 +240,7 @@ class SiyuanPicgoPostApi {
): Promise {
const mapInfoStr = attrs[SIYUAN_PICGO_FILE_MAP_KEY] ?? "{}"
const fileMap = JsonUtil.safeParse(mapInfoStr, {})
- this.logger.warn("fileMap=>", fileMap)
+ this.logger.debug("fileMap=>", fileMap)
// 处理上传
const filePaths = []
@@ -247,7 +249,8 @@ class SiyuanPicgoPostApi {
return
}
- let imageFullPath: string
+ // 兼容剪贴板
+ let imageFullPath: string | Blob | File
// blob 或者 file 直接上传
if (isFileOrBlob(imageItem.url)) {
imageFullPath = imageItem.url
@@ -270,11 +273,16 @@ class SiyuanPicgoPostApi {
}
}
- this.logger.warn("isSiyuanOrSiyuanNewWin=>" + this.isSiyuanOrSiyuanNewWin + ", imageFullPath=>", imageFullPath)
- filePaths.push(imageFullPath)
+ // noinspection SuspiciousTypeOfGuard
+ if (!imageFullPath || (typeof imageFullPath === "string" && imageFullPath.trim().length == 0)) {
+ this.logger.warn("upload from clipboard")
+ } else {
+ filePaths.push(imageFullPath)
+ }
+ this.logger.warn("start uploading =>", filePaths)
// 批量上传
- const imageJson: any = await this.picgoApi.upload(filePaths)
+ const imageJson: any = await this.originalUpload(filePaths)
this.logger.debug("图片上传完成,imageJson=>", imageJson)
const imageJsonObj = JsonUtil.safeParse(imageJson, []) as any
// 处理后续
diff --git a/libs/zhi-siyuan-picgo/src/lib/utils/md5Util.ts b/libs/zhi-siyuan-picgo/src/lib/utils/md5Util.ts
index 9467b21..2be20c7 100644
--- a/libs/zhi-siyuan-picgo/src/lib/utils/md5Util.ts
+++ b/libs/zhi-siyuan-picgo/src/lib/utils/md5Util.ts
@@ -7,7 +7,7 @@
* of this license document, but changing it is not allowed.
*/
-import { md5 } from "js-md5"
+import { calculateMD5 } from "universal-picgo"
/**
* 获取文件名的hash
@@ -15,12 +15,5 @@ import { md5 } from "js-md5"
* @param filename 文件名
*/
export const getFileHash = (filename: string): string => {
- // import { createHash } from "crypto"
- // const hash = createHash("sha256")
- // hash.update(filename)
- // return hash.digest("hex")
-
- // Base64.toBase64(filename).substring(0, 8);
-
- return md5(filename)
+ return calculateMD5(filename)
}
diff --git a/libs/zhi-siyuan-picgo/src/lib/utils/utils.ts b/libs/zhi-siyuan-picgo/src/lib/utils/utils.ts
index b76b830..1951316 100644
--- a/libs/zhi-siyuan-picgo/src/lib/utils/utils.ts
+++ b/libs/zhi-siyuan-picgo/src/lib/utils/utils.ts
@@ -85,3 +85,20 @@ export const trimValues = (obj: any) => {
})
return newObj
}
+
+export function generateUniqueName() {
+ const currentTime = Math.floor(Date.now() / 1000) // 获取当前时间戳(秒级)
+
+ function generateRandomString(length: number) {
+ const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
+ let randomString = ""
+ for (let i = 0; i < length; i++) {
+ randomString += characters.charAt(Math.floor(Math.random() * characters.length))
+ }
+ return randomString
+ }
+
+ const randomString = generateRandomString(6) // 生成长度为6的随机字符串
+ const uniqueName = `${currentTime}_${randomString}`
+ return uniqueName + ".png"
+}
diff --git a/package.json b/package.json
index 43a3e41..37c59de 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "siyuan-plugin-picgo",
- "version": "1.5.1",
+ "version": "1.6.0",
"description": "picgo plugin for siyuan-note",
"scripts": {
"serve": "turbo run serve",
diff --git a/packages/picgo-plugin-app/package.json b/packages/picgo-plugin-app/package.json
index d6d0c6d..7792c5b 100644
--- a/packages/picgo-plugin-app/package.json
+++ b/packages/picgo-plugin-app/package.json
@@ -1,7 +1,7 @@
{
"name": "picgo-plugin-app",
"private": true,
- "version": "1.5.1",
+ "version": "1.6.0",
"type": "module",
"scripts": {
"serve": "python -u scripts/serve.py && vite",
@@ -39,4 +39,4 @@
"zhi-siyuan-api": "^2.19.1",
"zhi-siyuan-picgo": "workspace:*"
}
-}
+}
\ No newline at end of file
diff --git a/packages/picgo-plugin-app/src/components/home/controls/DragUpload.vue b/packages/picgo-plugin-app/src/components/home/controls/DragUpload.vue
index e139c4e..f0a7039 100644
--- a/packages/picgo-plugin-app/src/components/home/controls/DragUpload.vue
+++ b/packages/picgo-plugin-app/src/components/home/controls/DragUpload.vue
@@ -10,13 +10,11 @@