I realized I forgot to include this stub:

> (define (run-dot str format)
>   (define cmd (string-append "dot -y -T" format))
>   (match (process cmd)
>     [(list stdout stdin pid stderr ctl)
>      (write-string str stdin)
>      (newline stdin)
>      (close-output-port stdin)
>      (cond [(eq? (ctl 'status) 'done-error) (error (port->string stderr))]
>            [else stdout])]))

On Wed, Jan 27, 2021 at 09:42:16PM -0800, 'William J. Bowman' via Racket Users 
wrote:
> I've been using graphviz inside Scribble for a bit.
> I found the package a bit inflexible and didn't produce output to my liking, 
> so
> I just rolled my own 'dot->svg' for HTML output:
> 
> > (require (only-in xml cdata)
> >          scribble/html-properties)
> > (define (dot->svg . rest)
> >   (elem #:style
> >         (style #f
> >                (list
> >                 (xexpr-property
> >                  (cdata #f #f (apply string-append (drop (port->lines 
> > (run-dot (apply string-append rest) "svg")) 3)))
> >                  (cdata #f #f ""))))))
> 
> Example:
> > @dot->svg{
> > digraph {
> > 
> > node [ shape="box" ]
> > 
> > /* The Languages */
> > 
> > L0 [label="x64"];
> > L1 [label="elf64"];
> > 
> > /* The Passes */
> > 
> > edge [fontname="Courier"]
> > 
> > L0 -> L1 [label="nasm"];
> > }
> > }
> 
> --
> William J. Bowman
> 
> On Wed, Jan 27, 2021 at 09:37:51PM -0800, Sorawee Porncharoenwase wrote:
> > Here’s how to add graphviz to Pollen
> > <https://github.com/mbutterick/pollen-users/issues/46>. The same technique
> > can be used for Scribble, but you would want to use image
> > <https://docs.racket-lang.org/scribble/base.html?q=image#%28def._%28%28lib._scribble%2Fbase..rkt%29._image%29%29>
> > as the tag function. You might also need to use define-runtime-path
> > <https://docs.racket-lang.org/reference/Filesystem.html?q=define-runtime-path#%28form._%28%28lib._racket%2Fruntime-path..rkt%29._define-runtime-path%29%29>
> > .
> > 
> > On Wed, Jan 27, 2021 at 9:23 PM Tim Meehan <[email protected]> wrote:
> > 
> > > IMHO, Racket's documentation is the gold standard. I tell everyone I work
> > > with that we should document things this well.
> > > Until now, I haven't seen any room for potential improvements.
> > >
> > > Now, I like ASCII art as much as the next person, but when I was reading
> > > the documentation for the GUI class hierarchy, I remembered that there was
> > > a graphviz <https://github.com/pykello/racket-graphviz> package for
> > > Racket now.
> > > I'm no good with Scribble, but I bet that someone clever could add some
> > > automatic graphs to it without much trouble.
> > >
> > > I'm not much good at GraphViz either, but here is my take on the first two
> > > ASCII art diagrams. I just used "dot -Tpdf" to make the tests.
> > >
> > > --
> > > 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 [email protected].
> > > To view this discussion on the web visit
> > > https://groups.google.com/d/msgid/racket-users/CACgrOxKkeVxdMq9-94%2BX87oCmBKaY0XHg-Sq4yj-fPLy%2B6MYyg%40mail.gmail.com
> > > <https://groups.google.com/d/msgid/racket-users/CACgrOxKkeVxdMq9-94%2BX87oCmBKaY0XHg-Sq4yj-fPLy%2B6MYyg%40mail.gmail.com?utm_medium=email&utm_source=footer>
> > > .
> > >
> > 
> > -- 
> > 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 [email protected].
> > To view this discussion on the web visit 
> > https://groups.google.com/d/msgid/racket-users/CADcuegstUJsYGjcm5C7_Hniw_%3DTvb69FyQa820JN4vP0kChD%2BA%40mail.gmail.com.
> 
> -- 
> 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 [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/racket-users/YBJOuMD2v2n29%2BpY%40williamjbowman.com.

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/YBNXArD5HRuk%2BSeL%40williamjbowman.com.

Reply via email to