From 31bdecd73f710d65cc7e09b591662b7ae6037eae Mon Sep 17 00:00:00 2001 From: David Hedbor <david@hedbor.org> Date: Wed, 29 Mar 2000 22:12:49 -0800 Subject: [PATCH] Strip class names in bookmarks to get them more relevant Rev: tutorial/xml2prc.pike:1.2 --- tutorial/xml2prc.pike | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/tutorial/xml2prc.pike b/tutorial/xml2prc.pike index 50b5b88688..455d9d4dc5 100644 --- a/tutorial/xml2prc.pike +++ b/tutorial/xml2prc.pike @@ -1,5 +1,5 @@ #!/usr/local/bin/pike -/* $Id: xml2prc.pike,v 1.1 2000/03/30 05:57:48 neotron Exp $ +/* $Id: xml2prc.pike,v 1.2 2000/03/30 06:12:49 neotron Exp $ * * Converts tutorial.xml to the Palm DOC format for use in varios PalmOS * compatible handhelds. @@ -15,6 +15,13 @@ array to = ({" #define BOOKMARK "*)" string module; + +string fix(string what) +{ + if(search(what, " ") == -1) + what = (what/".")[-1]; + return what; +} string tag_type(string tag, mapping args, string data) { switch(tag) { @@ -27,21 +34,18 @@ string tag_type(string tag, mapping args, string data) sscanf(args->number, "%*s.%s", args->number); args->number = "0."+args->number; } - data = sprintf(BOOKMARK " %s: %s\n\n%s", args->number, args->title, data); + data = sprintf(BOOKMARK " %s: %s\n\n%s", args->number, + fix(args->title), data); break; case "preface": case "introduction": data = sprintf(BOOKMARK " %s\n\n%s", args->title, data); break; - case "module": - module = args->name; - break; - case "class": + // case "class": case "method": case "function": - sscanf(args->name, module+".%s", args->name); - data = sprintf(BOOKMARK " %s\n\n%s", args->name, data); - + data = sprintf(BOOKMARK " %s\n\n%s", fix(args->name), data); + break; } return data; } @@ -223,6 +227,8 @@ void main(int argc, array (string) argv) "a": tag_remove, "adesc": tag_adesc, ])); + data = parse_html(data, ([]), (["method":tag_remove])); + werror("ok.\nCleaning up whitespaces..."); data = replace(data, ({ "\n\n", "</p>" }), ({ "<p>", "" })); data = (replace(data, ({"\r", "\t", "\n"}), -- GitLab