From 25a39cf39fa1b29636111d03ba35cd4862fcba8d Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Sun, 20 Jun 2010 21:52:52 +0200 Subject: Scripts for generating Geiser's website. --- doc/geiser.css | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ doc/geiser.texi | 46 ++++++++++++++++++++++++++++---------- doc/install.texi | 67 ++++++++++++++++++++++---------------------------------- doc/intro.texi | 24 +------------------- doc/make-site.sh | 15 +++++++++++++ doc/site.conf | 53 ++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 195 insertions(+), 75 deletions(-) create mode 100644 doc/geiser.css create mode 100755 doc/make-site.sh create mode 100644 doc/site.conf 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 + +@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 $ make all $ 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 = ''; + +$print_page_foot = \&page_foot; +$print_chapter_footer = \&chap_footer; +$print_chapter_header = \&chap_header; + +sub page_foot($) { + my $h = shift; + print $h ""; +} + +sub button_link { + my $label = shift; + my $txt = shift; + my $trail = shift; + &$anchor('', $Texi2HTML::HREF{$label}, $txt) . ($trail || '  ') +} + +$jao_navigation_links = ''; + +sub chap_header { + my $fh = shift; + $jao_navigation_links = nav_links(); + # print $fh $jao_navigation_links; + print $fh "
"; +} + +sub chap_footer { + my $fh = shift; + # print $fh "
"; + print $fh $jao_navigation_links; +} + +sub nav_links { + ''); +} + +1; + -- cgit v1.2.3