From 0bb5e3088f344cac42483dbec3b5beb5dee26b4a Mon Sep 17 00:00:00 2001 From: "Mirar (Pontus Hagland)" <pike@sort.mirar.org> Date: Wed, 29 Oct 1997 03:57:06 +0100 Subject: [PATCH] illustration source page Rev: src/modules/Image/illustration.pike:1.2 Rev: src/modules/Image/mkdoc.pike:1.12 --- src/modules/Image/illustration.pike | 26 +++++++++++++++++++++----- src/modules/Image/mkdoc.pike | 12 ++++++++++-- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/src/modules/Image/illustration.pike b/src/modules/Image/illustration.pike index f0c3d2e694..6ff598e3a4 100644 --- a/src/modules/Image/illustration.pike +++ b/src/modules/Image/illustration.pike @@ -1,4 +1,4 @@ -/* $Id: illustration.pike,v 1.1 1997/05/29 22:51:19 mirar Exp $ */ +/* $Id: illustration.pike,v 1.2 1997/10/29 02:57:04 mirar Exp $ */ import Image; import Stdio; @@ -15,13 +15,29 @@ object foo() ***the string*** } -string doit(string name) +string doit(string name,mapping has,object f,string src) { + rm("doc/"+name); // clean up + object o=foo(); - if (o->toppm()==lena()->toppm()) + string s=o->toppm(); + + if (s==lena()->toppm()) return "<img src=lena.gif width=67 height=67>"; + + if (has[s]) return has[s]; - rm("doc/"+name); write_file("doc/"+name,o->togif()); - return "<img src="+name+" width="+o->xsize()+" height="+o->ysize()+">"; + + f->write( + "<a name="+name+">" + "<img border=0 src="+name+" width="+o->xsize()+" height="+o->ysize()+" align=right>" + "<pre>"+src+"</pre>" + "</a><br clear=all><hr>" + ); + + return has[s]= + "<a href=illustrations.html#"+name+">" + "<img border=0 src="+name+" width="+o->xsize()+" height="+o->ysize()+">" + "</a>"; } diff --git a/src/modules/Image/mkdoc.pike b/src/modules/Image/mkdoc.pike index ed3a2f20b3..3583acc877 100644 --- a/src/modules/Image/mkdoc.pike +++ b/src/modules/Image/mkdoc.pike @@ -1,10 +1,11 @@ -/* $Id: mkdoc.pike,v 1.11 1997/10/27 22:40:34 mirar Exp $ */ +/* $Id: mkdoc.pike,v 1.12 1997/10/29 02:57:06 mirar Exp $ */ import Stdio; import Array; mapping parse=([]); int illustration_counter; +object illustration_source; string illustration_code=read_bytes("illustration.pike"); object lena_image=Image.image()->fromppm(read_file("doc/lena.ppm")); @@ -190,6 +191,8 @@ object(File) make_file(string filename) return f; } +mapping ills=([]); + string fixdesc(string s,string prefix) { s=stripws(s); @@ -208,10 +211,12 @@ string fixdesc(string s,string prefix) while (sscanf(t,"%s<illustration>%s</illustration>%s",t,u,v)==3) { s+=t; + array err=catch { object x=compile_string(replace(illustration_code,"***the string***",u))(); x->lena_image=lena_image; - u=x->doit("illustration_"+illustration_counter+++".gif"); + u=x->doit("illustration_"+illustration_counter+++".gif", + ills,illustration_source,u); }; if (err) { @@ -475,6 +480,9 @@ void make_doc_files(string dir) { stdout->write("modules: "+sort(indices(parse))*", "+"\n"); + illustration_source=File(); + illustration_source->open(dir+"illustrations.html","wct"); + string module; foreach (sort(indices(parse)),module) -- GitLab