思源打字机模式 -- 加了一个按钮

本贴最后更新于 1011 天前,其中的信息可能已经水流花落
function activate() { // let protyle_wysiwyg = document.querySelectorAll('div.layout__wnd--active div.protyle:not(.fn__none) div.protyle-wysiwyg'); // let protyle_wysiwyg = document.querySelectorAll( // "div.protyle:not(.fn__none) div.protyle-wysiwyg" // ); let protyle_wysiwyg = document.querySelectorAll( "div.protyle div.protyle-wysiwyg" ); // let protyle_wysiwyg = document.querySelectorAll( // ".protyle" // ); if (protyle_wysiwyg.length > 0) { for (let editor of protyle_wysiwyg) { editor.onkeyup = (e, t) => { editor.style.marginBottom = window.screen.availHeight/2 + "px"; let block = null; // 当前页面 let page = editor.parentElement; // let page = document.activeElement.parentElement; if (document.activeElement.nodeName == "TABLE") { // 表格获取焦点 block = window.getSelection().focusNode.parentElement; while (block != null && block.nodeName != "TD") block = block.parentElement; } else { block = window.getSelection().focusNode.parentElement; // 当前光标 while (block != null && block.dataset.nodeId == null) block = block.parentElement; } if (block == null || page == null) return; let block_height = block.clientHeight; // 当前块的高度 let block_bottom = block.getBoundingClientRect().bottom; // 当前块的底部 let page_height = page.clientHeight; // 当前页面的高度 let page_bottom = page.getBoundingClientRect().bottom; // 当前页面的底部 // console.log(block_height, block_bottom, page_height, page_bottom); page.style.scrollBehavior = "smooth"; page.scrollBy( 0, -(page_bottom - page_height / 2 - (block_bottom - block_height / 2)) ); }; } } } function deactivate() { let protyle_wysiwyg = document.querySelectorAll( "div.protyle:not(.fn__none) div.protyle-wysiwyg" ); if (protyle_wysiwyg.length > 0) { for (let editor of protyle_wysiwyg) { editor.onkeyup = (e, t) => {}; } } } var sync = document.getElementById("barSync"); sync.insertAdjacentHTML( "afterend", '<div id="type"class="toolbar__item b3-tooltips b3-tooltips__se"></div>' ); var typ = document.getElementById("type"); typ.style.width = "auto"; var unenbleIcon = '<svg t="1647999956702" class="icon" style="display: block;"viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1685" width="20" height="32"><path d="M886.3 917.9H133.4c-18.5 0-35.9-8.2-47.7-22.4S69 862.6 72.5 844.4L122 581.1c5.5-29.3 31.1-50.6 60.9-50.6h654.7c29.9 0 55.5 21.4 61 50.8l48.6 263.2c3.4 18.2-1.5 36.8-13.3 51-11.8 14.3-29.1 22.4-47.6 22.4zM182.9 553c-19 0-35.4 13.6-38.9 32.2L94.5 848.6c-2.2 11.6 0.9 23.5 8.4 32.6 7.5 9.1 18.6 14.3 30.4 14.3h752.9c11.8 0 22.8-5.2 30.4-14.3 7.5-9.1 10.6-20.9 8.5-32.6l-48.6-263.2c-3.5-18.8-19.9-32.4-39-32.4H182.9z" fill="#bfbfbf" p-id="1686"></path><path d="M747 658.7H509.8c-6.2 0-11.2-5-11.2-11.2s5-11.2 11.2-11.2H747c6.2 0 11.2 5 11.2 11.2s-5 11.2-11.2 11.2zM812.6 801.9H207.1c-6.2 0-11.2-5-11.2-11.2s5-11.2 11.2-11.2h605.5c6.2 0 11.2 5 11.2 11.2s-5 11.2-11.2 11.2zM724.5 553H295.1V77.8h429.5V553z m-407-22.4H702V100.2H317.5v430.4z" fill="#bfbfbf" p-id="1687"></path><path d="M309.9 658.8H265c-6.2 0-11.2-5.1-11.2-11.2 0-6.2 5.1-11.2 11.2-11.2h44.9c6.2 0 11.2 5.1 11.2 11.2s-5 11.2-11.2 11.2zM437.9 658.8H393c-6.2 0-11.2-5.1-11.2-11.2 0-6.2 5.1-11.2 11.2-11.2h44.9c6.2 0 11.2 5.1 11.2 11.2 0.1 6.1-5 11.2-11.2 11.2z" fill="#bfbfbf" p-id="1688"></path></svg>'; var enbleIcon = '<svg t="1647999956702" style="display: block;"class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1685" width="20" height="32"><path d="M886.3 917.9H133.4c-18.5 0-35.9-8.2-47.7-22.4S69 862.6 72.5 844.4L122 581.1c5.5-29.3 31.1-50.6 60.9-50.6h654.7c29.9 0 55.5 21.4 61 50.8l48.6 263.2c3.4 18.2-1.5 36.8-13.3 51-11.8 14.3-29.1 22.4-47.6 22.4zM182.9 553c-19 0-35.4 13.6-38.9 32.2L94.5 848.6c-2.2 11.6 0.9 23.5 8.4 32.6 7.5 9.1 18.6 14.3 30.4 14.3h752.9c11.8 0 22.8-5.2 30.4-14.3 7.5-9.1 10.6-20.9 8.5-32.6l-48.6-263.2c-3.5-18.8-19.9-32.4-39-32.4H182.9z" fill="#1f2339" p-id="1686"></path><path d="M747 658.7H509.8c-6.2 0-11.2-5-11.2-11.2s5-11.2 11.2-11.2H747c6.2 0 11.2 5 11.2 11.2s-5 11.2-11.2 11.2zM812.6 801.9H207.1c-6.2 0-11.2-5-11.2-11.2s5-11.2 11.2-11.2h605.5c6.2 0 11.2 5 11.2 11.2s-5 11.2-11.2 11.2zM724.5 553H295.1V77.8h429.5V553z m-407-22.4H702V100.2H317.5v430.4z" fill="#1f2339" p-id="1687"></path><path d="M309.9 658.8H265c-6.2 0-11.2-5.1-11.2-11.2 0-6.2 5.1-11.2 11.2-11.2h44.9c6.2 0 11.2 5.1 11.2 11.2s-5 11.2-11.2 11.2zM437.9 658.8H393c-6.2 0-11.2-5.1-11.2-11.2 0-6.2 5.1-11.2 11.2-11.2h44.9c6.2 0 11.2 5.1 11.2 11.2 0.1 6.1-5 11.2-11.2 11.2z" fill="#1f2339" p-id="1688"></path></svg>'; if (localStorage.getItem("typrt") == null) { localStorage.setItem("typrt", "false"); } if (localStorage.getItem("typrt") == "false") { typ.innerHTML = unenbleIcon; } else if (localStorage.getItem("typrt") == "true") { typ.innerHTML = enbleIcon; document.body.onclick = activate; } typ.onclick = (e) => { // var typ = document.getElementById("type"); // console.log(typ); if (localStorage.getItem("typrt") == "false") { localStorage.setItem("typrt", "true"); typ.innerHTML = enbleIcon; document.body.onclick = activate; } else if (localStorage.getItem("typrt") == "true") { localStorage.setItem("typrt", "false"); typ.innerHTML = unenbleIcon; document.body.onclick = null; deactivate(); } };

加到 theme.js 文件后面,按钮亮起即为开启,再点一次就是关闭.

利用 localStorage 存储当前模式是否开启不知道是不是有副作用.

  • 思源笔记

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

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

    23363 引用 • 94405 回帖

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    36 引用 • 35 回帖 • 5 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 25 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1063 引用 • 3454 回帖 • 190 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    107 引用 • 127 回帖 • 367 关注
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖 • 1 关注
  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 161 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    53 引用 • 40 回帖
  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 56 关注
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖 • 1 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    190 引用 • 1057 回帖
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3190 引用 • 8214 回帖
  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 369 关注
  • Maven

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

    186 引用 • 318 回帖 • 279 关注
  • Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    75 引用 • 258 回帖 • 624 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 718 关注
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    16 引用 • 130 回帖
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 18 关注
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    91 引用 • 384 回帖
  • 国际化

    i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。

    8 引用 • 26 回帖 • 1 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 351 关注
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    12 引用 • 54 回帖 • 160 关注
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 223 关注
  • Facebook

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

    4 引用 • 15 回帖 • 436 关注