fix scribble pdf button
closes PR 12141
This commit is contained in:
parent
5dab69cf4b
commit
050d0c0fe0
|
@ -25,6 +25,7 @@
|
||||||
bmp
|
bmp
|
||||||
(λ (drs-frame)
|
(λ (drs-frame)
|
||||||
(define fn (send (send drs-frame get-definitions-text) get-filename))
|
(define fn (send (send drs-frame get-definitions-text) get-filename))
|
||||||
|
(define html? (equal? suffix #".html"))
|
||||||
(cond
|
(cond
|
||||||
[fn
|
[fn
|
||||||
(parameterize ([drracket:rep:after-expression
|
(parameterize ([drracket:rep:after-expression
|
||||||
|
@ -32,15 +33,21 @@
|
||||||
(printf "scribble: loading xref\n")
|
(printf "scribble: loading xref\n")
|
||||||
(define xref ((dynamic-require 'setup/xref 'load-collections-xref)))
|
(define xref ((dynamic-require 'setup/xref 'load-collections-xref)))
|
||||||
(printf "scribble: rendering\n")
|
(printf "scribble: rendering\n")
|
||||||
((dynamic-require 'scribble/render 'render)
|
(parameterize ([current-input-port (open-input-string "")])
|
||||||
(list (eval 'doc))
|
((dynamic-require 'scribble/render 'render)
|
||||||
(list fn)
|
(list (eval 'doc))
|
||||||
#:xrefs (list xref))
|
(list fn)
|
||||||
|
#:render-mixin (dynamic-require (if html?
|
||||||
|
'scribble/html-render
|
||||||
|
'scribble/pdf-render)
|
||||||
|
'render-mixin)
|
||||||
|
#:xrefs (list xref)))
|
||||||
(cond
|
(cond
|
||||||
[(equal? suffix #".html")
|
[html?
|
||||||
(send-url/file (path-replace-suffix fn suffix))]
|
(send-url/file (path-replace-suffix fn suffix))]
|
||||||
[else
|
[else
|
||||||
(system (format "open ~s" (path->string (path-replace-suffix fn suffix))))]))])
|
(parameterize ([current-input-port (open-input-string "")])
|
||||||
|
(system (format "open \"~a\"" (path->string (path-replace-suffix fn suffix)))))]))])
|
||||||
(send drs-frame execute-callback))]
|
(send drs-frame execute-callback))]
|
||||||
[else
|
[else
|
||||||
(message-box "Scribble" "Cannot render buffer without filename")]))))
|
(message-box "Scribble" "Cannot render buffer without filename")]))))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user