[plt-scheme] export code (with syntax and stuff) to HTML
Below is some rather old code I wrote to include a file into a
Scribble schemeblock.
Example usage:
@include-schemeblock["zero.ss"]
(Of course you could just call it from Scheme as normal. I.e.
(include-schemeblock "zero.ss"))
I have not tested it on a recent build.
N.
(module util mzscheme
(require-for-syntax
(planet "port.ss" ("schematics" "port.plt" 1)))
(require
(only (lib "manual.ss" "scribble") schemeblock))
(provide include-schemeblock)
(define-syntax (include-schemeblock stx)
(syntax-case stx ()
[(include-schemeblock file-name)
(let ([file-name (syntax-object->datum (syntax file-name))])
(with-syntax
([(e0 e1 ...)
(with-input-from-file file-name
(lambda ()
(port-count-lines! (current-input-port))
(port->list
(lambda (p) (read-syntax file-name p))
(current-input-port))))])
(syntax
(begin
(schemeblock e0 e1 ...)))))]))
)
On Thu, Dec 3, 2009 at 7:01 PM, Todd O'Bryan <toddobryan at gmail.com> wrote:
> Yeah. I think that only works within a Scribble document, though.
>
> Is it as simple as reading in a BeginnerStudent file, putting #lang
> scribble at the beginning, wrapping it in (scheme-block0 ...) and
> outputting the result to an HTML file? Of course, this would rely on
> the Scribble CSS and would add links for all the functions.
>
> I guess I just want something that would put everything in a
> pre-formatted block and attach divs to get the right syntax coloring.
>
> If such a thing doesn't exist, I don't mind trying to figure out how to do it.
>
> Todd