summary refs log tree commit diff
path: root/src/guile/skribilo/package/slide/html.scm
diff options
context:
space:
mode:
authorLudovic Court`es2006-08-24 12:55:28 +0000
committerLudovic Court`es2006-08-24 12:55:28 +0000
commitecafbbd1d3a76cbc36ac94fc84f34e6f76f08cfc (patch)
tree02074c5b50920b5d5f5ce1428723c34036c022bb /src/guile/skribilo/package/slide/html.scm
parent64dbed32dc9791a1ed02214b9df5cc2d10709ee9 (diff)
downloadskribilo-ecafbbd1d3a76cbc36ac94fc84f34e6f76f08cfc.tar.gz
skribilo-ecafbbd1d3a76cbc36ac94fc84f34e6f76f08cfc.tar.lz
skribilo-ecafbbd1d3a76cbc36ac94fc84f34e6f76f08cfc.zip
slide: Implemented `slide-topic' and `slide-subtopic'.
* src/guile/skribilo/package/slide.scm: Don't autoload `(skribilo engine
  html)'.  Moved `when-engine-is-loaded' clauses to the bottom.  Move
  base-engine writers to `slide/base.scm'.
  (slide-topic): New markup.
  (slide-subtopic): New markup.

* src/guile/skribilo/package/slide/Makefile.am (dist_guilemodule_DATA):
  Added `base.scm'.

* src/guile/skribilo/package/slide/html.scm (slide-topic): New writer.

* src/guile/skribilo/package/slide/lout.scm: Added topic/subtopic-related
  customs.

* src/guile/skribilo/package/slide/base.scm: New file.

This list might be incomplete or outdated if editing the log
message was not invoked from an up-to-date changes buffer!

git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-43
Diffstat (limited to 'src/guile/skribilo/package/slide/html.scm')
-rw-r--r--src/guile/skribilo/package/slide/html.scm28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/guile/skribilo/package/slide/html.scm b/src/guile/skribilo/package/slide/html.scm
index 58348df..ef2642b 100644
--- a/src/guile/skribilo/package/slide/html.scm
+++ b/src/guile/skribilo/package/slide/html.scm
@@ -106,6 +106,34 @@
 
 
 ;;;
+;;; Slide topics/subtopics.
+;;;
+
+(markup-writer 'slide-topic (find-engine 'html)
+   :action (lambda (n e)
+	      (let ((title (markup-option n :title))
+		    (body (markup-body n)))
+		 (display "\n<h2 class=\"slide-topic:title\">")
+		 (if (markup-ident n)
+		     (printf "<a name=\"~a\"></a>" (markup-ident n)))
+		 (output title e)
+		 (display "</h2> <br>\n")
+		 (display "\n<div class=\"slide-topic:slide-list\">")
+		 (for-each (lambda (s)
+			      (output (markup-option s :title) e)
+			      (display "&nbsp;--&nbsp;"))
+			   (filter (lambda (n)
+				      (or (is-markup? n 'slide-subtopic)
+					  (is-markup? n 'slide)))
+				   (markup-body n)))
+		 (display "\n</div> <!-- slide-topic:slide-list -->")
+		 (display "\n<hr><br>\n")
+
+		 ;; the slides
+		 (output (markup-body n) e))))
+
+
+;;;
 ;;; Initialization.
 ;;;