summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2010-06-20 21:52:52 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2010-06-20 21:52:52 +0200
commitbe072b757650fbc9d1508db4f9a30c613cb7ffd1 (patch)
tree8dd145a41e2cf3c60d873956412fee23af49c95c
parentaee15f977a17dad50f3a56fa0411b356c013a3b1 (diff)
downloadgeiser-be072b757650fbc9d1508db4f9a30c613cb7ffd1.tar.gz
geiser-be072b757650fbc9d1508db4f9a30c613cb7ffd1.tar.bz2
Scripts for generating Geiser's website.
-rw-r--r--doc/geiser.css65
-rw-r--r--doc/geiser.texi46
-rw-r--r--doc/install.texi67
-rw-r--r--doc/intro.texi24
-rwxr-xr-xdoc/make-site.sh15
-rw-r--r--doc/site.conf53
6 files changed, 195 insertions, 75 deletions
diff --git a/doc/geiser.css b/doc/geiser.css
new file mode 100644
index 0000000..bdb2c6a
--- /dev/null
+++ b/doc/geiser.css
@@ -0,0 +1,65 @@
+html {
+ padding:0px;margin:0px;
+ background-color:white;
+ color:black;
+ font-family:sans-serif;
+ line-height:160%
+}
+
+body {
+ padding:10px 10% 10px 10%;
+ margin:0px;
+ text-align:justify
+}
+
+a { color:black; weight=normal }
+
+hr { height:0; color:white }
+
+h2 {
+ font-size:120%;
+ text-transform:uppercase
+}
+
+h3 {
+ font-size:100%;
+ text-transform:uppercase
+}
+
+pre.code {
+ display:block;
+ padding:0px;
+ margin-bottom:0px
+}
+
+code {
+ background-color:rgb(250, 250, 250);
+ border:1px solid rgb(200, 200, 200);
+ padding-left:4px;
+ padding-right:4px
+}
+
+pre.example {
+ background-color:rgb(250, 250, 250);
+ border:1px solid rgb(200, 200, 200);
+ padding-left:4px;
+ padding-right:4px;
+}
+
+table { width: 100%; }
+
+img {
+ display:block;
+ margin:10px auto 10px auto;
+ border:none
+}
+
+ul {
+ list-style-type:square;
+ padding-left:1em;
+ margin-left:1em
+}
+
+div.navigation {
+ background-color: #efebe7;
+} \ No newline at end of file
diff --git a/doc/geiser.texi b/doc/geiser.texi
index 3446951..948a5f4 100644
--- a/doc/geiser.texi
+++ b/doc/geiser.texi
@@ -7,7 +7,6 @@
@copying
This manual documents Geiser, an Emacs environment to hack in Scheme.
-@ifnothtml
Copyright @copyright{} 2010 Jose Antonio Ortega Ruiz
@quotation
@@ -22,8 +21,6 @@ Foundation Web site at @url{http://www.gnu.org/licenses/fdl.html}.
The document was typeset with
@uref{http://www.texinfo.org/, GNU Texinfo}.
-
-@end ifnothtml
@end copying
@dircategory Emacs
@@ -45,26 +42,40 @@ The document was typeset with
@ifnottex
@node Top, Introduction, (dir), (dir)
-@top Geiser User Manual
+@top Geiser
+
+Geiser is a collection of Emacs major and minor modes that conspire with
+one or more Scheme interpreters to keep the Lisp Machine Spirit alive.
+It draws inspiration (and a bit more) from environments such as Common
+Lisp's Slime, Factor's FUEL, Squeak or Emacs itself, and does its best
+to make Scheme hacking inside Emacs (even more) fun.
+
+Or, to be precise, what i consider fun. Geiser is thus my humble
+contribution to the dynamic school of expression, and a reaction against
+what i perceive as a derailment, in modern times, of standard Scheme
+towards the static camp. Because i prefer growing and healing to poking
+at corpses, the continuously running Scheme interpreter takes the center
+of the stage in Geiser. A bundle of Elisp shims orchestrates the dialog
+between the Scheme interpreter, Emacs and, ultimately, the schemer,
+giving her access to live metadata.
+@ifnothtml
@insertcopying
+@end ifnothtml
@end ifnottex
-
-@c Generate the nodes for this menu with `C-c C-u C-m'.
-
@menu
* Introduction::
* Installation::
* Quick start::
* Index::
+@ifinfo
@detailmenu
--- The Detailed Node Listing ---
Introduction
-* Manifesto::
* Modus operandi::
* Showing off::
@@ -72,12 +83,26 @@ Installation
* Must needs::
* Friends::
-* On your marks ...::
-* ... set ...::
+* Setting it up::
@end detailmenu
+@end ifinfo
+
@end menu
+@ifhtml
+@html
+<div class="navigation">
+@end html
+@flushright
+@uref{http://savannah.nongnu.org/news/?group=geiser, News}@ @ @ @ @uref{https://savannah.nongnu.org/files/?group=geiser, Download}@ @ @ @ @uref{http://git.savannah.gnu.org/cgit/geiser.git, Source}@ @ @ @ @uref{https://savannah.nongnu.org/bugs/?group=geiser, Bugs}@ @ @ @ @uref{http://lists.nongnu.org/mailman/listinfo/geiser-users, Mailing list}@ @
+@end flushright
+@html
+</div>
+@end html
+@end ifhtml
+
+
@include intro.texi
@include install.texi
@include quick.texi
@@ -86,4 +111,3 @@ Installation
@bye
@c geiser.texinfo ends here
-
diff --git a/doc/install.texi b/doc/install.texi
index 40d53d2..0894654 100644
--- a/doc/install.texi
+++ b/doc/install.texi
@@ -1,11 +1,10 @@
-@node Installation, Quick start, Introduction, Top
+@node Installation
@chapter Installation
@menu
* Must needs::
* Friends::
-* On your marks ...::
-* ... set ...::
+* Setting it up::
@end menu
@node Must needs, Friends, Installation, Installation
@@ -21,7 +20,28 @@ directly compiled from a recent checkout of
branch}. Since Geiser supports multiple REPLs, having both of them will
just add to the fun.
-@node Friends, On your marks ..., Must needs, Installation
+You'll also need Geiser itself. Until version 0.1 is out (which will
+happen shortly after i finish writing a decent manual), your best bet is
+grabbing Geiser from its Git repository over at
+@uref{http://git.savannah.gnu.org/cgit/geiser.git/, Savannah}, either
+with the following incantation:
+@example
+git clone git://git.sv.gnu.org/geiser.git
+@end example
+@noindent or, if you happen to live under a firewall, with the alternative:
+@example
+git clone http://git.sv.gnu.org/r/geiser.git
+@end example
+@noindent
+If you don't want to install Git, you can instead grab a tarball from
+Geiser's @uref{http://gitorious.org/geiser/mainline/commits/master,
+Gitorious mirror}, where you'll find a
+@uref{http://gitorious.org/geiser/mainline/archive-tarball/master, link}
+generating it for you. Either way, you'll now be in possession of a copy
+of Geiser's libre code. I'll follow you into its directory and the next
+section.
+
+@node Friends, Setting it up, Must needs, Installation
@section Friends
Although Geiser does not need them, it plays well with (and is enhanced
@@ -43,35 +63,8 @@ In both cases, you just need to install and setup them as standalone
packages that they are. Geiser will notice their presence and react
accordingly.
-@node On your marks ..., ... set ..., Friends, Installation
-@section On your marks ...
-
-Until version 0.1 is out (which will happen shortly after i finish
-writing a decent manual), your best bet is grabbing Geiser from its
-Git repository over at @uref{http://git.savannah.gnu.org/cgit/geiser.git/,
-Savannah}, either with the following incantation:
-@example
-
-git clone git://git.sv.gnu.org/geiser.git
-
-@end example
-@noindent or, if you happen to live under a firewall, with the alternative:
-@example
-
-git clone http://git.sv.gnu.org/r/geiser.git
-
-@end example
-@noindent
-If you don't want to install Git, you can instead grab a tarball from
-Geiser's @uref{http://gitorious.org/geiser/mainline/commits/master,
-Gitorious mirror}, where you'll find a
-@uref{http://gitorious.org/geiser/mainline/archive-tarball/master, link}
-generating it for you. Either way, you'll now be in possession of a copy
-of Geiser's libre code. I'll follow you into its directory and the next
-section.
-
-@node ... set ..., , On your marks ..., Installation
-@section ... set ...
+@node Setting it up, , Friends, Installation
+@section Setting it up
Geiser is ready to be used out of the box without much more ado. For the
sake of concreteness, let's assume you put its source in the directory
@@ -79,9 +72,7 @@ sake of concreteness, let's assume you put its source in the directory
line to your Emacs initialisation file (be it @file{~/.emacs} or any of
its moral equivalents):
@example
-
(load-file "~/lisp/geiser/geiser.el")
-
@end example
@noindent
or simply evaluate that form inside Emacs (you wouldn't kill a friend
@@ -95,21 +86,17 @@ compile and install Geiser too. That is, you enter the source directory
and (since we grabbed the development tree) run the customary
@i{autogen} script:
@example
-
$ cd ~/lib/geiser
$ ./autogen.sh
-
@end example
@noindent I recommend that you compile Geiser is a separate directory:
@example
-
$ mkdir build && cd build
$ ../configure
<some drivel here>
$ make all
<more of the above>
$ sudo make install
-
@end example
@noindent
With the above spell, Geiser will be compiled and installed in a safe
@@ -117,9 +104,7 @@ place inside Emacs load path. To load it into Emacs you'll need,
@i{instead} of the @code{load-file} form above, the following line in
your initialisation file:
@example
-
(require 'geiser-install)
-
@end example
@noindent
Please note that we're requiring @code{geiser-install}, and @i{not}
diff --git a/doc/intro.texi b/doc/intro.texi
index f610525..364421d 100644
--- a/doc/intro.texi
+++ b/doc/intro.texi
@@ -6,33 +6,11 @@ enough for you, see @ref{Installation} to get it running and
@ref{Quick start} for the fun part.
@menu
-* Manifesto::
* Modus operandi::
* Showing off::
@end menu
-@node Manifesto, Modus operandi, Introduction, Introduction
-@section Manifesto
-
-Geiser is a collection of Emacs major and minor modes that conspire with
-one or more Scheme interpreters to keep the Lisp Machine Spirit alive.
-It draws inspiration (and a bit more) from environments such as Common
-Lisp's Slime, Factor's FUEL, Squeak or Emacs itself, and does its best
-to make Scheme hacking inside Emacs (even more) fun. Or, to be precise,
-what i consider fun. Geiser is thus my humble contribution to the
-dynamic school of expression, and a reaction against what i perceive as
-a derailment, in modern times, of standard Scheme towards the static
-camp. Because i prefer growing and healing to poking at corpses, the
-continuously running Scheme interpreter takes the center of the stage in
-Geiser. A bundle of Elisp shims orchestrates the dialog between the
-Scheme interpreter, Emacs and, ultimately, the programmer (that means,
-hopefully, you). It asks the live image for metadata in real time,
-providing access to them using, as much as possible, standard Emacs
-idioms.
-
-That's the dreal.
-
-@node Modus operandi, Showing off, Manifesto, Introduction
+@node Modus operandi, Showing off, Introduction, Introduction
@section Modus operandi
As already mentioned, Geiser relies on a running Scheme process to
diff --git a/doc/make-site.sh b/doc/make-site.sh
new file mode 100755
index 0000000..63a3503
--- /dev/null
+++ b/doc/make-site.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+out=html
+
+rm ./${out}/*.html
+
+texi2html --output=${out} \
+ --split=chapter \
+ --noheader \
+ --nonumber-section \
+ --init-file=./site.conf \
+ --top-file=index.html \
+ geiser.texi
+
+cp geiser.css ${out}
diff --git a/doc/site.conf b/doc/site.conf
new file mode 100644
index 0000000..6d3be76
--- /dev/null
+++ b/doc/site.conf
@@ -0,0 +1,53 @@
+# -*- perl -*-
+
+$DO_CONTENTS = 0;
+$DO_SCONTENTS = 0;
+
+@MISC_BUTTONS = ();
+@CHAPTER_BUTTONS = ('FastBack', 'FastForward', 'Top');
+
+$USER = 'jao';
+$DATE = '';
+
+$CSS_LINES = '<link rel="stylesheet" type="text/css" href="./geiser.css">';
+
+$print_page_foot = \&page_foot;
+$print_chapter_footer = \&chap_footer;
+$print_chapter_header = \&chap_header;
+
+sub page_foot($) {
+ my $h = shift;
+ print $h "</body>";
+}
+
+sub button_link {
+ my $label = shift;
+ my $txt = shift;
+ my $trail = shift;
+ &$anchor('', $Texi2HTML::HREF{$label}, $txt) . ($trail || '&nbsp;&nbsp;')
+}
+
+$jao_navigation_links = '';
+
+sub chap_header {
+ my $fh = shift;
+ $jao_navigation_links = nav_links();
+ # print $fh $jao_navigation_links;
+ print $fh "<hr>";
+}
+
+sub chap_footer {
+ my $fh = shift;
+ # print $fh "<hr>";
+ print $fh $jao_navigation_links;
+}
+
+sub nav_links {
+ '<div class="navigation"><table border="0"><tr><td align="left">'
+ . button_link('Top', 'Geiser', '</td><td align="right">')
+ . button_link('FastBack', '<')
+ . button_link('FastForward', '>', '</td></tr></table></div>');
+}
+
+1;
+