-
-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
希望增加直接粘贴系统拷贝的图片的功能。 #2
Comments
Hi @lvoooo 谢谢你的反馈。直接通过系统复制图片然后粘贴到浏览器这种我记得浏览器是不支持的,我得再去调研下。不过拖动图片到浏览器再上传是可以被支持的。 关于图床,我目前知道这么几个:
其实我目前倾向于我自己搭建个免费的图床专门用于 crossnote 网站,可能就使用阿里云的 OSS 吧,不过开发支持需要点时间。 感谢 |
图片直接粘贴功能+1,离不开typora 、印象笔记是因为可以直接粘贴图片进去自动上传到图床 |
@Ahian 当前可以在编辑器中用 |
很遗憾,貌似浏览器端实现不了系统粘贴图片。试了下印象笔记的网页端也无法从系统粘贴直接上传笔记。 |
图片直接保存到 git 中更直接。 |
可以借鉴一下 tinymce 这个编辑器,可以直接复制图片然后上传,也可以拖拽 |
需要浏览器支持 async-clipboard api,并且浏览器也必须设置允许该网站访问剪贴板. |
我最近正在考虑迁移 crossnote 到 vscode-pwa,作为一个插件的形式存在。 |
不错, 这样做, 包一个Electron的壳也非常容易本地存储. 文件系统可以考虑参考这个: BrowserFS, 模拟nodejs的FileSystemAPI, 有各种FS插件,便于扩展. |
|
文件系统我已经差不多写好:https://github.com/0xGG/vscode-web-fs |
web-fs 不建议用 另外 isomorphic-git 的也不是git 的完全实现,有许多功能还不完善,比如 log file 和自动 merge 处理, 不过基本够用. 如果要工作在浏览器上,使用MEMFS会有内存限制的问题,而使用IDB(indexDB)会好些,但是也会受到浏览器的限制 vscode-isomorphic-git 的目的是什么,解决什么问题? 如果是 vscode的插件, vscode不是早就支持Git了么 |
现在想做的是把 vscode 打包成 pwa。vscode-web-fs 实现了 memfs 和 nativefs 两种 file system provider。基本上来讲可以在网页端利用 native file system api 编辑本地文件。 |
vscode-web 的目标是直接编译vscode项目直接在浏览器上运行vscode. 那么你的目标是通过vscode-web-fs插件,同时实现crossnote在浏览器上或本地 vscode 运行? 这个已经能够直接读取github文件: https://github1s.com/conwnet/github1s 可以参考. |
他的这个和我这个差别还是很大的。他的实现使用了 github 的 api 来实现 vscode 的 file system provider,所以会有些限制,例如项目内的全文本搜索就无法实现。 |
我大概这周可以完成一个小的 git 支持的 vscode-pwa 雏形。 |
对 👍 我准备看看 wasm-git,谢谢! |
如果是这样, 实现能支持多后端的FS 架构更好. 可能这块你没有理解我的意思. 举个例子, 开发不同的云盘后端插件, 可以配置挂不同云盘, 而且可以利用 用伪代码可能更清楚些: const fs = await FS.configure({
name: 'MountableFileSystem', // 实现挂载点的后端
mountPoint: {
'/tmp': 'inMemory', // 该挂载点启用内存后端
'/data': {
name: 'Git', // 该挂载点启用Git后端进行版本控制
fs: { // 配置Git的后端
name: 'mirror', // 启用 镜像 后端
mirrors: [
{
name: 'nodejs' // nodejs 本地文件存储后端
folder: '/user/data', // 配置存储的文件夹
},
{
name: 'dropbox' // dropbox存储后端
...., // 其它dropbox参数
},
],
},
},
'/pic': {
name: 'dropbox', // 图片直接扔到云盘,不用版本控制
}
}
}) |
这样的工作量看上去有点大 😂 |
我刚看了下 BrowserFS,却是很好 👍 |
这样后面适配会更容易些 👍 先试验下需要的主要功能能否跑通. |
才发现 BrowserFS 的最新一次 npm package 的 release 时间是 2017 年 😂 我试了下 wasm-git,发现有些命令不支持,例如 |
branch 是更高层的配置指令,revparse是有的,它完整API指令集如下: { "add", lg2_add, 1 },
{ "blame", lg2_blame, 1 },
{ "cat-file", lg2_cat_file, 1 },
{ "checkout", lg2_checkout, 1 },
{ "clone", lg2_clone, 0 },
{ "commit", lg2_commit, 1 },
{ "config", lg2_config, 1 },
{ "describe", lg2_describe, 1 },
{ "diff", lg2_diff, 1 },
{ "fetch", lg2_fetch, 1 },
{ "for-each-ref", lg2_for_each_ref, 1 },
{ "general", lg2_general, 0 },
{ "index-pack", lg2_index_pack, 1 },
{ "init", lg2_init, 0 },
{ "log", lg2_log, 1 },
{ "ls-files", lg2_ls_files, 1 },
{ "ls-remote", lg2_ls_remote, 1 },
{ "merge", lg2_merge, 1 },
{ "push", lg2_push, 1 },
{ "remote", lg2_remote, 1 },
{ "rev-list", lg2_rev_list, 1 },
{ "rev-parse", lg2_rev_parse, 1 },
{ "show-index", lg2_show_index, 0 },
{ "stash", lg2_stash, 1 },
{ "status", lg2_status, 1 },
{ "tag", lg2_tag, 1 }, |
希望增加直接粘贴系统拷贝的图片的功能。
体验了一下,自己上传图片再回过头贴链接,或者点击打开文件夹再上传都感觉比较麻烦。
要是直接能复制粘贴就好了。
或者进一步,提供配置图床的功能,这样图片多的用户,自己配置图床就好了,也不用给开发者增加负担。
The text was updated successfully, but these errors were encountered: