summaryrefslogtreecommitdiff
path: root/src/guile
diff options
context:
space:
mode:
authorLudovic Courtes2006-01-31 23:25:42 +0000
committerLudovic Courtes2006-01-31 23:25:42 +0000
commitb3a4dbb047b56a9ba0a332b6e1e7525491f3c85d (patch)
tree2ebc062ab5556609394a350880fb7ee5c69e0642 /src/guile
parent444d8476c6a3f913ba60cc41c56fb0eeec0d8a2e (diff)
parent09039355539a79187669b688ff6a03c8a74e2099 (diff)
downloadskribilo-b3a4dbb047b56a9ba0a332b6e1e7525491f3c85d.tar.gz
skribilo-b3a4dbb047b56a9ba0a332b6e1e7525491f3c85d.tar.lz
skribilo-b3a4dbb047b56a9ba0a332b6e1e7525491f3c85d.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--2004-libre/skribilo--devel--1.2--patch-38
Diffstat (limited to 'src/guile')
-rw-r--r--src/guile/skribilo.scm4
-rw-r--r--src/guile/skribilo/ast.scm2
-rw-r--r--src/guile/skribilo/engine/base.scm8
-rw-r--r--src/guile/skribilo/engine/html.scm6
-rw-r--r--src/guile/skribilo/engine/lout.scm2
-rw-r--r--src/guile/skribilo/evaluator.scm3
-rw-r--r--src/guile/skribilo/package/slide.scm4
-rw-r--r--src/guile/skribilo/skribe/api.scm4
8 files changed, 22 insertions, 11 deletions
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 <path> to source path")
(skribe-source-path-set! (cons path (skribe-source-path))))
- (("P" :arg path :help "adds <path> to image path")
+ (("image-path" :alternate "P" :arg path :help "adds <path> 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? ast-loc ast-loc-set!
- ast-parent ast->string
+ ast-parent ast->string ast->file-location
<command> command? command-fmt command-body
<unresolved> 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)