add test plugin
Some checks are pending
CI / Build on Racket 'stable' (BC) (push) Waiting to run
CI / Build on Racket 'stable' (CS) (push) Waiting to run
CI / Build on Racket 'current' (BC) (push) Waiting to run
CI / Build on Racket 'current' (CS) (push) Waiting to run

This commit is contained in:
Tan, Kian-ting 2025-10-07 02:41:00 +08:00
parent 1b43574c01
commit fc27aeb9c8

View file

@ -4,6 +4,7 @@
(define main-config (make-hash
'(["paper-width". 2480]
["paper-height". 3508]
["lang" . #f]
["font-family" . "FreeSerif"]
["font-family-CJK" . "Noto Sans CJK TC"]
["font-size" . 14]
@ -25,7 +26,12 @@
(dict-set! main-config attr val))
(define (main-text txt)
(dict-set! main-frame "content" txt))
(begin
(dict-set! main-frame "content" txt)
(for/list ([p plugin-list])
[if (memq (dict-ref p "lang") (dict-ref main-config "lang"))
[let ([tmp ((dict-ref p "body") (dict-ref main-frame "content"))])
(dict-set! main-frame "content" tmp)] #f])))
(define-syntax text-series
(syntax-rules ()
@ -33,10 +39,24 @@
; delete the beginning newline
(if (eq? (caar `(x ...)) "\n")
`('text ,(cdar `(x ...)))
`('text ,(caar `(x ...)) ,(cdar `(x ...)))))]))
`('text ,(caar `(x ...)) ,(cdar `(x ...))))]))
(define plugin-list '())
(define plugin-test (make-hash `(["lang" . "zh"]
["body" . ,(lambda (x) "result:foo")])))
(set! plugin-list (reverse (cons plugin-test (reverse plugin-list))))
(provide text-series main-text main-frame main-config set-main-config set!
(all-from-out racket/base) (all-from-out racket/dict)
#%module-begin #%app #%datum #%expression #%top)
)