使用 EWW 阅读技术文章

原文地址:https://emacstalk.github.io/post/015/

EWW 是 Emacs 内置的 Web 浏览器,虽然比起 Firefox 之类的主流浏览器来说,EWW 显得有些“简陋”,但少就是多,在阅读技术文章,或其他有深度的文字时,EWW 有它无与伦比的优势:

  1. 干净、纯粹,不容易分心
  2. 方便调整字体
  3. 无法执行 JS,无隐私泄漏问题

第二点非常重要,有些网页的设计实在是不方便沉浸式阅读,要不就是文字太小,要不就是背景色太亮,而在 EWW 中,这些问题都能解决,就是一般的 buffer 设置而已。

(defun my/set-eww-font (fontconfig)
  (interactive "sFontconfig(Ubuntu-20): ")
  (let ((font (or (if (string-empty-p fontconfig)
                      "Ubuntu-20"
                    fontconfig))))
    (set-face-attribute 'variable-pitch (selected-frame) :font font)))

这是我用来改变字体的辅助命令,下面是 Hacker News 帖子的效果对比

img

img

常用快捷键

在 EWW 中,我主要使用如下几个快捷键:

快捷键 含义
w 拷贝当前页面 URL
g 刷新当前页面
[ 后退
] 前进
v 查看网页源码
b 添加当前网页到书签
B 查看书签
R 开启阅读模式
n/p 自动跳转到下一页/上一页
M-RET 在新 buffer 内打开链接

n/p 是通过寻找页面中含有 next 标记的链接,比如 MySQL 的文档就支持上下页跳转。更令人惊喜的是,默认就有『阅读模式』,它可以去掉网页中乱七八糟的元素,专注于内容阅读。看了是提交记录,是 Lars 在 2014-11 月提交的,感谢大神的贡献。

为了方便浏览国外技术网站,需要让 EWW 走代理,可以参考:[url-retrieve 使用 curl 作为后端实现](file:///post/007)。可以通过 browse-url-browser-function 设置超链接打开的默认浏览器,这是全局的配置,也可以通过正则表达式来给指定 URL 配置打开方式:

;; 28.1 新引入的配置项
(setq browse-url-handlers '(("baidu\\|kaiyanapp\\.com" . browse-url-default-browser)
                            ("github\\|google\\|twitter\\.com" . browse-url-firefox)))

上面配置的含义是:

  • 百度、开眼视频的链接用默认浏览器
  • GitHub、Google、Twitter 使用 Firefox 浏览器打开

更多参考

13 个赞

EWW已经不能满足我了 :joy: :joy:,现在如果被我看到某技术文章是用org-mode写的,通常我会直接用org-mode来阅读并保存 ,本文也存了下来,如图

4 个赞

关键是用 org 写的文章很少呀,虽然有些工具可以把 md 转成 org ,但感觉又有些鸡肋,文章看完就走了,顶多记个笔记

除了 pandoc,还有什么工具?

我也只用过这一个,其他的没听说过了

:ok_hand:

EWW是神器!我一般都是用浏览器粗略浏览,重要的我会把html文件下载到本地一个目录,然后用eww打开,做笔记,划词翻译,跳转都很方便。

1 个赞

可以结合 GitHub - redguardtoo/mybigword: Use Zipf frequency of each word to extract English big words M-x mybigword-pronounce-word 查当前词读音 M-x mybigword-show-big-words-from-current-buffer 以org格式列出当前buffer的偏僻词。

4 个赞

又更新了下使用 eww 的姿势

https://emacstalk.github.io/post/018/

1 个赞

so, the webpage is read-only, but EWW makes it writeable and enhances the reading experience, including but not limited to Emacs package ecosystem like:

  1. symbol-overlay-mode and highlight-regexp to highlight frequently shown words/symbols
  2. swiper enable regexp search
  3. narrow-to-* narrow to section
  4. Folding by Heading section like org-mode <tab>
  5. imenu generates menus from heading, and support jumping between them
  6. Replace big image/video (for example occupying full-screen, and results in long page scrolling, which is bad, and easy to lose way) with a single line of anchor link text, and open those images locally with sxiv, video with mpv with seamless integration (enable frame-level control, stop/next/previous frame)
  7. Text operations like deleting, formatting, alignment, sorting, collapse code sections
  8. Set bookmark to allow jumping (see bm.el)
  9. Statistic (count-words-region to take a glance at the article)

and all kinds of things you could imagine :sweat_smile:

1 个赞

好东西,学习一下。