From 09039355539a79187669b688ff6a03c8a74e2099 Mon Sep 17 00:00:00 2001 From: Ludovic Courtes Date: Tue, 31 Jan 2006 23:23:15 +0000 Subject: First time the user manual is compiled to HTML. * doc/skr/api.skr (make-engine?): Fixed. (make-engine-custom): Likewise. * doc/skr/manual.skr (the-index): Don't pass `:&skribe-eval-location'. * doc/user/emacs.skb: Fixed typo. * doc/user/htmle.skb: Documented the `file-name-proc' custom. * doc/user/package.skb: Fixed the `prgm' example there. * doc/user/skribe-config.skb: Commented out the `OPTIONS' section. * doc/user/skribec.skb: Likewise. * doc/user/slide.skb: Don't refer to HTML-ENGINE, use `find-engine' instead. * doc/user/src/slides.skb: Don't pass `:slide' to `toc'. * doc/user/toc.skb: Commented the `:subsubsection' argument. * doc/user/user.skb (Index): Set `:indent' to "Index". * src/guile/skribilo.scm (skribilo-options): Added `--image-path'. (skribilo): Handle it. * src/guile/skribilo/ast.scm (ast->file-location): Exported. * src/guile/skribilo/engine/base.scm (the-index): Don't pass `:&skribe-eval-location'. * src/guile/skribilo/engine/html.scm: Export `html-width' and `html-title-authors'. * src/guile/skribilo/engine/lout.scm (lout-width): Don't use `flonum?'. * src/guile/skribilo/evaluator.scm (load-document): Added `:allow-other-keys' so that the optional parameters may contain keywords, too. * src/guile/skribilo/package/slide.scm: Use `(skribilo engine html)'. * src/guile/skribilo/skribe/api.scm (toc): Added `subsubsection'. git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-31 --- doc/skr/api.skr | 34 ++++++++++++++++++++-------------- doc/skr/manual.skr | 8 ++++++-- 2 files changed, 26 insertions(+), 16 deletions(-) (limited to 'doc/skr') diff --git a/doc/skr/api.skr b/doc/skr/api.skr index 00c6a38..a86e745 100644 --- a/doc/skr/api.skr +++ b/doc/skr/api.skr @@ -121,16 +121,21 @@ ;* make-engine? ... */ ;*---------------------------------------------------------------------*/ (define (make-engine? id o) + ;(format #t "make-engine? ~a ~a~%" id o) (match o - (((or 'make-engine 'copy-engine) - (quote (? (lambda (x) (eq? x id)))) _) - o) - ((`_) - #f) - ((_) - #f) - ((a d) - (or (make-engine? id a) (make-engine? id d))) + (((or 'make-engine 'copy-engine) ('quote sym) . rest) + (if (eq? sym id) + o + #f)) + ((exp ___) + (let loop ((exp exp)) + (cond ((null? exp) + #f) + ((pair? exp) + (or (make-engine? id (car exp)) + (make-engine? id (cdr exp)))) + (else + (make-engine? id exp))))) (else #f))) @@ -138,13 +143,14 @@ ;* make-engine-custom ... */ ;*---------------------------------------------------------------------*/ (define (make-engine-custom def) - (match (memq :custom def) - ((:custom `custom _) + (let ((customs (memq :custom def))) + (match (if customs (cdr customs) #f) + ((((or 'quote 'quasiquote) custom) _ ___) custom) - ((:custom custom _) - (eval custom)) + (((custom) _ ___) + (primitive-eval custom)) (else - '()))) + '())))) (define (sym/kw? x) (or (symbol? x) (keyword? x))) diff --git a/doc/skr/manual.skr b/doc/skr/manual.skr index 30b2fcd..e6b7d64 100644 --- a/doc/skr/manual.skr +++ b/doc/skr/manual.skr @@ -248,14 +248,18 @@ (nc (markup-option n :column)) (pref (eq? (engine-custom e 'index-page-ref) #t)) (loc (ast-loc n)) + ;; FIXME: Since we don't support + ;; `:&skribe-eval-location', we could set up a + ;; `parameterize' thing around `skribe-eval' to provide + ;; it with the right location information. (t (cond ((null? ie) "") ((or (not (integer? nc)) (= nc 1)) - (table :width 100. :&skribe-eval-location loc + (table :width 100. ;;:&skribe-eval-location loc (make-column ie pref))) (else - (table :width 100. :&skribe-eval-location loc + (table :width 100. ;;:&skribe-eval-location loc (make-sub-tables ie nc pref)))))) (output (skribe-eval t e) e)))) -- cgit v1.2.3