unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* render region with eww
@ 2013-06-26  8:04 Ivan Kanis
  2013-06-26  9:00 ` Rüdiger Sonderfeld
  0 siblings, 1 reply; 5+ messages in thread
From: Ivan Kanis @ 2013-06-26  8:04 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: Emacs Development List

Lars,

emacs-w3m has a function called w3m-region. As the name implies it
renders html within a region. The package newsticker (included in Emacs)
uses that feature. I think it's implemented as a minor mode.

I am not sure how to write it wit eww. Any thoughts?

Ivan



-- 
At Group L, Stoffel oversees six first-rate programmers, a
managerial challenge roughly comparable to herding cats.
    -- Anonymous , 1985-06-09 , The Washington Post



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: render region with eww
  2013-06-26  8:04 render region with eww Ivan Kanis
@ 2013-06-26  9:00 ` Rüdiger Sonderfeld
  2013-06-27 18:01   ` [PATCH] " Ivan Kanis
  0 siblings, 1 reply; 5+ messages in thread
From: Rüdiger Sonderfeld @ 2013-06-26  9:00 UTC (permalink / raw)
  To: emacs-devel; +Cc: Ivan Kanis, Lars Ingebrigtsen

On Wednesday 26 June 2013 10:04:38 Ivan Kanis wrote:
> emacs-w3m has a function called w3m-region. As the name implies it
> renders html within a region. The package newsticker (included in Emacs)
> uses that feature. I think it's implemented as a minor mode.
> 
> I am not sure how to write it wit eww. Any thoughts?

You can do this with shr alone.  A quick hack:

(defun shr-render-region (begin end &optional buffer)
  "Display the HTML rendering of the region between BEGIN and END."
  (interactive "r")
  (unless (fboundp 'libxml-parse-html-region)
    (error "This function requires Emacs to be compiled with libxml2"))
  (with-current-buffer (or buffer (current-buffer))
    (let ((dom (libxml-parse-html-region begin end)))
      (kill-region begin end)
      (goto-char begin)
      (shr-insert-document dom))))

Best Regards
Rüdiger



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] render region with eww
  2013-06-26  9:00 ` Rüdiger Sonderfeld
@ 2013-06-27 18:01   ` Ivan Kanis
  2013-06-27 19:03     ` Stefan Monnier
  2013-06-28  7:59     ` Lars Magne Ingebrigtsen
  0 siblings, 2 replies; 5+ messages in thread
From: Ivan Kanis @ 2013-06-27 18:01 UTC (permalink / raw)
  To: Lars Ingebrigtsen, Rüdiger Sonderfeld; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 248 bytes --]

June, 26 at 11:00 Rüdiger Sonderfeld wrote:

>> I am not sure how to write it wit eww. Any thoughts?
>
> You can do this with shr alone.  A quick hack:

Thanks Rüdiger! it works nicely with newsticker.

Here is the patch for you Lars.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-add-render-region-function.patch --]
[-- Type: text/x-diff, Size: 1156 bytes --]

From 656ced71e92d95b1ef8621bcb93984bd5e315711 Mon Sep 17 00:00:00 2001
From: Ivan Kanis <ivan@tao>
Date: Thu, 27 Jun 2013 19:59:27 +0200
Subject: [PATCH] add render region function

---
 emacs/misc/shr.el |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/emacs/misc/shr.el b/emacs/misc/shr.el
index f2db68b..fc48449 100644
--- a/emacs/misc/shr.el
+++ b/emacs/misc/shr.el
@@ -166,6 +166,17 @@ cid: URL as the argument.")
      (libxml-parse-html-region (point-min) (point-max))))
   (goto-char (point-min)))
 
+(defun shr-render-region (begin end &optional buffer)
+  "Display the HTML rendering of the region between BEGIN and END."
+  (interactive "r")
+  (unless (fboundp 'libxml-parse-html-region)
+    (error "This function requires Emacs to be compiled with libxml2"))
+  (with-current-buffer (or buffer (current-buffer))
+    (let ((dom (libxml-parse-html-region begin end)))
+      (kill-region begin end)
+      (goto-char begin)
+      (shr-insert-document dom))))
+
 (defun shr-visit-file (file)
   "Parse FILE as an HTML document, and render it in a new buffer."
   (interactive "fHTML file name: ")
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] render region with eww
  2013-06-27 18:01   ` [PATCH] " Ivan Kanis
@ 2013-06-27 19:03     ` Stefan Monnier
  2013-06-28  7:59     ` Lars Magne Ingebrigtsen
  1 sibling, 0 replies; 5+ messages in thread
From: Stefan Monnier @ 2013-06-27 19:03 UTC (permalink / raw)
  To: Ivan Kanis; +Cc: Rüdiger Sonderfeld, Lars Ingebrigtsen, emacs-devel

> +(defun shr-render-region (begin end &optional buffer)
> +  "Display the HTML rendering of the region between BEGIN and END."
> +  (interactive "r")
> +  (unless (fboundp 'libxml-parse-html-region)
> +    (error "This function requires Emacs to be compiled with libxml2"))
> +  (with-current-buffer (or buffer (current-buffer))
> +    (let ((dom (libxml-parse-html-region begin end)))
> +      (kill-region begin end)
> +      (goto-char begin)
> +      (shr-insert-document dom))))

I think this should use delete-region, not kill-region.


        Stefan



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] render region with eww
  2013-06-27 18:01   ` [PATCH] " Ivan Kanis
  2013-06-27 19:03     ` Stefan Monnier
@ 2013-06-28  7:59     ` Lars Magne Ingebrigtsen
  1 sibling, 0 replies; 5+ messages in thread
From: Lars Magne Ingebrigtsen @ 2013-06-28  7:59 UTC (permalink / raw)
  To: Ivan Kanis; +Cc: Rüdiger Sonderfeld, emacs-devel

Ivan Kanis <ivan@kanis.fr> writes:

> Here is the patch for you Lars.

Thanks; applied (with Stefan's fix).

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-06-28  7:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-26  8:04 render region with eww Ivan Kanis
2013-06-26  9:00 ` Rüdiger Sonderfeld
2013-06-27 18:01   ` [PATCH] " Ivan Kanis
2013-06-27 19:03     ` Stefan Monnier
2013-06-28  7:59     ` Lars Magne Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).