当前位置: 首页 > news >正文

语雀编辑器内双击回车插入当前时间js脚本

打算多记录自己的想法,或者说灵感、念头

我想要的格式大概是这样的:

17:06 我写下第一个记录17:08 又一个想法18:38 又一个想法

但是每次写时间都太麻烦了,想着能不能用程序或者脚本实现。

最终用脚本实现了:

// ==UserScript==
// @name         语雀编辑器双回车插入时间
// @namespace    http://tampermonkey.net/
// @version      7.0
// @description  连续按两次 Enter,在语雀文档中插入当前时间
// @author       whx
// @match        https://www.yuque.com/jueming-qh7bj/nelzrt/*
// @grant        none
// ==/UserScript==
(() => {let lastEnterTime = 0;function formatDate(date, format) {const pad = (num) => num.toString().padStart(2, '0');return format.replace(/MM/g, pad(date.getMonth() + 1)).replace(/dd/g, pad(date.getDate())).replace(/HH/g, pad(date.getHours())).replace(/mm/g, pad(date.getMinutes())).replace(/ss/g, pad(date.getSeconds()));}const timeFormat = 'MM-dd HH:mm';function insertTextAtCursor(text) {const el = document.activeElement;if (el &&(el.tagName === 'INPUT' || el.tagName === 'TEXTAREA') &&typeof el.selectionStart === 'number') {const start = el.selectionStart;const end = el.selectionEnd;const val = el.value;el.value = val.slice(0, start) + text + val.slice(end);const cursorPos = start + text.length;el.selectionStart = el.selectionEnd = cursorPos;} else if (el && el.isContentEditable) {document.execCommand('insertText', false, text);} else {console.warn('当前焦点既不是输入框,也不是contenteditable元素,无法插入文本');}}document.addEventListener('keyup', (e) => {if (e.key === 'Enter') {const now = Date.now();if (now - lastEnterTime < 500) {const timeStr = formatDate(new Date(), timeFormat) + '  ';insertTextAtCursor(timeStr);}lastEnterTime = now;}});
})();

这个脚本只能在我的语雀的记录知识库里面用,如果你要用的话,需要改开头的这一行:

// @match        https://www.yuque.com/jueming-qh7bj/nelzrt/*

这一行的意思是https://www.yuque.com/jueming-qh7bj/nelzrt/的子路径下该插件生效

将@match 后面的参数修改成你要使用的网页地址就好了

下面是测试结果:
在这里插入图片描述

http://www.dtcms.com/a/283734.html

相关文章:

  • Webpack5 新特性与详细配置指南
  • 爬虫小知识
  • 机器学习:数据清洗与预处理 | Python
  • 【后端】.NET Core API框架搭建(9) --配置使用Log4Net日志
  • 结合自身,制定一套明确的 Web3 学习路线和技术栈建议
  • Elasticsearch MCP 服务器现已在 AWS Marketplace 上提供
  • 概念设计总监的“VR”雕刻术:用Substance 3D Modeler,实现直觉式3D建模
  • HOOPS SDK赋能PLM:打造全生命周期3D数据管理与协作能力
  • 一次多架构镜像构建实战:Docker Buildx + Harbor 踩坑记录
  • Curtain e-locker易锁防泄密:从源头把关“打印”安全
  • 电商行业如何做好网络安全工作?
  • 树莓派Qt 安装
  • 2. 框架对比类:《React 18 vs Vue3:状态管理方案深度对比》
  • React hooks——useMemo
  • 【Java开发日记】我们来说说 LockSupport 的 park 和 unpark
  • React hooks——useCallback
  • 深入理解React Hooks:从使用到原理
  • Planning Agent:基于大模型的动态规划与ReAct机制,实现复杂问题自适应执行求解
  • React 学习(4)
  • Android 实现:当后台数据限制开启时,仅限制互联网APN。
  • NLP-文本预处理
  • 使用docker安装、启动jenkins服务(mac系统)
  • 数据结构 栈(1)
  • vue-advance-concepts
  • 【Redis 】看门狗:分布式锁的自动续期
  • 部署-k8s和docker、jenkins的区别和联系
  • 静态住宅IP和节点有什么区别?哪种更适合你的需求?
  • 个人IP的塑造方向有哪些?
  • 河南萌新联赛2025第一场-河南工业大学
  • x3CTF-2025-web-复现