我正在尝试编写一个WYSIWYG文本编辑器,该编辑器允许我在顶部窗口中编写文本,并在下面的窗口中呈现由此产生的潦草文本。我想我这样做的方法是周期性地在后台调用scribble myfile.rkt,然后使用呈现-html到文本将结果输出呈现给底部屏幕。我有一些困难,使渲染工作。根据我需要的文件
in : input-port?
dest : (is-a? html-text<%>)
load-img? : any/c
eval-rkt? : any/c我的脚本的相关部分如下所示
#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)但我明白错误
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我不知道我做错了什么。有人能帮忙吗?
发布于 2020-05-12 13:00:46
html-呈现器%未正确创建.
使用html-text-mixin将文本%转换为处理html-text的内容。
但是..。不要对html渲染器期望太高。它很老,不支持样式表。回到当时,它被用来显示DrRacket的文档。
https://stackoverflow.com/questions/61742650
复制相似问题