插入图片希望添加快捷键

本贴最后更新于 269 天前,其中的信息可能已经天翻地覆

场景: 将有道云笔记迁移到思源笔记

需要逐个笔记进行拷贝粘贴, 万恶的有道云笔记不支持图片的拷贝(大图片),需要保存为本地图片在插入到思源笔记。

当前的问题: 思源笔记插入图片的菜单比较远,需要二级菜单才能点到对应的功能,操作起来耗时费力。

期望:

方案 1: 添加“插入图片”的快捷键

方案 2: 在工具栏添加“插入图片”按钮

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    25468 引用 • 105331 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    9746 引用 • 44328 回帖 • 87 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 用桌面端,直接把(多个)图片文件拖进思源的文档里就行。

    另外在这里也能插入图片:

    image.png

  • HugZephyr

    我简单写了一个 js 片段, 不知道能否符合你的要求

    // 增加按钮&快捷键实现: 插入图片或文件 // 修改有标记的配置 "[可修改]" (async () => { /*******************************自定义配置**************************************/ // 按钮id const btn_e = { /***********左上角**********/ // 返回按钮(左箭头) barBack : "barBack", // 前进按钮(右箭头) barForward : "barForward", // 同步按钮 barSync : "barSync", // 皇冠图标 toolbarVIP : "toolbarVIP", // 日历热力图插件 heatmap : "plugin_Calendar-heatmap_0", /***********右上角**********/ // 搜索按钮 barSearch : "barSearch", // 插件按钮 barPlugins : "barPlugins", // 命令面板按钮 barCommand : "barCommand", /***********左下角**********/ // 底栏中的隐藏侧栏按钮 barDock : "barDock", /***********右下角**********/ // 底栏帮助按钮 statusHelp : "statusHelp", } // 插入位置 const position_e = { // 插入位置: 目标元素前面 before : "beforebegin", // 插入位置: 目标元素后面 after : "afterend", } // [可修改] 触发快捷键 const hotkey = "ctrl+alt+g" // [可修改] 按钮 插入的位置 跟 哪个元素 有关 const btn_basic_id = btn_e.barForward // [可修改] 按钮 插入到 元素 的前面还是后面 const btn_post = position_e.after // [可修改] 按钮 的悬浮显示内容 const btn_tips = "插入图片或文件" /*******************************代码分割线**************************************/ const icon_e = { // 设置 setting : "iconSettings", // 代码 code : "iconCode", // 刷新 refresh : "iconRefresh", // 调试 debug : "iconBug", // 下方 after : "iconAfter", // 下载 download : "iconDownload", } // 快捷键监听 document.addEventListener('keydown', event => { console.log("hotkey") if (checkShortcut(hotkey, event)) { // 阻止默认行为,比如浏览器的保存网页操作 // event.preventDefault(); quickInsertImgFunc() } }); /* 重新加载会有延时, 所以需要等待1s之后再添加按钮 */ setTimeout(() => { // 目标元素id, 插入位置, 新元素id, 显示内容, 图标, 点击回调 addElement(btn_basic_id, btn_post, "custom_quick_inser_img", btn_tips, icon_e.download, quickInsertImgFunc); }, 1000); function checkShortcut(hostkey, event) { const keys = hostkey.split("+"); const key = event.key.toLowerCase(); const isCtrl = event.ctrlKey ? "ctrl+" : ""; const isAlt = event.altKey ? "alt+" : ""; const isShift = event.shiftKey ? "shift+" : ""; const combination = isAlt + isCtrl + isShift + key; // console.log(keys.sort().join("+")) // console.log(combination) return keys.sort().join("+") === combination; } // 目标元素id, 插入位置, 新元素id, 显示内容, 图标, 点击回调 function addElement(targetId, position, newElementId, displayContent, icon, clickCallback) { let barMode = document.getElementById(targetId); if (barMode === null) { return "" } barMode.insertAdjacentHTML( position, `<div id="${newElementId}" class="toolbar__item ariaLabel" aria-label="${displayContent}"></div>` ); let newBtn = document.getElementById(newElementId); if (newBtn === null) { return "" } newBtn.innerHTML = `<svg><use xlink:href="#${icon}"></use></svg>`; newBtn.addEventListener("click", clickCallback); return newElementId } function quickInsertImgFunc() { const more_btn = document.querySelector('.layout__center [data-type="more"]:not([data-menu]'); if (more_btn) { more_btn.click(); setTimeout(() => { const insert_btn = document.querySelector('#commonMenu > div.b3-menu__items > button:nth-child(1) > span > input'); if (insert_btn) { insert_btn.click(); } }, 200); } } })()
  • auric 1 赞同

    /tp,三个键就可以了 😂

  • 啥?我都是直接文件系统复制,进思源粘贴。。。。

推荐标签 标签

  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    52 引用 • 190 回帖
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 2 关注
  • 创业

    你比 99% 的人都优秀么?

    82 引用 • 1395 回帖
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    7 引用 • 69 回帖 • 1 关注
  • 印象笔记
    3 引用 • 16 回帖
  • 微信

    腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。

    133 引用 • 796 回帖
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • CodeMirror
    2 引用 • 17 回帖 • 162 关注
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    20 引用 • 23 回帖 • 740 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    107 引用 • 127 回帖 • 336 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 166 关注
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 1 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖 • 2 关注
  • 锤子科技

    锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。

    4 引用 • 31 回帖 • 1 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 29 关注
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    173 引用 • 414 回帖 • 365 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    949 引用 • 1460 回帖
  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 639 关注
  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 390 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    336 引用 • 324 回帖
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    56 引用 • 85 回帖
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    70 引用 • 193 回帖 • 413 关注
  • 生活

    生活是指人类生存过程中的各项活动的总和,范畴较广,一般指为幸福的意义而存在。生活实际上是对人生的一种诠释。生活包括人类在社会中与自己息息相关的日常活动和心理影射。

    230 引用 • 1454 回帖
  • OneNote
    1 引用 • 3 回帖
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    91 引用 • 384 回帖
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 22 关注