linux.do
19.9K subscribers
49.9K photos
102 videos
57 files
110K links
linux.do最新话题和热议话题
Download Telegram
在 Obsidian LaTeX Suite 插件/其他软件中,如何(通过 Javascript,)并借助历史剪贴板,快速实现创建 [text](link) 形式的链接?

obsidian JavaScript

预期的效果

三个步骤:

复制链接 link
复制文本 text
回到 Obsidian 中敲击 vvv 触发得到 [🔗via: text](link)

背景

相关信息

Windows 11;已开启 Win + V 系统级剪贴板管理;
Obsidian 1.8.9

我个人在写周刊等内容的时候会使用 LaTeX Suite 插件触发一个 $\longleftarrow$ [🔗via: text](link) 格式来表示信息的出处。格式如下方举例的最后两行:

FramePack 这篇文章由 GaggiX 编写,详细探讨了一种创新的视频生成方法,通过封装输入帧的上下文来实现高效的下一帧预测。此技术允许在普通消费者硬件上运行,并被认为是业界首个可靠的解决方案。用户可以通过简单的配置快速生成高质量的视频,特别是在生成舞蹈动作的场景中效果显著。 \Longleftrightarrow GitHub - lllyasviel/FramePack: Lets make video diffusion practical! \longrightarrow HN-Comments | 下一帧预测模型中的输入帧上下文打包用于视频生成 - Telegraph \longleftarrow 🔗via: Hacker News 摘要 \longleftarrow 🔗via: 橘橘橘子汁 & 🍊

最初代码如下:
{trigger: "vvv", replacement: "[🔗via: $1]($2)$3", options: "tA"},

每一次我都需要手动将 linktext 手动复制一遍,然后每一次都需要手动将二者粘贴一遍。

前面的复制操作不可避免,但是我想后面的粘贴操作可以尽量避免。

成功尝试

代码改进如下:
{trigger: "vvv", replacement: () => {
const { clipboard } = require('electron');
let text = clipboard.readText(); // 得到剪贴板的第一个内容
// let link = ???;
// let out_link = `\[🔗via: ${text}\]\(${link}\)$1`;
let out_link = `\[🔗via: ${text}\]\($1\)$2`;
return out_link;
}, options: "tA"},

对于上面这段代码,步骤如下:

1. 复制帖子链接 link,复制链接文本 text
2. 回到 Obsidian 中,敲击 vvv
3. 触发得到 [🔗via: text](),此时光标在 () 内部;
4. Win + V 打开历史剪贴板,选中第二条内容(即链接),粘贴;
5. 敲击 TAB ,光标跳转到第二个占位符,即退出链接。

相比之下上一段代码,步骤上就仅仅是少了一个 粘贴 text 的步骤。

回到注释,这段代码中我可以得到剪贴板的第一个内容 text,但是我不知道怎么得到剪贴板的第二个内容 link

这也核心问题就是:如何通过 Javascript 中如何得到历史剪贴板的第二个内容?

失败尝试

我不是很了解 javascript,问了 DeepSeek 之后迷惑更大了。

AI 提供了一个方案(引用格式)
基于你的需求,以下是极简实现方案:通过记录最后两次剪贴操作,直接获取第二次内容。代码完全集中于「保存两次剪贴内容」的原子性功能实现:
const { clipboard } = require('electron');
// 核心逻辑:保存最近两次剪贴内容(当前内容为clipboardHistory[0],上一步为[1])
let clipboardHistory = [];
setInterval(() => {
const text = clipboard.readText().trim();
// 仅当内容变化时更新数组 (核心去重判断)
if (text && clipboardHistory[0] !== text) {
clipboardHistory.unshift(text); // 插入数组头部
clipboardHistory = clipboardHistory.slice(0, 2); // 只保留前两项
}
}, 300); // 每0.3秒检查一次剪贴板
// 触发器直接使用数组索引获取历史
{
trigger: "vvv",
replacement: "[🔗via: " + (clipboardHistory[1] || "文本未复制") + "](" + clipboardHistory[0] + ")",
options: "tA"
}

但是不行:

抛开上面代码不谈,LaTeX Suite 插件支持的 .js snippets 文件本质上是一个大列表,每一个元素都是 {trigger...} 的形式,上述代码中的 clipboardHistorysetInterval 部分并不属于 {trigger...} 范围内。
就算是把全局的变量全部放入 {trigger...} 范围内,结果也运行不对。

{trigger: "vvv", replacement: () => {
const { clipboard } = require('electron');
let clipboardHistory = [];
setInterval(() => {
const text = clipboard.readText().trim();
// 仅当内容变化时更新数组 (核心去重判断)
if (text && clipboardHistory[0] !== text) {
clipboardHistory.unshift(text); // 插入数组头部
clipboardHistory = clipboardHistory.slice(0, 2); // 只保留前两项
}
}, 300); // 每0.3秒检查一次剪贴板
let out_link = `[🔗via: ${clipboardHistory[1]}](${clipboardHistory[0]})`;
return out_link;
}, options: "tA"},

改写成如上,得到的就是 [🔗via: undefined](undefined)

同时 AI 也提到:
常规的剪贴板管理中,通常只能访问最新的内容。无论是浏览器环境还是Electron这样的桌面应用,通常的API如clipboard.readText()只能获得最新的剪贴板内容。因为大多数系统的剪贴板历史并不是默认公开的,尤其是对于更早的条目。
所以,或许没有办法实现我预期的效果吗?

换个思路,别的软件可以怎么实现呢?

1 个帖子 - 1 位参与者

阅读完整话题

via LINUX DO - 最新话题 (author: YYYoung)
佬友们有人知道高地音乐吗?

原域名为“gaodimusic.com” 是一个歌曲资源很全的网站,但最近网站崩了,后来重换域名为“gaodirock.com” 但现在连新域名也崩了,所以想问问有没有知道这个网站的佬友能告知一下发生了什么

1 个帖子 - 1 位参与者

阅读完整话题

via LINUX DO - 最新话题 (author: DES)
大家每周的工作时长是多少了?

我先来,每周工作时长50个小时,五一还要值班

2 个帖子 - 2 位参与者

阅读完整话题

via LINUX DO - 最新话题 (author: bigtoken)
美区PayPal现在好注册吗,接码推荐哪个平台,gv和tt不行

如题,如题
美区注册实名是用自己护照吗

1 个帖子 - 1 位参与者

阅读完整话题

via LINUX DO - 最新话题 (author: Kimm)
new-api 二开问题喵

github.com/Veloera/Veloera

[WIP] feat: Add check-in
mainfeat/check-in
已打开 10:56AM - 20 Apr 25 UTC
UsSubDidIt
+1173 -1
让ai改了很久也没搞好, 后台签到设置保存时一直提示 “你似乎并没有修改什么”…
有大佬知道怎么办吗()

1 个帖子 - 1 位参与者

阅读完整话题

via LINUX DO - 最新话题 (author: Neuroplexus)
将一个github项目扔给ai,构建本地知识库能做到吗?

求佬解答,现在可以通过知识库将一个github项目的内容给ai吗?只问网上现有的ai他们关于那个github项目的知识都是过时的,想知道能不能通过该方法做到让ai学习再给我解答,还是只能自己阅读官方文档 🥲 那个官方文档有点太烂了

3 个帖子 - 3 位参与者

阅读完整话题

via LINUX DO - 最新话题 (author: Phyjar)
问下佬现在claude注册用什么接码啊?手上还是很久之前的两个号了,想多注册两个。
感觉sms现在也不行了,接不到码,有一次接到了甚至说手机号用的过多不给过了。 😂

4 个帖子 - 3 位参与者

阅读完整话题

via LINUX DO - 最新话题 (author: chevecp)
昨天才激活的省内异地号今天就给停机了

正规号码,快递上门激活,流程很多。
结果第二天号码说停机了,也没收到短信,
联系客服也没查到停机原因,
刚提交了包括工作证明的资料复通审核中。
太耽误时间和耽误事了,能投诉杠起来么?

1 个帖子 - 1 位参与者

阅读完整话题

via LINUX DO - 最新话题 (author: lking)
Gemini API使用

gpt的API能通过https://api.openai.com 和密钥调用,gcp的Gemini API我怎么没有找到类似于gpt请求基地址的方式调用,难道只能部署到new API之类的调用吗?

3 个帖子 - 3 位参与者

阅读完整话题

via LINUX DO - 最新话题 (author: 最食人间烟火色)
生命在于折腾

发现搞了那么多账号其实压根用不上,感觉完全为了满足个人的收藏癖,看到别人有的自己也想要

从甲骨文开始搞了三个账号,然后各种edu邮箱,接着各种ai的api key的收集,再然后grok 充5刀送150,到supergrok,期间还折腾了menus,最后还薅了Google One Al Premium

其实发现只有chatgpt 及 cursor用得比较多……

所以折腾那么多来干嘛?

6 个帖子 - 6 位参与者

阅读完整话题

via LINUX DO - 最新话题 (author: Ben2008)
newapi 怎么支持vllm部署的rerank模型

佬们好!请教一些技术问题~

vllm 部署了bge-v2-m3的rerank模型(以–task score形式)

在0.6.0.3版本的new-api中指定端口和api-key可以获取到当前的模型,但是点击测试就会报一段很长的错误,好像是没有被调用,这个应该怎么解决呢?有遇到过相关问题的大佬么,请求大佬指点一二! 🥲

1 个帖子 - 1 位参与者

阅读完整话题

via LINUX DO - 最新话题 (author: ee)
一加11在OTA时点了Apatch 的 “安装到未使用的槽位”,成砖求救

一加 11 在 OTA 中 ColorOS PHB110_15.0.0.600 (CN01) F.25 升级 ColorOS PHB110_15.0.0.700 (CN01) F.26 的时候点了 Apatch 的 “安装到未使用的槽位”,重启后黑屏,发现是卡到了 900E。有方法救数据吗?
砖后干了:

1. fastboot --set-active=other 切换 A/B 槽位后,症状同前。
2. 使用 FastbootEnhance 在 Fastbootd 下刷入.700 包,症状同期。
3. Fastboot 刷入橘狐 REC,可以解锁 data。重启橘狐,data 无法解锁。
4. 橘狐下 adb sideload,卡在 0%。
5. 橘狐的 fastbootd 下 FastbootEnhance 刷入 zip,症状同期。
6. 刷入 TWRP,data 无法解锁。
7. 使用 fastboot flash vbmeta vbmeta.img --disable-verity --disable-verification 命令禁用验证,症状同期。

黔驴技穷,故来提问。

1 个帖子 - 1 位参与者

阅读完整话题

via LINUX DO - 最新话题 (author: huangsijun17)
体系课 - Java亿级项目架构设计与落地应用

🌟 课程介绍

📢 免责声明:
本资源仅供个人学习交流使用,不得将上述内容用于商业或者非法用途,否则产生的一切后果自行承担!资源来源于网络,版权归原作者所有,如有侵权请联系删除!!


🔑 获取方式
pan.baidu.com

百度网盘 请输入提取码

百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间

1 个帖子 - 1 位参与者

阅读完整话题

via LINUX DO - 最新话题 (author: tom)
甲骨文免费vps好香啊

16G内存, 1Gmbps的带宽, 给腾讯不得卖100一个月.

8 个帖子 - 8 位参与者

阅读完整话题

via LINUX DO - 最新话题 (author: jrerrq)
移动卡办理推荐

我是联通用户,最近搬家发现我这里的联通信号不是很好,想办理一张移动流量卡有好的渠道推荐呢?月租不要很贵,流量 50g 左右就行😁

2 个帖子 - 2 位参与者

阅读完整话题

via LINUX DO - 最新话题 (author: 跃数)
尚硅谷大数据学科全套教程

🌟 课程介绍

📢 免责声明:
本资源仅供个人学习交流使用,不得将上述内容用于商业或者非法用途,否则产生的一切后果自行承担!资源来源于网络,版权归原作者所有,如有侵权请联系删除!!


🔑 获取方式
pan.baidu.com

百度网盘 请输入提取码

百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间

1 个帖子 - 1 位参与者

阅读完整话题

via LINUX DO - 最新话题 (author: tom)
聪明的您,在卷王横行的公司里如何生存?

工作多年之后,习惯于偏安一隅。平常不开啥大会,大家都没啥可比的。

现在领导闲下来,开始在项目高峰期折腾我,各种会(敢怒不敢言),于是各种卷王横行,开个会简直是煎熬。

如果是您,聪明的朋友们,您会怎么做?

(辞职倒不必,只想做好自己这块小豆腐)

1 个帖子 - 1 位参与者

阅读完整话题

via LINUX DO - 最新话题 (author: 冉多福🙄)