简述

地址:https://greasyfork.org/zh-CN/scripts/441640
导出Hypothesis高亮和注释为markdown文件

功能

https://hypothes.is/users/用户名http://hypothes.is/users/用户名 页面适用。
导出用户界面(自己或别人)的所有注释或者个别注释为markdown文件,每个文件名为标注对应的网页的标题或者文件名,文件内标注的顺序按照标注的顺序从上到下。
文件内容包括标注的来源以及每个标注和标注下的注释,效果如下
Hypothesis个人主页内容:

markdown文件内容:

markdown文件渲染效果:

使用

当打开不管是自己还是别人的Hypothesis的用户界面时,页面上出现一个导出全部按钮以及在每一项的右边有一个 导出按钮,效果如下:

当点击每一项右边的导出按钮时会导出对应的markdown文件,当点击导出全部按钮时会将每个注释都导出为markdown文件。

0.1.0 版本源码

// ==UserScript==
// @name         Hypothesis导出插件
// @namespace    https://coycs.com/
// @version      0.1.0
// @description  导出Hypothesis高亮和注释为markdown文件
// @author       coycs
// @match        *://hypothes.is/users/*
// @grant        none
// @license MIT
// ==/UserScript==(function () {"use strict";window.onload = function () {// 添加全部导出按钮let exportAllBtn = document.createElement("span");exportAllBtn.textContent = "导出全部";exportAllBtn.style.cssText = "margin-left: 8px;font-weight: bold;cursor: pointer;";document.querySelector(".search-results__total").appendChild(exportAllBtn);exportAllBtn.addEventListener("click", function () {let exportBtns = document.querySelectorAll("#exportBtn");exportBtns.forEach(n => {n.click();});});// 添加导出按钮const listitems = document.querySelectorAll('li[role="listitem"]');listitems.forEach(function (e) {e.style.cssText = "display: flex;";let bucket = e.querySelector(".search-result-bucket.js-search-bucket");bucket.style.cssText = "flex: 1;";let exportBtn = document.createElement("div");exportBtn.id = "exportBtn";exportBtn.textContent = "导出";exportBtn.style.cssText ="display: flex;align-items: center;justify-content: center;font-weight: bold;color: inherit;cursor: pointer;";let that = e;exportBtn.addEventListener("click", function () {ExportListItem(that);});e.appendChild(exportBtn);});};// 导出单个项目function ExportListItem(listitem) {const title = listitem.querySelector('a[data-ref="title"]').innerText;const url_a = listitem.querySelector("div.search-bucket-stats__val.search-bucket-stats__url > a");let outcome = new String();if (url_a) {const url = url_a.href;outcome = outcome.concat(`> 来自:${url}\n`);} else {outcome = outcome.concat("> 来自:本地文件\n");}const annotations = listitem.querySelectorAll("li.annotation-card");for (let i = annotations.length - 1; i > -1; i--) {const quote = annotations[i].querySelector("blockquote.annotation-card__quote").innerText.trim();const text = annotations[i].querySelector("div.annotation-card__text").innerText.trim();if (text) {outcome = outcome + "\n" + "> " + quote + "\n" + "\n" + text + "\n";} else {outcome = outcome + "\n" + "> " + quote + "\n";}}// 导出为markdown文件let blob = new Blob([outcome], { type: "application/md" });let aTag = document.createElement("a");aTag.download = title + ".md";aTag.href = URL.createObjectURL(blob);aTag.click();URL.revokeObjectURL(blob);}
})();

【油猴脚本】Hypothesis导出为markdown文件相关推荐

  1. 油猴脚本——掘金Markdown格式适配器知识点记录【油猴脚本、Markdown、浏览器文件读取、tooltip、SVG、、模拟用户输入、aria-xxxx属性、剪切板操作、】

    油猴脚本--掘金Markdown格式适配器知识点记录 脚本更新日志 参考:掘金Markdown格式适配器更新日志 - 掘金 脚本地址: 更新:2021年9月3日19:57:35 参考:掘金Markdo ...

  2. 新版正方教务系统导出课程表-油猴脚本

    https://www.cnblogs.com/31415926535x/p/12244461.html 简介 这个油猴脚本主要是针对新版的正方教务系统,实现将课程表转化为一个 courses.ics ...

  3. IDM下载工具配合油猴脚本帮你实现快速下载百度网盘文件

    安装IDM下载工具 第一步: 安装IDM 第二步: 配置IDM 具体步骤为: 提前新建一个文件夹,专门存放IDM的下载文件 第三步: 将IDM的扩展程序集成到谷歌浏览器,使得我们在谷歌浏览器中点击下载 ...

  4. 自用chrome+油猴脚本,使用迅雷下载百度云大文件,一键离线下载

    油猴是有名的火狐浏览器插件(Greasemonkey),当然也有Chrome版本(tampermonkey),甚至IE.Safari.Opera都有--虽然这些插件是由不同的开发者开发出来的,界面也可 ...

  5. 【油猴脚本】Hypothesis自定义标注颜色和透明度

    概述 地址:https://greasyfork.org/zh-CN/scripts/444240 用来自定义Hypothesis的网页标注颜色和透明度. 因为在Hypothesis的pdf标注页面油 ...

  6. 让iOS Safari浏览器支持油猴脚本

    Userscripts 是一款免费 iOS Safari 浏览器插件,可以兼容油猴脚本,但如果油猴脚本代码没有对手机进行适配的话可能不会生效. 1.首先 打开设置 找到 Safari 浏览器 选择 扩 ...

  7. [原创方法!] 如何实现全自动登录各大网站? Cookie格式 、油猴脚本基础 解决Github邮箱验证,持久登录,免验证码

    之前电脑内存小, 谷歌浏览器又是内存怪物, 每次浏览器不用的时候总是习惯关掉. 这就导致了每次进入常用的网站就要重新登陆, 非常烦;  对! 就是即使浏览器保存了密码, 大部分网站仍然要输入一下验证码 ...

  8. 雷利子油猴脚本v0.3.6,无需启动天翼客户端直接下载

    简介: 雷利子油猴脚本是一款非常强力的天翼网盘下载工具,能够帮助你跳过客户端直接在网页上下载文件,突破多文件分享页文件大小下载限制,有需要的用户不要错过了,欢迎下载使用! 插件功能: [√] 突破单文 ...

  9. 能安装Chrome扩展和油猴脚本的手机浏览器

    Kiwi 这是第一个要推荐的浏览器,Kiwi基于Chromium和WebKit内核开发(类似Yandex浏览器),安装扩展方式与电脑端一样,直接访问Chrome扩展商店,搜索你想安装的扩展就可以了,堪 ...

最新文章

  1. timus-1507 Amount of Degrees 按位DP
  2. Python中异常处理不要乱用哦
  3. HDU-1027 组合数 STL-next_permutation
  4. NumPy Cookbook 带注释源码 十、Scikit 中的乐趣
  5. 实现图片大小的自动控制( 图片大小控制CSS代码)
  6. 分库分表读写分离总结
  7. 小游戏一键跳转小程序任意页面
  8. js实现快速排序(in-place)简述
  9. 21.ACL 的使用
  10. Vue:echarts异步加载数据显示
  11. Matlab中mapminmax函数使用注意事项
  12. Papervision 3D的简介
  13. Android 的录音分享特性
  14. JSHTMLCSS实现双色球抽奖
  15. 程序员外包被骂:以为自己是开发?你就是打杂的杂狗!
  16. 石化能源行业工业互联网智能工厂解决方案
  17. 单片机外围电路设计之三:电感
  18. nginx动态黑名单配置2
  19. 什么?浏览器也可以截长图?
  20. mindmanager的R6025 - pure virtual function call错误解决办法

热门文章

  1. v-if导致用ref取不到元素的解决办法
  2. PAT 1058 选择题 python
  3. oracle数据库怎么进行树查询,oracle树查询的实现
  4. 5G系统——5G-GUTI、5G-TMSI、5G-S-TMSI
  5. 内网渗透-PTHPTTPTK
  6. 浅谈一个新人的大数据之路-HiveQLSpark-SQL中谓词下推
  7. mysql查询各专业人数_SQL统计各专业学生人数
  8. 【渗透测试】VulnHub-Lord Of The Root: 1.0.1
  9. 笔记本电脑外接显示器
  10. AI+医疗如何商业破冰?6位一线专家这样说