Paste Enhancement Plugin 粘貼 功能增強 插件

Paste Enhancement Plugin 粘貼 功能增強 插件

各位大哥:

筆者希望為「粘貼」做些便利的工作:

  1. 自動將 URL text 粘貼成 「URL 連結」
    e.g. 將 "http://mysite.com"
    粘貼成 [http://mysite.com](http://mysite.com)
    .

  2. 自動將 中文亂碼 粘貼成 能正常顯示之「中文 URL 連結」

    e.g. 將
    https://www.stheadline.com/society/3284597/%E6%96%BD%E6%94%BF%E5%A0%B1%E5%91%8A2023%E6%87%B6%E4%BA%BA%E5%8C%85%E4%B8%80%E6%96%87%E7%9C%8B%E6%B8%85%E7%84%A6%E9%BB%9E%E6%94%BF%E7%AD%96%E6%8E%AA%E6%96%BD-%E6%A8%93%E5%B8%82%E6%B8%9B%E8%BE%A3%E8%82%A1%E7%A5%A8%E5%8D%B0%E8%8A%B1%E7%A8%85%E7%94%9F%E4%BB%94%E6%B4%BE2%E8%90%AC%E6%9D%B1%E4%B9%9D%E7%B7%9A%E4%B8%8A%E9%A6%AC

    粘貼成:
    https://www.stheadline.com/society/3284597/施政報告2023懶人包一文看清焦點政策措施-樓市減辣股票印花稅生仔派2萬東九線上馬

因筆者不是程序員,所以求教了 AI (人工智能)大哥,TypeScript 程序碼如下:

import { Plugin } from "siyuan";

const plugin: Plugin = {
  async onCopy(event) {
    const clipboardData = event.clipboardData;
    const text = clipboardData.getData("text/plain");
    const urlRegex = /(https?:\/\/[^\s]+)/g;
    const urls = text.match(urlRegex);
    if (urls) {
      const convertedText = text.replace(urlRegex, (url) => {
        const decodedUrl = decodeURIComponent(url);
        const chineseUrlRegex = /[\u4e00-\u9fa5]+/;
        const hasChineseUrl = chineseUrlRegex.test(decodedUrl);
        if (hasChineseUrl) {
          const encodedUrl = encodeURIComponent(decodedUrl);
          return `[${decodedUrl}](${encodedUrl})`;
        } else {
          return `[${url}](${url})`;
        }
      });
      clipboardData.setData("text/plain", convertedText);
    }
  },
};

export default plugin;

有冇大哥可以幫忙將它整理為 Siyuan 插件、做測試及除錯工作?

謝謝!

  • 思源笔记

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

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

    19140 引用 • 71958 回帖
1 操作
timyhh 在 2023-11-29 12:03:55 更新了该帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • timyhh

    如果你細心觀察,便知道 edge 貼回的效果並不是如下的一樣:
    https://www.stheadline.com/society/3284597/施政報告2023懶人包一文看清焦點政策措施-樓市減辣股票印花稅生仔派2萬東九線上馬

    edge 貼回的是標題。

  • 其他回帖
  • 的确,用 edge 浏览器复制冇乜问题。

  • submartingale

    我从 edge 浏览器复制了你发的链接,目前效果是这样,感觉满足你的需求呀。image.png

    2 回复
  • timyhh

    沒有大哥可以幫忙將它整理為 Siyuan 插件、做測試及除錯工作嗎?

    叧外 現時 Paste 圖片時,圖片檔名首部份都是「非人」可辨別的,例如:
    O1CN01d7Wouy2GJlBwNk8PQ_2576418995-20231206124458-wun9c3n.avif
    -> 圖片檔名首部份是「O1CN01d7Wouy2GJlBwNk8PQ」

    建議加入選項可設定圖片檔名的首部份為:$NoteFilename
    -> 假如 Siyuan 筆記的名稱是 "MyNoteX",

    -> 圖片檔名的首部份便會是: MyNoteX
    而整個圖片檔名便會改為:MyNoteX_2576418995-20231206124458-wun9c3n.avif

    有冇大哥可以幫忙將它整理為 Siyuan 插件、做測試及除錯工作?

  • 查看全部回帖

推荐标签 标签

  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    398 引用 • 3437 回帖
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    21 引用 • 58 回帖
  • 正则表达式

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

    31 引用 • 94 回帖
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖
  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    14 引用 • 7 回帖
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    28 引用 • 108 回帖
  • InfluxDB

    InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。

    2 引用 • 56 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    83 引用 • 165 回帖 • 37 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    86 引用 • 1201 回帖 • 451 关注
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    51 引用 • 37 回帖 • 2 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    186 引用 • 318 回帖 • 339 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 44 关注
  • V2EX

    V2EX 是创意工作者们的社区。这里目前汇聚了超过 400,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。

    17 引用 • 236 回帖 • 409 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    479 引用 • 902 回帖 • 2 关注
  • 安装

    你若安好,便是晴天。

    130 引用 • 1184 回帖
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    70 引用 • 532 回帖 • 719 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖 • 2 关注
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    198 引用 • 120 回帖
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖 • 6 关注
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖 • 6 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖 • 3 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 423 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    207 引用 • 2031 回帖
  • 自由行
    4 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 699 关注
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    84 引用 • 139 回帖 • 2 关注
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 454 关注