Builds web TOC for help files
[jalview.git] / utils / help2Website.java
1 import java.io.*;\r
2 import java.util.*;\r
3 \r
4 public class help2Website\r
5 {\r
6 \r
7         public static void main(String [] args)\r
8         {\r
9                 try{\r
10                         Hashtable targets = new Hashtable();\r
11 \r
12                         File toc = new File("helpTOC.xml");\r
13                         File jhm = new File("help.jhm");\r
14 \r
15                         BufferedReader in = new BufferedReader(new FileReader(jhm));\r
16 \r
17                         PrintWriter out = new PrintWriter(new FileWriter("helpTOC.html"));\r
18                         out.println("<html><head></head><title>Jalview - Help </title></head>\n"\r
19                         +"<body bgcolor=#F1F1F1>\n"\r
20                         +"<p><center><strong>Contents</strong></center></p>\n"\r
21                         +"<table border=0 width=100%><tr><td width=100% nowrap><font face=Arial size=2>\n");\r
22 \r
23                         String line;\r
24 \r
25                         StringTokenizer st;\r
26                         StringBuffer indent = new StringBuffer();\r
27                         String target, url, text;\r
28                         while( (line = in.readLine()) != null)\r
29                         {\r
30                                 if(line.indexOf("target")==-1)\r
31                                         continue;\r
32 \r
33                                 st = new StringTokenizer(line, "\"");\r
34                                 st.nextToken(); //<mapID target="\r
35 \r
36                                 target = st.nextToken();\r
37                                 st.nextToken(); //" url="\r
38 \r
39                                 url = st.nextToken();\r
40                                 targets.put(target, url);\r
41                         }\r
42 \r
43                         in = new BufferedReader(new FileReader(toc));\r
44                         while( (line = in.readLine()) != null)\r
45                         {\r
46                                 if(line.indexOf("</tocitem>")!=-1)\r
47                                         indent.setLength(indent.length()-18);\r
48 \r
49                                 if(line.indexOf("<tocitem")==-1)\r
50                                         continue;\r
51 \r
52                                 st = new StringTokenizer(line, "\"");\r
53                                 st.nextToken();\r
54 \r
55                                 text = st.nextToken();\r
56                                 st.nextToken();\r
57 \r
58                                 target = st.nextToken();\r
59 \r
60                                 if(targets.get(target)!=null)\r
61                                         out.println("<br>"+indent+"<a href=\""\r
62                                                         + targets.get(target)\r
63                                                         +"\" target=bodyframe>"\r
64                                                         +text\r
65                                                         +"</a>");\r
66                                 else\r
67                                         out.println("<br>"+indent+text);\r
68 \r
69 \r
70                                 if(line.indexOf("/>")==-1)\r
71                                         indent.append("&nbsp;&nbsp;&nbsp;");\r
72 \r
73                         }\r
74 \r
75 \r
76                         out.close();\r
77 \r
78                 }\r
79 \r
80                 catch(Exception ex)\r
81                 {\r
82                         ex.printStackTrace();\r
83 \r
84                         System.out.println("Usage: move to Help directory. help2Website will read"\r
85                         +"\nhelpTOC.xml and help.jhm producing output helpTOC.html");\r
86                 }\r
87         }\r
88 \r
89 \r
90 }