diff --git a/quad/qtest/test-docs-tester.pdf b/quad/qtest/test-docs-tester.pdf index 526345a2..93829247 100644 Binary files a/quad/qtest/test-docs-tester.pdf and b/quad/qtest/test-docs-tester.pdf differ diff --git a/quad/qtest/test-emoji-tester.pdf b/quad/qtest/test-emoji-tester.pdf index 2ccbbd31..fcfa2dda 100644 Binary files a/quad/qtest/test-emoji-tester.pdf and b/quad/qtest/test-emoji-tester.pdf differ diff --git a/quad/qtest/test-fallback-mini-tester.pdf b/quad/qtest/test-fallback-mini-tester.pdf index bad85e6a..3e3f220e 100644 Binary files a/quad/qtest/test-fallback-mini-tester.pdf and b/quad/qtest/test-fallback-mini-tester.pdf differ diff --git a/quad/qtest/test-fallback-super-tester.pdf b/quad/qtest/test-fallback-super-tester.pdf index b0c79d7a..c18b1697 100644 Binary files a/quad/qtest/test-fallback-super-tester.pdf and b/quad/qtest/test-fallback-super-tester.pdf differ diff --git a/quad/qtest/test-hello-tester.pdf b/quad/qtest/test-hello-tester.pdf index 8dd9b641..84362042 100644 Binary files a/quad/qtest/test-hello-tester.pdf and b/quad/qtest/test-hello-tester.pdf differ diff --git a/quad/qtest/test-kafka-tester.pdf b/quad/qtest/test-kafka-tester.pdf index dcf6d3ab..9a99047f 100644 Binary files a/quad/qtest/test-kafka-tester.pdf and b/quad/qtest/test-kafka-tester.pdf differ diff --git a/quad/qtest/test-symbol-tester.pdf b/quad/qtest/test-symbol-tester.pdf index b509f3e6..c4784076 100644 Binary files a/quad/qtest/test-symbol-tester.pdf and b/quad/qtest/test-symbol-tester.pdf differ diff --git a/quad/qtest/test-symbol.rkt b/quad/qtest/test-symbol.rkt index e386bd0d..dd0639fc 100644 --- a/quad/qtest/test-symbol.rkt +++ b/quad/qtest/test-symbol.rkt @@ -1,7 +1,5 @@ #lang quadwriter/markdown ``` -excl-middl→¬¬-elim : ∀ {A : Set} → A ⊎ ¬ A → (¬ ¬ A → A) -excl-middl→¬¬-elim (inj₁ a) = λ ¬¬a → a -excl-middl→¬¬-elim (inj₂ ¬a) = λ ¬¬a → ⊥-elim (¬¬a ¬a) +foo ``` \ No newline at end of file diff --git a/quad/quadwriter/markdown.rkt b/quad/quadwriter/markdown.rkt index 8f349bd9..d516f552 100644 --- a/quad/quadwriter/markdown.rkt +++ b/quad/quadwriter/markdown.rkt @@ -8,14 +8,6 @@ #%app #%top #%datum #%top-interaction require (all-from-out "tags.rkt")) -(define rsquo "’") -(define rdquo "”") -(define lsquo "‘") -(define ldquo "“") -(define hellip "…") -(define ndash "–") -(define mdash "—") - (define (doc-proc exprs) (define strs (match exprs [(? null?) '(" ")] ; single nonbreaking space, so something prints @@ -32,8 +24,7 @@ (module reader racket/base (require racket/port markdown "lang-helper.rkt") (provide read-syntax get-info) - (define read-syntax - (make-read-syntax 'quadwriter/markdown - (λ (path-string p) (xexpr->parse-tree - (parameterize ([current-strict-markdown? #true]) - (parse-markdown (port->string p)))))))) \ No newline at end of file + (define read-syntax (make-read-syntax 'quadwriter/markdown + (λ (path-string p) (xexpr->parse-tree + (parameterize ([current-strict-markdown? #t]) + (parse-markdown (port->string p)))))))) \ No newline at end of file diff --git a/quad/quadwriter/tags.rkt b/quad/quadwriter/tags.rkt index 8b4ede8e..10f702dc 100644 --- a/quad/quadwriter/tags.rkt +++ b/quad/quadwriter/tags.rkt @@ -16,22 +16,25 @@ (qexpr attrs exprs)) (define-tag-function (p attrs exprs) - ;; no font-family so that it adopts whatever the surrounding family is - (qexpr (append (list->attrs - :keep-first-lines "2" - :keep-last-lines "3" - :font-size-adjust "100%" - :hyphenate "true" - :display (symbol->string (gensym))) - attrs) exprs)) - -(define div p) + (match exprs + [(cons (? txexpr? tx) _) + #:when (equal? (attr-ref tx :font-family #false) "code") + ;; wrap code blocks in `pre` to distinguish them from inline + (apply pre attrs exprs)] + ;; no font-family so that it adopts whatever the surrounding family is + [_ (qexpr (append (list->attrs + :keep-first-lines "2" + :keep-last-lines "3" + :font-size-adjust "100%" + :hyphenate "true" + :display (symbol->string (gensym))) + attrs) exprs)])) (define-tag-function (img attrs exprs) (qexpr (list->attrs - :image-data (second (assq 'src attrs)) - :image-alt (second (assq 'alt attrs)) - :display (symbol->string (gensym))) exprs)) + :image-data (second (assq 'src attrs)) + :image-alt (second (assq 'alt attrs)) + :display (symbol->string (gensym))) exprs)) (define-tag-function (br attrs exprs) line-break) @@ -86,6 +89,7 @@ (list->attrs :font-italic "true" :font-size-adjust "100%") attrs) exprs)) + (define i em) (define-syntax-rule (attr-list . attrs) 'attrs) @@ -124,7 +128,7 @@ (define new-exprs (add-between (for*/list ([expr (in-list exprs)] [str (in-list (string-split (string-join (get-elements expr) "") "\n"))]) - (list (get-tag expr) (get-attrs expr) (string-replace str " " " "))) + (list (get-tag expr) (get-attrs expr) (string-replace str " " " "))) line-break)) (qexpr (append (list->attrs :display "block" @@ -152,7 +156,7 @@ (add-between (for/list ([(expr idx) (in-indexed exprs)] #:when (txexpr? expr)) - (list* (get-tag expr) (cons (list :list-index (or bullet-val (format "~a" (add1 idx)))) (get-attrs expr)) (get-elements expr))) + (list* (get-tag expr) (cons (list :list-index (or bullet-val (format "~a" (add1 idx)))) (get-attrs expr)) (get-elements expr))) para-break))) (define bullet-quad '(q ((special "bullet"))))