aboutsummaryrefslogtreecommitdiffhomepage
path: root/libslang/slsh/scripts/htmlstrip
diff options
context:
space:
mode:
Diffstat (limited to 'libslang/slsh/scripts/htmlstrip')
-rwxr-xr-xlibslang/slsh/scripts/htmlstrip48
1 files changed, 48 insertions, 0 deletions
diff --git a/libslang/slsh/scripts/htmlstrip b/libslang/slsh/scripts/htmlstrip
new file mode 100755
index 0000000..c6a6b36
--- /dev/null
+++ b/libslang/slsh/scripts/htmlstrip
@@ -0,0 +1,48 @@
+#! /usr/bin/env slsh
+% -*- mode: slang -*-
+%_debug_info = 1;
+
+% This file strips HTML tags from one or more html files and write the result
+% to stdout. It is very simple minded.
+
+define process_file (file)
+{
+ variable fp, l;
+
+ if (file != NULL)
+ {
+ fp = fopen (file, "r");
+ if (fp == NULL)
+ {
+ () = fputs (sprintf ("Unable to open %s\n", file), stderr);
+ return;
+ }
+ }
+ else fp = stdin;
+
+ foreach (fp)
+ {
+ l = ();
+
+ l = strtrim (str_uncomment_string (l, "<", ">"));
+ !if (strlen (l))
+ continue;
+
+ () = fputs (l, stdout);
+ () = fputs ("\n", stdout);
+ }
+}
+
+if (__argc == 1)
+{
+ if (isatty (stdin))
+ {
+ () = fprintf (stderr, "Usage: %s [files...]\n", __argv[0]);
+ exit (1);
+ }
+ process_file (NULL);
+ exit (0);
+}
+
+foreach (__argv[[1:]]) process_file ();
+exit (0);