xref: /plan9/sys/src/cmd/wikifs/wiki2text.c (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
1 #include <u.h>
2 #include <libc.h>
3 #include <bio.h>
4 #include <String.h>
5 #include <thread.h>
6 #include "wiki.h"
7 
8 char *wikidir = ".";
9 
10 void
usage(void)11 usage(void)
12 {
13 	fprint(2, "usage: wiki2text [-d dir] wikifile\n");
14 	exits("usage");
15 }
16 
17 void
main(int argc,char ** argv)18 main(int argc, char **argv)
19 {
20 	int i;
21 	Biobuf *b;
22 	String *h;
23 	Whist *doc;
24 
25 	ARGBEGIN{
26 	default:
27 		usage();
28 	case 'd':
29 		wikidir = EARGF(usage());
30 		break;
31 	}ARGEND
32 
33 	if(argc != 1)
34 		usage();
35 
36 	if((b = Bopen(argv[0], OREAD)) == nil)
37 		sysfatal("Bopen: %r");
38 
39 	if((doc = Brdwhist(b)) == nil)
40 		sysfatal("Brdwtxt: %r");
41 
42 	h = nil;
43 	for(i=0; i<doc->ndoc; i++){
44 		print("__________________ %d ______________\n", i);
45 		if((h = pagetext(s_reset(h), doc->doc[i].wtxt, 1)) == nil)
46 			sysfatal("wiki2html: %r");
47 		write(1, s_to_c(h), s_len(h));
48 	}
49 	exits(0);
50 }
51