# UNTAG Premium 第十七期

> 本文开放前 70% 正文，剩余内容会员可见。

原文：https://utgd.net/article/10219

来自 UNTAG 团队的第 17 期会员内容。会员内容会在每周一更新。

本期内容目录：

- 分布式 RSS 服务，可订阅微信公众号

- 下载网页阅读器中的 PDF｜PDF Toolbox

- Todoist 批量导出任务

- 批量导出苹果 Books 高亮批注（移动端 & 桌面端）

- 对照翻译更新，支持 XHTML 文件

- 如何找回清爽的公交路线服务（实时公交）

- Snipaste 贴图功能的妙用

- macOS Dock 栏的位置

- 用得最频繁的文字编辑快捷键

## 分布式 RSS 服务，可订阅微信公众号

作者：@沨沄极客

本周 Slack 的付费会员频道有朋友提到，WeRSS 目前处于失效状态，希望找一个新的微信公众号订阅方法。

所以我推荐了一款名为 Feeddd 的分布式订阅服务，能够抓取微信公众号的文章标题和链接，形成 RSS。

所谓分布式，就是每个参与者利用一台 Android 手机和 Hamibot 应用，安装 Feeddd 提供的“公众号文章更新”脚本。就可以无需人工干预，自动生成 RSS。

🔗 “公众号文章更新”脚本

🔗 参与方法

如果你手头没有 Android 手机，也可以直接在大家共享的公开订阅源中，直接获取别人做好的 RSS 链接。目前这个列表已经有 7800 多页的公众号订阅源了。

🔗 订阅源分享

这样的方式有利有弊，最大的优点就是可以绕过微信公众号严厉的反爬措施，极大降低了服务提供者的压力。

但缺点也很明显，由于抓取哪些订阅源也是靠贡献者决定的，而手机一旦关机或者后台被杀，这个源也就应声停止。因此冷门小众的账号注定年久失修，或者压根没有人做源，这时候就需要自己贡献了。另外，这种方式生成出来的订阅源只有“标题”和“链接”。

## 下载网页阅读器中的 PDF｜PDF Toolbox

@Minja

- Shortcuts 动作下载

- GitHub 第一时间更新

最近收到一些机构发来的邮件，让我打开链接认领文书的 PDF 版本。一路顺风顺水，直到最后一步发现：没有 PDF 下载按钮。再三确认链接地址是 \.pdf 结尾，应当能够直接下载（一般在浏览器中选择当前链接，按下 ‌⌥Option\-回车 就能下载原始文件）；连续换了几款浏览器后，情况依旧，我不禁捶胸顿足——并不是我的打开方式不对，而是这个 PDF 本身就使用了网站的专用 PDF 阅读器，而没有调用浏览器自带的阅读器，自然无法直接下载。

读者们可能在某些文档分享网站上遇到过类似情况，分明可以浏览整个 PDF，但就是没有下载选项。若说是版权保护措施，我也无意评价；但像我所遇到的那种网站，原本就要求我下载，却不提供按钮，这就不太周到。面对这种“能看不能下载”的 PDF，我设计了一个简单的 Shortcuts 动作，只需三步即可下载 PDF：

- 选中网页上的 PDF（一般它们都会被渲染为图片），复制；

- 运行 Shortcuts，等待其读取剪贴板中的图片，随后选择需要的页面；

- 等待 Shortcuts 合成最终的 PDF。

凡是能够复制图片的网页，此 Shortcuts 均可从中制作 PDF。很多微信公众号喜欢用截图形式分享 PDF 文件，你也可以全选页面后快速获得 PDF，免得一张一张保存图片。不过，部分网页会把两页甚至三页 PDF 组合成一张长图，不适合直接制成 PDF。如何处理这些页面，涉及比较动脑筋的计算，我将在以后的文章中深入。

## Todoist 批量导出任务

作者：@Hum

批量导出任务为文本文档，可以方便我们批量处理同类型任务。这适合那些“既不重要也不紧急”的任务积累到一定程度时批量处理。

而合格的信息管理工具——笔记、任务、文件等——都有提供批量导入导出功能的义务。但是从商业角度考量，我们不难理解这样的事实——这些工具都热衷于导入其它产品的数据，但对导出自己产品的数据并不太感冒。

Todoist 原先也是有导出的功能的，但是现在已经化在了付费功能里的“备份”中。掏钱买会员了你都可能还要找一下怎么弄。

目前，不用黑科技，批量导出 Todoist 的官方方法还有一个——导出到 Google Sheet。方法如下：

- 在 Todoist 的设置里找到“关联应用”

- 在“关联应用”中选择“浏览”

- 在“浏览”里找到“Export to Google Sheets”

- 安装“Export to Google Sheets”

- ⭐️ 选择你要导出的项目，在界面的右上角，找到 ‧‧‧ （就是一般表示“更多”的那个菜单按钮）

- 你就可以看到“Export to Google Sheets”这个选项

接下来选择它，关联账户，即可批量导出到 Google Sheet。

实验下来，效果理想。内容包括：截止日期、任务优先级、创建日期、描述、版块和任务接收人。

## 批量导出苹果 Books 高亮批注（移动端 & 桌面端）

作者：@Hum

@Minja 在他的《Anki 进阶手册》里介绍了批量导出 Kindle、Calibre、DEVONthink 里书籍的摘抄，偏偏没写苹果原生 Books 的。我在此补这个缺。

### 桌面端：全选 \+ 复制

桌面端批量导出高亮和批注，最容易。直接选中高亮文本区，快捷键全选后复制即可：

### 移动端：拖拽 \+ 批量替换文本

iOS 端就稍微麻烦一点，没有直接获取所有内容的办法。但是也不麻烦：

- 在 Books 里选择你要导出高亮批注的书

- 打开高亮批注那一栏

- 长按其中一条，随后点选所有高亮批注

- 将内容拖拽到 Drafts

这样就导出结束了。但是 iOS 上有一点和 macOS 不同，它的版权设计较强，每一条复制后的高亮批注后面都有一坨后缀（详见视频）：

如果你希望去除这一坨版权后缀，可以用编辑器的查找替换功能。在 iOS 上，以 Drafts 为例，你可以在它的高级查找功能里将版权信息后缀替换为空白：

- 使用内置的查找动作 Find

- 点按放大镜

- 选择 Advanced Find

- 把版权信息复制进去

- 选择 Replace All，完成清洗

## 对照翻译更新，支持 XHTML 文件

作者：Minja

对照翻译系列恐怕是本站最受欢迎的文章，不过我无意提供产品级的软件，而是给了一套松弛、灵活的方案。最理想的情况是，无论我本人出车祸不省人事了还是网站被黑客攻陷了，你都可以继续使用这一套对照翻译方案，最多微调一下。在文章发布之后，我本人已经不断迭代或拓展，完成了 论坛翻译和 DEVONthink RSS 翻译。

这次，我们继续拓宽对照翻译的领土，把 XHTML 文件也纳入版图。

XHTMl 文件常见于一些 EPUB 电子书，部分提供开放获取的论文站点也使用 XHTML 文件。我设计的电子书对照翻译方案本质上是处理 HTML，但最初的方案并未考虑到更严格的 XHTML 格式——因为当时我连一个活着的 XHTML 文件都没见过。在处理层层嵌套的论坛网页时，我粗粗意识到其与 XHTML 格式类似，于是抽空改进了代码，现在已经可以用于 XHTML 文件。

鉴于目前拓展文章已经非常多，我捋一下相互之间的关系，目前有计划继续推出系列文章：

- 《一种几乎永不失效的网页中英对照翻译方案》：最基础的对照翻译方案，支持网页和 HTML/XHTML 文件，是下面所有方案的基础。

- 《用 Safari 翻译外文电子书和文档》：对照翻译电子书，输出双语 PDF 或 Word 文档，目前该方案已经被下一项取代，毕竟你可以随时把 EPUB 转换成 PDF，但不能反过来操作。

- 《将外文电子书翻译成双语对照版本，并在任何设备上阅读》：对照翻译电子书，输出双语 EPUB，已经取代输出 PDF 的旧方案。

- 《在 DEVONthink 中对照翻译外文 Newsletter》：在 DEVONthink 中翻译 Newsletter。

- 《UNTAG Premium 第九期》：适配了部分论坛页面。

- 《UNTAG Premium 年度特辑 01》：全文翻译 DEVONthink 中的 RSS 文章（前提是你订阅的 RSS 源愿意给全文）。

Safari & Keyboard Maestro 用户可以直接下载最新的 1\.3 版动作，使用其他浏览器或自动化工具的读者可以使用下方的代码（再次 Credit，函数部分是会员 Felz33 的作品，用于保持译文和原文风格样式一致）：

```
(function () {
  function noTranslate(node) {
    if (node.nodeName.toLowerCase() === &quot;img&quot;) {
      node.parentElement.removeChild(node);
    }
    node.setAttribute(&quot;translate&quot;, &quot;no&quot;);
    node.setAttribute(&quot;class&quot;, node.getAttribute(&quot;class&quot;) + &quot; notranslate&quot;);
    for (var child of node.children) {
      noTranslate(child);
    }
  }

for (var node of document.querySelectorAll(&quot;li:not(:has(p)), div:not(:has(div, p)), p, h1, h2, h3, h4&quot;)) { 
      if (node.getAttribute(&quot;translate&quot;) === &quot;no&quot;) {
        continue;
      }
      var copy = node.cloneNode(true);
      node.parentElement.insertBefore(copy, node.nextElementSibling);
      noTranslate(node);
  }

})();
```

## 如何找回清爽的公交路线服务（实时公交）

作者：Minja

公交线路服务本是一项便民工程，查路线、搜站名、看实时位置，没有废话。曾几何时，路线服务还是清爽，甚至提供 API，我还据此折腾过 Shortcuts（快捷指令）。

惜乎近年来，各个开发商多已失去初心。现在的公交服务，不是要求使用小程序，就是强制安装 App，接着就是一系列注册、授权和广告，还有的集成在生活大杂烩类软件中，活生生成了支付宝和微信之后的第三极。

我性子慢，平时喜乘公共交通，去外地也愿意挤公交而不是把自己装在网约车的金属泡泡里，这两年眼睁睁看着好几个城市的公交服务一落千丈。

好在对付微博的老办法也可以用来对付公交服务：使用“国际版”（不过我现在已经彻底不用微博了，号都删了很久）。如前所述，公交是便民服务，因此政府往往会推出英文版本，且和中文服务分开运作，往往保持着干净清爽。我常去的几个城市——从一线城市到最偏远的几个地区———都发现了英文版公交服务，在公交站牌上扫码就能打开，直接上网页版，没有小程序、没有 App、没有注册、没有授权甚至没有广告！

这样的良心服务已经让人唏嘘，但惊喜不限于此。那些花枝招展的小程序和 App，不仅仅是破事儿多，本分也守不好，延时通常很严重：我分明看着一辆车绝尘而去，它还信誓旦旦有两站路车才到，让我慢慢等。而英文版一般又快又准，车辆位置刷新得较快，我遇到的误差最多不过一站，已经足以据此提前安排行程。

---

[前往标准阅读页](https://utgd.net/article/10219?audience=web)
