Показать содержимое удаленного HTML в Emacs
Я знаю об интеграции w3m с Emacs, но я исчерпал себя, чтобы запустить его на моем W7/x64: здесь есть постоянная ошибка сегментации двоичного файла w3m.
Интересно, есть ли альтернативный способ отображения удаленного HTML в Emacs, возможно, предварительно отфильтрованный так, как это делают сервисы Readability/GetPocket и т. Д.? Мне не нужна навигация, поэтому очищенное содержимое будет идеальным.
Спасибо,
1 ответ
Решение
Транк / Emacs 24.4:
- Mx
eww
RET(URL)
RET
Emacs 24.1 - 24.3:
- Mx
browse-url-emacs
RET(URL)
RET - Mx
load-library
RETshr
RET - Mx
shr-render-buffer
RET
(defun my-render-url (url)
"Render URL as HTML."
(interactive "sURL: ")
(require 'shr)
(let ((buf (save-window-excursion (browse-url-emacs url))))
(shr-render-buffer buf)))
Редактировать: или этот, который не имеет абсолютно никакой обработки ошибок, но значительно быстрее (который я приписываю browse-url-emacs, используя url-retrieve-синхронно, где это асинхронно). Не стесняйтесь вносить улучшения:)
(defun my-render-url (url)
"Render URL as HTML."
(declare (obsolete eww "24.4"))
(interactive "sURL: ")
(require 'shr)
(url-retrieve
url
(lambda (&optional status cbargs)
(let ((markup (current-buffer)))
(delete-region (point-min) (1+ url-http-end-of-headers))
(shr-render-buffer markup)
(kill-buffer markup)))))