使用行内代码格式,那么,当全选的时候,就会把 markdown 的格式一并复制出来。
问题是,当我们复制的时候,大部分情况下都是想要行内的代码本身,而不是加上**的代码
使用行内代码格式,那么,当全选的时候,就会把 markdown 的格式一并复制出来。
问题是,当我们复制的时候,大部分情况下都是想要行内的代码本身,而不是加上**的代码
如果是复制粘贴到其他软件的话就不需要那么复杂,直接 Ctrl+C 就是纯文本
会把 markdown 的格式一并复制出来
选中文本复制应该不会带 Markdown 标记符的,要么是思源版本比较低,要么是操作不对。
建议更新思源到 3.1.24 试试,还有问题的话录屏看看操作。
左键点击行级代码, 右键 复制纯文本
选中, 右键 复制纯文本
添加 js 片段, 点击行级代码, 使用 ctrl+c 复制, 复制的就是纯文本
(()=>{
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
// 判断是否选取了文本
function hasSelectedText() {
const selection = window.getSelection();
return selection && selection.toString().length > 0;
}
// 获取光标所在的元素
function getElementAtCursor() {
const selection = window.getSelection();
if (selection.rangeCount > 0) {
const range = selection.getRangeAt(0);
const startContainer = range.startContainer;
// 如果是文本节点,获取其父元素
const element = startContainer.nodeType === 3 ? startContainer.parentNode : startContainer;
return element;
}
return null; // 如果没有选中内容或光标位置无效
}
// 当前块是否被选中
function isSelectedBlock(element) {
return element?.closest(".protyle-wysiwyg--select")
}
// 处理复制行级代码
async function handle_cp_line_code(element) {
if (!element) {
return;
}
if (element.getAttribute('data-type') === 'code' && !hasSelectedText() && !isSelectedBlock(element)) {
// 是行级代码 && 没有选中内容 && 没有选中块
// 则复制行级代码内容
console.log("[行级代码] 复制行级代码, 功能生效")
// 获取行级代码内容
let content = element.textContent;
if (content.startsWith('\u200B')) {
content = content.slice(1); // 移除前面的零宽空格
}
// 复制到剪切板
await navigator.clipboard.writeText(content);
await sleep(20)
}
}
// 事件监听
document.addEventListener('keydown', async (event) => {
let element = getElementAtCursor();
// event.preventDefault(); // 防止快捷键默认行为
// event.stopPropagation(); // 停止事件传播
if (event.ctrlKey && !event.shiftKey && !event.altKey && event.key.toLowerCase() === 'c') {
// 如果光标在行级代码里面, 就复制行级代码纯文本, 而不是复制整个块
handle_cp_line_code(element);
}
});
})()
小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。
Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。
大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
沉迷游戏伤身,强撸灰飞烟灭。
Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。
LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。
如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。
让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
新手上路,请谨慎驾驶!
昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。
Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。
OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。
你听到信仰的声音了么?
机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。
安全 · 稳定 · 快速
为跨境从业人员提供专业的跨境浏览器
哪里都缺人,哪里都不缺人。
Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。
为成为自由职业者在家办公而努力吧!
Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。
网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。
Communication channel for makers and users.
Thank God It's Friday! 感谢老天,总算到星期五啦!
ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于