greghendershott / markdown

Markdown parser written in Racket.
101 stars 28 forks source link

Example needs to require scribble/decode #73

Closed greghendershott closed 6 years ago

greghendershott commented 6 years ago

The example here gives an error that decode is undefined. Need to add a require of scribble/decode.

greghendershott commented 6 years ago

Also changing to use plain #lang racket/base, the correct example would be:

#lang racket/base

(require markdown
         markdown/scrib
         net/sendurl
         racket/class
         racket/format
         racket/runtime-path
         scribble/base-render
         scribble/decode
         scribble/html-render)

(define work-dir (find-system-path 'temp-dir))

(define (build-html-doc docs dest-file)
  (let* ([renderer (new (render-mixin render%) [dest-dir work-dir])]
         [fns      (list (build-path work-dir dest-file))]
         [fp       (send renderer traverse docs fns)]
         [info     (send renderer collect  docs fns fp)]
         [r-info   (send renderer resolve  docs fns info)])
    (send renderer render docs fns r-info)
    (send renderer get-undefined r-info)))

(define-runtime-path test.md "test/test.md")

(define part (decode
              (xexprs->scribble-pres
               (with-input-from-file test.md read-markdown))))

(build-html-doc (list part) "test.html")

(send-url (~a "file://" work-dir "test.html"))