Paste Enhancement Plugin 粘貼 功能增強 插件
各位大哥:
筆者希望為「粘貼」做些便利的工作:
-
自動將 URL text 粘貼成 「URL 連結」
e.g. 將 "http://mysite.com"
粘貼成[http://mysite.com](http://mysite.com)
. -
自動將 中文亂碼 粘貼成 能正常顯示之「中文 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 插件、做測試及除錯工作?
謝謝!
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于