From 78cfde249ab2cae189602e4316d65369c1176f7c Mon Sep 17 00:00:00 2001 From: Robert Ricci Date: Wed, 21 Oct 2015 14:27:20 -0600 Subject: [PATCH] Start experimenting with a different way of embedding code samples Make a new element rather than trying to use scribble's own code element. The problem with Scribble's way of doing things is that it makes this weird table thing, which is going to interfere with using a Javascript to do syntax highlighting on the code. This way, it's all in one element and we can more easily style it from outside. Suggested by mflatt --- code-sample.css | 7 +++++++ code-sample.tex | 1 + defs.rkt | 10 +++++++++- 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 code-sample.css create mode 100644 code-sample.tex diff --git a/code-sample.css b/code-sample.css new file mode 100644 index 0000000..ae70568 --- /dev/null +++ b/code-sample.css @@ -0,0 +1,7 @@ +.code-sample { + display: block; + unicode-bidi: embed; + font-family: monospace; + white-space: pre; + border: 1px solid #000000; +} diff --git a/code-sample.tex b/code-sample.tex new file mode 100644 index 0000000..0094169 --- /dev/null +++ b/code-sample.tex @@ -0,0 +1 @@ +\newcommand{\code-sample}[1]{\fbox{\verbatim{#1}}} diff --git a/defs.rkt b/defs.rkt index cff1dad..e6fe999 100644 --- a/defs.rkt +++ b/defs.rkt @@ -1,7 +1,10 @@ #lang racket/base (require scribble/base) +(require scribble/core) (require scribble/decode) (require scribble/manual) +(require scribble/html-properties) +(require scribble/latex-properties) (require racket/class) (require racket/draw) (require racket/system) @@ -118,5 +121,10 @@ (define (ssh) (tt "ssh")) +(define code-sample-style + (make-style "code-sample" + (list (make-css-addition "code-sample.css") + (make-tex-addition "code-sample.tex")))) + (define (code-sample filename) - (code-inset (verbatim (file->string (string-append "code-samples/" filename))))) + (elem #:style code-sample-style (file->string (string-append "code-samples/" filename)))) -- GitLab