summary refs log tree commit diff
path: root/web
diff options
context:
space:
mode:
authorLudovic Courtès2012-05-29 23:42:21 +0200
committerLudovic Courtès2012-05-29 23:43:11 +0200
commit85ffa82b6c829cd3bf9488b71d9ef4fc513e2933 (patch)
tree4e04aeae819913f487ae46390618654d32758a9a /web
parentb406c6a797aa317f5d475d97d40052f34a399a4a (diff)
downloadskribilo-85ffa82b6c829cd3bf9488b71d9ef4fc513e2933.tar.gz
skribilo-85ffa82b6c829cd3bf9488b71d9ef4fc513e2933.tar.lz
skribilo-85ffa82b6c829cd3bf9488b71d9ef4fc513e2933.zip
web: Update.
* web/index.skb: Untabify, whitespace-cleanup.
  Mention EDSLs and "deep embedding".
  (Features): Add Unicode support.
Diffstat (limited to 'web')
-rw-r--r--web/index.skb46
1 files changed, 25 insertions, 21 deletions
diff --git a/web/index.skb b/web/index.skb
index 698fe16..277acd9 100644
--- a/web/index.skb
+++ b/web/index.skb
@@ -3,9 +3,9 @@
 ;;;
 
 (use-modules (skribilo ast)
-	     (skribilo engine)
-	     (skribilo source lisp)
-	     (skribilo package html-navtabs))
+             (skribilo engine)
+             (skribilo source lisp)
+             (skribilo package html-navtabs))
 
 (define (html-tabs n e)
   ;; Create one "navigation tab" for each chapter.
@@ -20,7 +20,7 @@
   (if (engine? html)
       (begin
         ;; Customizing the HTML output...
-	(engine-custom-set! html 'css "skribilo.css")
+        (engine-custom-set! html 'css "skribilo.css")
         (engine-custom-set! html 'html-navtabs-produce-css? #f)
         (engine-custom-set! html 'html-navtabs html-tabs)
         (engine-custom-set! html 'charset "UTF-8"))))
@@ -54,7 +54,7 @@
 
 (define (latex . body)
   (ref :url "http://www.latex-project.org/" :text body))
-  
+
 (define (context . body)
   (ref :url "http://www.pragma-ade.nl/" :text body))
 
@@ -95,7 +95,7 @@
 
 (define (stklos . body)
   (ref :url "http://www.stklos.org/" :text body))
-  
+
 (define %user-sui
   ;; Location of the User Manual's SUI file.
   "doc/user.sui")
@@ -130,8 +130,12 @@ text.])
    (p [Last but not least, Skribilo can be thought of as a complete
 ,(emph [document programming framework]) for the ,(scheme [Scheme
 programming language]) that may be used to automate a variety of
-document generation tasks.  Skribilo uses ,(guile [GNU Guile]) 1.8 or 2.0 as
-the underlying Scheme implementation.])
+document generation tasks.  Technically, the Skribilo language/API is an
+embedded domain-specific language (EDSL), implemented ,(it [via])
+so-called ,(ref :url
+"http://www.haskell.org/haskellwiki/Embedded_domain_specific_language#Degree_of_embedding"
+:text [“deep embedding”]).  Skribilo uses ,(guile [GNU Guile]) 1.8 or
+2.0 as the underlying Scheme implementation.])
 
 
    (chapter :title [Features] :number #f :file #f
@@ -154,6 +158,7 @@ computer programs]), and others.])
          (item [,(ref :skribe %user-sui :chapter "Bibliographies" :text
 [Bibliography management])—i.e., BibTeX on steroids thanks to the
 programmability brought by ,(scheme [Scheme]).])
+         (item [Unicode support (when using Guile 2.0).])
          (item [Use of a proper module system (that of ,(guile
 [Guile])) rather than ,(tt [load])-style interactions.])
          (item [And much more!  :-)])))
@@ -193,8 +198,8 @@ colored using Skribilo's computer program coloring features.])
 
       (mark "self")
       (tt (prog
-	     (source :language skribe
-		:file "index.skb"))))
+             (source :language skribe
+                :file "index.skb"))))
 
    (chapter :title [Mailing List] :number #f :file #f
       :ident "mailing-list"
@@ -215,11 +220,11 @@ repository using the following incantation:
 
 You can then happily hack on your side and eventually promote your
 changes ,(ref :ident "mailing-list" :text [on the mailing-list]).])
-      
+
       (p [The repository can also be ,(ref :url
 "http://git.sv.gnu.org/gitweb/?p=skribilo.git;a=summary" :text
 [browsed on-line]).])
-      
+
       (p [A tentative list of milestones and to-do items is in the ,(ref
 :url "http://git.sv.gnu.org/gitweb/?p=skribilo.git;a=blob;f=TODO" :text
 [,(tt [TODO]) file]).]))
@@ -271,7 +276,7 @@ entitled ,(ref :url
 "http://www-sop.inria.fr/mimosa/Manuel.Serrano/publi/jfp05/article.html"
 :text (it [Skribe: A Functional Authoring Language])) provides further
 insight.])
-	  (item [,(ref :url
+          (item [,(ref :url
 "http://docs.racket-lang.org/scribble/index.html" :text [Scribble]), the
 documentation system of Racket, is similar in spirit to Skribilo/Skribe.
 It has ,(ref :url
@@ -298,12 +303,12 @@ programming language).])
 ,(ref :text [implementation strategies for a purely functional SXML
 tree] :url "http://okmij.org/ftp/Scheme/parent-pointers.txt") is a good
 source of inspiration.])
-	  (item [,(ref :url
-	  "http://www.ccs.neu.edu/home/dorai/mistie/mistie.html" :text
+          (item [,(ref :url
+          "http://www.ccs.neu.edu/home/dorai/mistie/mistie.html" :text
 [Mistie]), a “programmable filter” in Scheme (for MzScheme) that
 allows the definition of filters from one markup language to another
 one.])
-	  (item [,(ref :url "http://www.it.usyd.edu.au/~jeff/nonpareil/"
+          (item [,(ref :url "http://www.it.usyd.edu.au/~jeff/nonpareil/"
 :text [Nonpareil]), Jeff Kingston's much anticipated successor to ,(lout
 [Lout]), both being purely functional document formatting
 systems/languages.  Although Nonpareil is more ambitious than Skribilo,
@@ -317,7 +322,7 @@ equivalent in Skribilo since Skribilo doesn't address text layout by
 itself).  It also includes interesting discussions about text selection
 and document traversal (Nonpareil's ,(it [doc]) objects have no parent
 pointers, unlike Skribilo's ,(tt [<ast>])).])
-	  (item [Good ol' ,(ref :url
+          (item [Good ol' ,(ref :url
 "http://www.gnu.org/software/texinfo/" :text [GNU Texinfo]) abstracts
 the various kinds of back-ends very well (in particular its
 cross-reference-related commands).])
@@ -335,9 +340,9 @@ derivative of ,(ref :url "http://docbook.org/" :text [Docbook]).])
 "http://www.t3x.org/attic/index.html#sd" :text [SD]), ,(ref :url
 "http://triptico.com/software/grutatxt.html" :text [Grutatxt]), and many
 others.])))
-	
+
    (chapter :title [The Name] :number #f :file #f
-      
+
       (p [Skribilo is an ,(wikipedia/esperanto [Esperanto]) noun, which
 literally means ,(ref :url
 "http://www.reta-vortaro.de/revo/art/skrib.html#skrib.0ilo" :text [“a
@@ -353,6 +358,5 @@ Skribilo is based on, is an adverb meaning “writing” in
 ;;; Local Variables:
 ;;; coding: utf-8
 ;;; ispell-local-dictionary: "american"
+;;; indent-tabs-mode: nil
 ;;; End:
-
-;;; arch-tag: fd51e0ce-d99f-4b70-8b92-9afbcfcf8855