diff src/org/nwoca/ssdt/tools/html2wiki/Html2Wiki.java @ 4:22ed6d93442c

Start modifying transformers to Confluence wiki syntax
author smith@nwoca.org
date Tue, 25 Jan 2011 21:59:31 -0500
parents 5da2e67620f9
children d34f4d408ef9
line wrap: on
line diff
--- a/src/org/nwoca/ssdt/tools/html2wiki/Html2Wiki.java	Tue Jan 25 17:08:12 2011 -0500
+++ b/src/org/nwoca/ssdt/tools/html2wiki/Html2Wiki.java	Tue Jan 25 21:59:31 2011 -0500
@@ -36,32 +36,47 @@
     public Html2Wiki(String html) {
         buffer = new StringBuffer(html);
         transformers =  new ArrayList<Transformer>();
-        transformers.add(new PreTagTransformer());
-        transformers.add(new DeleteTransformer("^\\s",true));
+//        transformers.add(new PreTagTransformer());
+//        transformers.add(new DeleteTransformer("^\\s",true));
         transformers.add(new DeleteTransformer("<html>|</html>|<body>|</body>"));
         transformers.add(new DeleteTransformer("<!--.*-->(\\n|\\r)*",true));
         transformers.add(new DeleteTransformer("<a .*?>|</a>"));
         transformers.add(new DeleteTransformer("(?m)^\\*"));
-        transformers.add(new DeleteTransformer("<blockquote>|</blockquote>"));
+//        transformers.add(new DeleteTransformer("<blockquote>|</blockquote>"));
         transformers.add(new DeleteTransformer("<p>"));
         transformers.add(new DeleteTransformer("(?m)<br>$"));
         transformers.add(new DeleteTransformer("<font .*?>|</font>"));
-        transformers.add(new CloseTagTransformer("<li>","(\n|\r)*(<li>|</ul>|</ol>|<ul>|<ol>)","\n</li>"));
+        transformers.add(new CloseTagTransformer("<li>","(\n|\r)*(<li>|</ul>|</ol>|<ul>|<ol>)","</li>"));
         transformers.add(new BadTableDataTransformer());
         transformers.add(new BadTableRowTransformer());
-        transformers.add(new ReplaceTransformer("</td>","\n</td>"));
+//        transformers.add(new ReplaceTransformer("</td>","\n</td>"));
+          transformers.add(new ReplaceTransformer("\\{","\\{"));
+          transformers.add(new ReplaceTransformer("\\}","\\}"));
+//          transformers.add(new ReplaceTransformer("\\[","\\["));
+//          transformers.add(new ReplaceTransformer("\\]","\\]"));
+        transformers.add(new ReplaceTransformer("<br>","\\\\"));
+        transformers.add(new ReplaceTransformer("<table.*?>|</table>","{table}"));
+        transformers.add(new ReplaceTransformer("<tr>|</tr>","{tr}"));
+        transformers.add(new ReplaceTransformer("<td>|</td>","{td}"));
+        transformers.add(new ReplaceTransformer("<th>|</th>","{th}"));
+        transformers.add(new ReplaceTransformer("<ol.*?>|</ol>","{ol}"));
+        transformers.add(new ReplaceTransformer("<ul.*?>|</ul>","{ul}"));
+        transformers.add(new ReplaceTransformer("<li>","{li}"));
+        transformers.add(new ReplaceTransformer("</li>","{li}\n"));
         transformers.add(new ChapterTransformer(category));
-        transformers.add(new TagTransformer("<em>(.*?)</em>",    "''"));
-        transformers.add(new TagTransformer("<strong>(.*?)</strong>",    "'''"));
-        transformers.add(new TagTransformer("(?s)<kbd>(.*?)</kbd>",  "<tt>", "</tt>"));
-        transformers.add(new TagTransformer("<h1>(.*)</h1>",    "== ",      " =="));
-        transformers.add(new TagTransformer("<h2>(.*)</h2>",    "=== ",     " ==="));
-        transformers.add(new TagTransformer("<h3>(accessing the program|sample run|sample screens?|sample reports?)</[h|H]3>","=== ",    " ==="));
-        transformers.add(new TagTransformer("<h3>(.*)</H3>",    "",         ""));
-        transformers.add(new TagTransformer("<h3>(.*)</h3>",    "==== ",        " ===="));
-        transformers.add(new TagTransformer("<h4>(.*)</h4>",    "===== ",   " ====="));
-        transformers.add(new TagTransformer("<h5>(.*)</h5>",    "====== ",  " ======"));
-        transformers.add(new TagTransformer("<h6>(.*)</h6>",    "======= ", " ======="));
+        transformers.add(new TagTransformer("<pre>(.*?)</pre>", true, "{code}","{code}"));
+        transformers.add(new TagTransformer("<center>(.*?)</center>", true, "{center}","{center}"));
+        transformers.add(new TagTransformer("<em>(.*?)</em>",    "*","*"));
+        transformers.add(new TagTransformer("<strong>(.*?)</strong>",    "*","*"));
+        transformers.add(new TagTransformer("(?s)<kbd>(.*?)</kbd>",  "{{", "}}"));
+        transformers.add(new TagTransformer("<h1>(.*)</h1>",    "h1. ",      ""));
+        transformers.add(new TagTransformer("<h2>(.*)</h2>",    "h2. ",     ""));
+        transformers.add(new TagTransformer("<h3>(accessing the program|sample run|sample screens?|sample reports?)</[h|H]3>","h3.",    ""));
+        transformers.add(new TagTransformer("<h3>(.*)</H3>",    "h3. ",         ""));
+        transformers.add(new TagTransformer("<h3>(.*)</h3>",    "h3. ",        ""));
+        transformers.add(new TagTransformer("<h4>(.*)</h4>",    "h4. ",   ""));
+        transformers.add(new TagTransformer("<h5>(.*)</h5>",    "h5. ",  ""));
+        transformers.add(new TagTransformer("<h6>(.*)</h6>",    "h6. ", ""));
         transformers.add(new DeleteTransformer("(?s)<hr.*?>"));
      
     }
@@ -123,7 +138,7 @@
     }
     
     public static String generateFilename(String input) {
-        return input.replaceAll("\\\\|/|:|\\(|\\)","-");
+        return input.replaceAll("\\\\|/|:|\\(|\\)","-").replace("<br>", "");
         
     }
     public String getWikiText() {