summary refs log tree commit diff
path: root/doc/skr
diff options
context:
space:
mode:
authorLudovic Courtes2006-01-31 23:23:15 +0000
committerLudovic Courtes2006-01-31 23:23:15 +0000
commit09039355539a79187669b688ff6a03c8a74e2099 (patch)
tree2ebc062ab5556609394a350880fb7ee5c69e0642 /doc/skr
parent66e42310c0d6518abb39d52553286b5253bba6fd (diff)
downloadskribilo-09039355539a79187669b688ff6a03c8a74e2099.tar.gz
skribilo-09039355539a79187669b688ff6a03c8a74e2099.tar.lz
skribilo-09039355539a79187669b688ff6a03c8a74e2099.zip
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
Diffstat (limited to 'doc/skr')
-rw-r--r--doc/skr/api.skr34
-rw-r--r--doc/skr/manual.skr8
2 files changed, 26 insertions, 16 deletions
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))))