首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >渲染html至racket gui

渲染html至racket gui
EN

Stack Overflow用户
提问于 2020-05-12 02:17:41
回答 1查看 196关注 0票数 1

我正在尝试编写一个WYSIWYG文本编辑器,该编辑器允许我在顶部窗口中编写文本,并在下面的窗口中呈现由此产生的潦草文本。我想我这样做的方法是周期性地在后台调用scribble myfile.rkt,然后使用呈现-html到文本将结果输出呈现给底部屏幕。我有一些困难,使渲染工作。根据我需要的文件

代码语言:javascript
复制
  in : input-port?
  dest : (is-a? html-text<%>)
  load-img? : any/c
  eval-rkt? : any/c

我的脚本的相关部分如下所示

代码语言:javascript
复制
#lang racket/gui
(require racket/os racket/runtime-path "init.rkt" 
         browser/htmltext)
(require browser)


(define f (new frame% [label (~a "Dremacs" "@" (gethostname))]
                      [width 960]
                      [height 540]))



(define new-cnv (new cnv% [parent f]))


(send t insert ";; This buffer is for text that is not saved, and for Lisp evaluation.
;; To create a file, visit it with C-x C-f and enter text in its buffer.")
(send new-cnv set-editor t)

(define html-renderer%
  (interface (html-text<%>)))



(define viewer (new panel%
                    [parent f]
                    [min-width 300]
                    [min-height 300]))



(render-html-to-text (open-input-file "TODO.html") html-renderer% #t #t)

(send f show #t)

但我明白错误

代码语言:javascript
复制
render-html-to-text: expects argument of type <html-text<%> object>; given: '(#<input-port:/home/diego/repos/dremacs/dremacs/TODO.html> #<interface:html-renderer%>)
  context...:
   /usr/share/racket/pkgs/drracket/browser/htmltext.rkt:61:0: render-html-to-text
   "/home/diego/repos/dremacs/dremacs/editor.rkt": [running body]
   temp37_0

我不知道我做错了什么。有人能帮忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-12 13:00:46

html-呈现器%未正确创建.

使用html-text-mixin将文本%转换为处理html-text的内容。

但是..。不要对html渲染器期望太高。它很老,不支持样式表。回到当时,它被用来显示DrRacket的文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61742650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档