从 EmacsLisp 表示中呈现 HTML 代码
Rendering HTML code from EmacsLisp representation
我可以使用 libxml-parse-html-region
函数解析 html。
但我不知道如何将其渲染回 HTML。
shr.el
函数似乎什么都不做。
我试的是这个。
我写了一个 HTML 字符串
<html>
<head></head>
<body></body>
</html>
并使用 libxml-parse-html-region
函数对其进行解析,并使用 dom-pp
函数进行漂亮的打印。像这样
(dom-pp (libxml-parse-html-region (region-beginning) (region-end))))
这导致以下 lisp 表示
(html nil
(head nil)
(body nil))
正在插入缓冲区。没关系。
下一步不起作用。
我想渲染这个嘴唇表示
回到 HTML 表示。
我尝试将 (shr-render-region)
与 (region-begining)
和 (region-end)
函数调用一起用作参数,例如
(shr-render-region (region-beginning) (region-end))
我标记一个区域,交互调用上面的代码。
但是,据我所知,这没有任何作用。缓冲区中没有插入任何内容,shr-render-region
也不是 return 字符串。
那么如何将 lisp 表示重新渲染成 HTML 代码?
更新 1:
shr-render-region
将 HTML 代码呈现为格式化文本,因此它不会起作用。
更新 2:
shr.el
函数不起作用,看起来它们用于在 emacs 缓冲区中呈现 HTML,但不呈现代码(html 字符串)。
dom-print
函数可用于将 lisp 表示打印回 HTML 文本。
我可以使用 libxml-parse-html-region
函数解析 html。
但我不知道如何将其渲染回 HTML。
shr.el
函数似乎什么都不做。
我试的是这个。 我写了一个 HTML 字符串
<html>
<head></head>
<body></body>
</html>
并使用 libxml-parse-html-region
函数对其进行解析,并使用 dom-pp
函数进行漂亮的打印。像这样
(dom-pp (libxml-parse-html-region (region-beginning) (region-end))))
这导致以下 lisp 表示
(html nil
(head nil)
(body nil))
正在插入缓冲区。没关系。
下一步不起作用。
我想渲染这个嘴唇表示
回到 HTML 表示。
我尝试将 (shr-render-region)
与 (region-begining)
和 (region-end)
函数调用一起用作参数,例如
(shr-render-region (region-beginning) (region-end))
我标记一个区域,交互调用上面的代码。
但是,据我所知,这没有任何作用。缓冲区中没有插入任何内容,shr-render-region
也不是 return 字符串。
那么如何将 lisp 表示重新渲染成 HTML 代码?
更新 1:
shr-render-region
将 HTML 代码呈现为格式化文本,因此它不会起作用。
更新 2:
shr.el
函数不起作用,看起来它们用于在 emacs 缓冲区中呈现 HTML,但不呈现代码(html 字符串)。
dom-print
函数可用于将 lisp 表示打印回 HTML 文本。