# HG changeset patch # User smith@nwoca.org # Date 1296169648 18000 # Node ID a634b4d554d4c45cfe94603c5a6b26e60ceecda7 # Parent 99f293bd507f2dc9e03079611d580d5b1a6bbdb8 Minor fixups >, random smilies :), etc. Fixed blockquote. Handle escaping brackets outside pre tag. diff -r 99f293bd507f -r a634b4d554d4 src/org/nwoca/ssdt/tools/html2wiki/Html2Wiki.java --- a/src/org/nwoca/ssdt/tools/html2wiki/Html2Wiki.java Thu Jan 27 16:37:27 2011 -0500 +++ b/src/org/nwoca/ssdt/tools/html2wiki/Html2Wiki.java Thu Jan 27 18:07:28 2011 -0500 @@ -12,7 +12,6 @@ import java.util.List; import org.apache.commons.io.FileUtils; import java.util.regex.*; -import org.apache.commons.io.FilenameUtils; /** * Converter to convert HTML documents into MediaWiki test. @@ -34,8 +33,6 @@ public Html2Wiki(String html) { buffer = new StringBuffer(html); transformers = new ArrayList(); -// transformers.add(new PreTagTransformer()); -// transformers.add(new DeleteTransformer("^\\s",true)); transformers.add(new DeleteTransformer("|||")); transformers.add(new DeleteTransformer("(\\n|\\r)*",true)); transformers.add(new DeleteTransformer("|")); @@ -49,10 +46,13 @@ transformers.add(new ReflowTransformer()); transformers.add(new DeleteTransformer("

")); // transformers.add(new ReplaceTransformer("","\n")); - transformers.add(new ReplaceTransformer("\\{","\\{")); + transformers.add(new ReplaceTransformer("\\{","\\{")); // Escape braces transformers.add(new ReplaceTransformer("\\}","\\}")); -// transformers.add(new ReplaceTransformer("\\[","\\[")); -// transformers.add(new ReplaceTransformer("\\]","\\]")); + + transformers.add(new ReplaceTransformer("\\[","\\[")); // Escape brackets + transformers.add(new ReplaceTransformer("\\]","\\]")); + transformers.add(new PreTagTransformer()); // Unescape brackets inside

+//
         transformers.add(new ReplaceTransformer("
","\\\\")); transformers.add(new ReplaceTransformer("|","{table}")); transformers.add(new ReplaceTransformer("|","{tr}")); @@ -82,9 +82,14 @@ // transformers.add(new TagTransformer("\\{center}\\n\\{table}\\n\\{tr\\}\\n\\s{2}\\{td\\}\\{center\\}\\*Note\\*\\{center\\}(.*?)\\s\\{td\\}\\n\\s{2}\\{tr\\}\\{table\\}", "{note}", "{note}")); // transformers.add(new TagTransformer("(\\S)\\s\\n", "", " ")); - transformers.add(new TagTransformer("
(.*)
", "{quote}", "{quote}")); + transformers.add(new TagTransformer("
(.*?)
", true, "{quote}", "{quote}")); transformers.add(new DeleteTransformer("(?s)")); transformers.add(new ReflowTransformer("(\\{note\\})([^\\{]*)(\\{note\\})")); + transformers.add(new TagTransformer("(.*?)", true, "^\\[","\\]^ ")); + transformers.add(new ReplaceTransformer("<","<")); + transformers.add(new ReplaceTransformer(">",">")); + transformers.add(new ReplaceTransformer(""","\"")); + transformers.add(new ReplaceTransformer(":\\)",": )")); // No smilies... } diff -r 99f293bd507f -r a634b4d554d4 src/org/nwoca/ssdt/tools/html2wiki/PreTagTransformer.java --- a/src/org/nwoca/ssdt/tools/html2wiki/PreTagTransformer.java Thu Jan 27 16:37:27 2011 -0500 +++ b/src/org/nwoca/ssdt/tools/html2wiki/PreTagTransformer.java Thu Jan 27 18:07:28 2011 -0500 @@ -14,7 +14,8 @@ boolean first = true; while (matcher.find( first ? 0 : matcher.end())) { String temp = buffer.substring(matcher.start(),matcher.end()); - temp = temp.replaceAll("(?m)^\\s","\r "); + temp = temp.replaceAll("\\\\\\[","["); + temp = temp.replaceAll("\\\\\\]","]"); buffer.replace(matcher.start(),matcher.end(),temp); first = false; } @@ -22,7 +23,7 @@ } public String toString() { - return "Preserving
 tag spacing";
+        return "Unescaping Pre tag contents";
     }
 
 }
\ No newline at end of file