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 --- src/guile/skribilo.scm | 4 +++- src/guile/skribilo/ast.scm | 2 +- src/guile/skribilo/engine/base.scm | 8 ++++++-- src/guile/skribilo/engine/html.scm | 6 +++--- src/guile/skribilo/engine/lout.scm | 2 +- src/guile/skribilo/evaluator.scm | 3 ++- src/guile/skribilo/package/slide.scm | 4 +++- src/guile/skribilo/skribe/api.scm | 4 +++- 8 files changed, 22 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/guile/skribilo.scm b/src/guile/skribilo.scm index 285a92d..f683080 100644 --- a/src/guile/skribilo.scm +++ b/src/guile/skribilo.scm @@ -92,7 +92,7 @@ specifications." (skribe-bib-path-set! (cons path (skribe-bib-path)))) (("source-path" :alternate "S" :arg path :help "adds to source path") (skribe-source-path-set! (cons path (skribe-source-path)))) - (("P" :arg path :help "adds to image path") + (("image-path" :alternate "P" :arg path :help "adds to image path") (skribe-image-path-set! (cons path (skribe-image-path)))) (("split-chapters" :alternate "C" :arg chapter :help "emit chapter's sections in separate files") @@ -396,6 +396,7 @@ Processes a Skribilo/Skribe source file and produces its output. (load-path (option-ref options 'load-path ".")) (bib-path (option-ref options 'bib-path ".")) (source-path (option-ref options 'source-path ".")) + (image-path (option-ref options 'image-path ".")) (preload '()) (variants '()) @@ -426,6 +427,7 @@ Processes a Skribilo/Skribe source file and produces its output. (*source-path* (cons source-path (append %load-path (*source-path*)))) + (*image-path* (cons image-path (*image-path*))) (*warning* (string->number warning-level)) (*verbose* (let ((v (option-ref options 'verbose 0))) diff --git a/src/guile/skribilo/ast.scm b/src/guile/skribilo/ast.scm index ab56442..ff61ff7 100644 --- a/src/guile/skribilo/ast.scm +++ b/src/guile/skribilo/ast.scm @@ -24,7 +24,7 @@ :autoload (skribilo location) (location?) :use-module (skribilo utils syntax) :export ( ast? ast-loc ast-loc-set! - ast-parent ast->string + ast-parent ast->string ast->file-location command? command-fmt command-body unresolved? unresolved-proc diff --git a/src/guile/skribilo/engine/base.scm b/src/guile/skribilo/engine/base.scm index ed15da4..1d04e1d 100644 --- a/src/guile/skribilo/engine/base.scm +++ b/src/guile/skribilo/engine/base.scm @@ -418,14 +418,18 @@ (t (cond ((null? ie) "") + ;; 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. ((or (not (integer? nc)) (= nc 1)) (table :width 100. - :&skribe-eval-location loc + ;;:&skribe-eval-location loc :class "index-table" (make-column ie pref))) (else (table :width 100. - :&skribe-eval-location loc + ;;:&skribe-eval-location loc :class "index-table" (make-sub-tables ie nc pref)))))) (output (skribe-eval t e) e)))) diff --git a/src/guile/skribilo/engine/html.scm b/src/guile/skribilo/engine/html.scm index 5165258..1ad86e9 100644 --- a/src/guile/skribilo/engine/html.scm +++ b/src/guile/skribilo/engine/html.scm @@ -531,7 +531,7 @@ ;*---------------------------------------------------------------------*/ ;* html-width ... */ ;*---------------------------------------------------------------------*/ -(define (html-width width) +(define-public (html-width width) (cond ((and (integer? width) (exact? width)) (format #f "~A" width)) @@ -545,7 +545,7 @@ ;*---------------------------------------------------------------------*/ ;* html-class ... */ ;*---------------------------------------------------------------------*/ -(define (html-class m) +(define-public (html-class m) (if (markup? m) (let ((c (markup-class m))) (if (or (string? c) (symbol? c) (number? c)) @@ -926,7 +926,7 @@ ;*---------------------------------------------------------------------*/ ;* html-title-authors ... */ ;*---------------------------------------------------------------------*/ -(define (html-title-authors authors e) +(define-public (html-title-authors authors e) (define (html-authorsN authors cols first) (define (make-row authors . opt) (tr (map (lambda (v) diff --git a/src/guile/skribilo/engine/lout.scm b/src/guile/skribilo/engine/lout.scm index d01b547..c2339ca 100644 --- a/src/guile/skribilo/engine/lout.scm +++ b/src/guile/skribilo/engine/lout.scm @@ -876,7 +876,7 @@ ;* lout-width ... */ ;*---------------------------------------------------------------------*/ (define (lout-width width) - (cond ((flonum? width) ;; a relative size + (cond ((inexact? width) ;; a relative size (XXX: was `flonum?') ;; FIXME: Hack ahead: assuming A4 with a 2.5cm margin ;; on both sides (let* ((orientation (let ((lout (find-engine 'lout))) diff --git a/src/guile/skribilo/evaluator.scm b/src/guile/skribilo/evaluator.scm index df5e6a7..b47f821 100644 --- a/src/guile/skribilo/evaluator.scm +++ b/src/guile/skribilo/evaluator.scm @@ -118,7 +118,8 @@ ;; List of the names of files already loaded. (define *loaded-files* (make-parameter '())) -(define* (load-document file :key (engine #f) (path #f) :rest opt) +(define* (load-document file :key (engine #f) (path #f) :allow-other-keys + :rest opt) (with-debug 4 'skribe-load (debug-item " engine=" engine) (debug-item " path=" path) diff --git a/src/guile/skribilo/package/slide.scm b/src/guile/skribilo/package/slide.scm index f5f0011..ddbbd1d 100644 --- a/src/guile/skribilo/package/slide.scm +++ b/src/guile/skribilo/package/slide.scm @@ -9,7 +9,9 @@ ;* Skribe style for slides */ ;*=====================================================================*/ -(define-skribe-module (skribilo package slide)) +(define-skribe-module (skribilo package slide) + :autoload (skribilo engine html) (html-width html-title-authors)) + ;*---------------------------------------------------------------------*/ ;* slide-options */ diff --git a/src/guile/skribilo/skribe/api.scm b/src/guile/skribilo/skribe/api.scm index c9606a0..2cd8b2e 100644 --- a/src/guile/skribilo/skribe/api.scm +++ b/src/guile/skribilo/skribe/api.scm @@ -102,7 +102,8 @@ opts #!key (ident #f) (class "toc") - (chapter #t) (section #t) (subsection #f)) + (chapter #t) (section #t) (subsection #f) + (subsubsection #f)) (let ((body (the-body opts))) (new container (markup 'toc) @@ -112,6 +113,7 @@ (options `((:chapter ,chapter) (:section ,section) (:subsection ,subsection) + (:subsubsection ,subsubsection) ,@(the-options opts :ident :class))) (body (cond ((null? body) -- cgit v1.2.3