Показать содержимое удаленного 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 RET shr 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)))))
Другие вопросы по тегам