aboutsummaryrefslogtreecommitdiff
path: root/skribe/doc/user/src/bib5.skb
diff options
context:
space:
mode:
Diffstat (limited to 'skribe/doc/user/src/bib5.skb')
-rw-r--r--skribe/doc/user/src/bib5.skb24
1 files changed, 24 insertions, 0 deletions
diff --git a/skribe/doc/user/src/bib5.skb b/skribe/doc/user/src/bib5.skb
new file mode 100644
index 0000000..a0ee361
--- /dev/null
+++ b/skribe/doc/user/src/bib5.skb
@@ -0,0 +1,24 @@
+(center
+ (frame :border 1 :margin 2 :width 90.
+ (processor :engine
+ (make-engine '_ :filter string-upcase)
+ :combinator
+ (lambda (e1 e2)
+ (let ((e (copy-engine '_ e2)))
+ (markup-writer '&bib-entry-ident e
+ :action
+ (lambda (n e)
+ (let* ((be (ast-parent n))
+ (o (markup-option be 'author))
+ (y (markup-option be 'year)))
+ (output (markup-body o) e1)
+ (display ":")
+ (output (markup-body y) e))))
+ (markup-writer '&bib-entry-title e
+ :action
+ (lambda (n e)
+ (skribe-eval (it (markup-body n)) e)))
+ e))
+ (the-bibliography :pred
+ (lambda (m n)
+ (eq? (markup-option m 'kind) 'book))))))