Re: Using raco/all-tools to run scribble
Shu-Hung You <[email protected]>
| Newsgroups | gmane.comp.lang.racket.user,gmane.lisp.scheme.plt |
|---|---|
| Message-ID | <CAMTzy+Zs110b4izT_bWgA_JXAe=G865K0Rrb6DambO7PFz7AKw@mail.gmail.com> |
On Wed, Jan 9, 2019 at 8:08 PM Stephen De Gabrielle <[email protected]> wrote: > > I've cobbled together some code to run scribble by using all-tools but it only generates my file once - subsequent calls (using the function below) don't generate a new file. > > my log > (XX: scribble/run #(--html /Users/spdegabrielle/Dev/clash/scribble/mouse.scrbl) /Users/spdegabrielle/Dev/clash/html/) > [Output to mouse.html] > (XX: scribble/run #(--html /Users/spdegabrielle/Dev/clash/scribble/mouse.scrbl) /Users/spdegabrielle/Dev/clash/html/) > (XX: scribble/run #(--html /Users/spdegabrielle/Dev/clash/scribble/mouse9.scrbl) /Users/spdegabrielle/Dev/clash/html/) > > > Does anyone have any idea why it only runs once? > > http://docs.racket-lang.org/raco/command.html#%28def._%28%28lib._raco%2Fall-tools..rkt%29._all-tools%29%29 > > > #(--html /Users/spdegabrielle/Dev/clash/scribble/mouse.scrbl) > [Output to mouse.html] > > > #(--html /Users/spdegabrielle/Dev/clash/scribble/mouse.scrbl) > > > (require raco/all-tools) > ;;scribble-to-html : source target body > ;; generate html file from scribble file > (define (scribble-to-html source target) > (define raco-scribble-spec (hash-ref (all-tools) "scribble")) > (parameterize > ([current-command-line-arguments (vector "--html" (path->string source))] > [current-directory target]) > (dynamic-require (cadr raco-scribble-spec) #f))) > Here, dynamic-require instantiates the required module in the current namespace. If the given module is already instantiated, nothing will happen. One solution is to create a new namespace using make-base-namespace and dynamic-require in that namespace: (parameterize ([current-namespace (make-base-namespace)] [...]) (dynamic-require ...)) > -- > You received this message because you are subscribed to the Google Groups "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected] > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected] For more options, visit https://groups.google.com/d/optout.