# Hierarchy to preserve subpages 
# If your subpages all have unique names, you can let the hierarchy rename the 
# pages to just the node name. To turn that option on, assign the content-hierarchy-setname property to true. If you do that, you will also need to comment converter 420 and uncomment converters 421 and 422 (relative link converters)
MoinMoin.0010.switch.hierarchy-builder=UseBuilder
MoinMoin.0010.classname.hierarchy-builder=com.atlassian.uwc.hierarchies.ContentHierarchy
MoinMoin.0010.content-hierarchy-pattern.property=\{orig-title:([^}]*)\}
MoinMoin.0010.content-hierarchy-pattern-includes-current.property=true
MoinMoin.0010.content-hierarchy-delim.property=/
MoinMoin.0010.content-hierarchy-default-root.property=Home
MoinMoin.0010.content-hierarchy-setname.property=false
MoinMoin.0010.remove-content.java-regex=\{orig-title:([^}]*)\}{replace-with}

MoinMoin.0001.users-must-exist.property=false
## Page Histories - if you exported with history option turned on,
## uncomment and configure these options. See 
## http://confluence.atlassian.com/display/CONFEXT/UWC+Page+History+Framework
MoinMoin.0020.switch.page-history-preservation=true
MoinMoin.0021.suffix.page-history-preservation=-#.txt
# Comments and processing instructions on the first line are removed (except #redirect)
# Attachments and page names - Do this first
MoinMoin.0020-attachments.class=com.atlassian.uwc.converters.moinmoin.MoinMoinAttachmentConverter

MoinMoin.0040-redirect_processing.java-regex=#redirect (.*){replace-with}{redirect:$1}

MoinMoin.0041.info-converter.class=com.atlassian.uwc.converters.moinmoin.MoinInfoConverter

MoinMoin.0050-comments_and_processing.java-regex=^#(.*){replace-with}



#Remove some unnecessary stuff not captured above
MoinMoin.0051-comments_and_processing.java-regex=##master-page(.*){replace-with}
MoinMoin.0052-comments_and_processing.java-regex=#format(.*){replace-with}
MoinMoin.0053-comments_and_processing.java-regex=#language(.*){replace-with}
MoinMoin.0054-comments_and_processing.java-regex=#pragma(.*){replace-with}
MoinMoin.0056-comments_and_processing.java-regex=## page(.*){replace-with}

# Remove Anchor macro
MoinMoin.0055-remove_anchor_macro.java-regex=\[\[Anchor\(.+\)\]\]{replace-with}

# TableOfContents macro
#MoinMoin.0060-table_of_contents.java-regex=\[{2}TableOfContents\]{2}{replace-with}{toc:type=flat|maxLevel=5|printable=false}
#MoinMoin.0060-table_of_contents.java-regex=\[{2}TableOfContents\]{2}{replace-with}{toc}
MoinMoin.0060-table_of_contents.java-regex=<{2}TableOfContents(\(.*\)){0,1}>{2}{replace-with}{toc}

# Escaped WikiNames
MoinMoin.0065-re_escapeWiki.java-regex-tokenizer=([A-Z][\w]*)'{6}([A-Z][\w]*){replace-with}$1$2
MoinMoin.0066-re_escapeWikiName2.java-regex-tokenizer=([A-Z][\w]*)``([A-Z][\w]*){replace-with}$1$2

# Formatting
# kills some multiline stuff
#MoinMoin.0100-re_underlined.java-regex=_{2}([^_]*.*)_{2}([^_]*){replace-with}+$1+ 
MoinMoin.0100-re_underlined.java-regex=_{2}([^_]*.*)_{2}{replace-with}+$1+
MoinMoin.0108-re_subscript.java-regex=,{2}(.+[^,]),{2}{replace-with}~$1~
MoinMoin.0109-re_strikethrough.java-regex=-{2}\((.+)\)-{2}{replace-with}-$1-
MoinMoin.0110-re_smallerfont.java-regex=~-(.+[^~-])-~{replace-with}$1
MoinMoin.0111-re_largerfont.java-regex=~\+(.+[^~-])\+~{replace-with}$1

# Syntax highlighting
# Uncomment the first two converters if your Confluence site is running the new code macro
# <http://confluence.atlassian.com/display/CONFEXT/New+Code+Macro>
# If you get errors like "Unable to find source-code formatter for language: cplusplus" in
# Confluence, then either the new code macro is not installed or you need to add a formatter
# for a particular language. See the link above for details.
#MoinMoin.0200-new_code_macro_1.java-regex=\{{3}#!(\w*){replace-with}{code:$1|linenumbers=true}
#MoinMoin.0201-new_code_macro_2.java-regex=\{{3}{replace-with}{code:none|linenumbers=true}

# Monospaced
MoinMoin.0210-monospaced.java-regex=\{{3} *([^\}\r\n]+?) *\}{3}{replace-with}{{$1}}
# Code
MoinMoin.0212-re_codetext_start.java-regex=([\r\n ]+)\{{3}([\r\n ]+){replace-with}$1{code}$2
MoinMoin.0213-re_codetext_end.java-regex=([\r\n ]+)\}{3}([\r\n ]+){replace-with}$1{code}$2


## Monospace is converted late (it may confuse the codetext converter if the quoted text starts with a "{")-
MoinMoin.0220-re_monospaced.java-regex=`([^`]+)`{replace-with}{{$1}}

# Lists
#MoinMoin.0249-list_bullet_add_missing_space.java-regex= \*([^ ].*){replace-with} \* $1
#MoinMoin.0250-list_bullet_indented.java-regex= {4,4}\*(.+)*{replace-with}****$1
#MoinMoin.0251-list_bullet_indented.java-regex= {3,3}\*(.+)*{replace-with}***$1
#MoinMoin.0252-list_bullet_indented.java-regex= {2,2}\*(.+)*{replace-with}**$1
#MoinMoin.0260-list_numbered.java-regex=1\.\s(.*){replace-with}# $1


MoinMoin.0250-list_bullet_indented.class=com.atlassian.uwc.converters.moinmoin.MoinListConverter
#MoinMoin.0249-list_bullet_add_missing_space.java-regex= \*([^ ].*){replace-with} \* $1
#MoinMoin.0250-list_bullet_indented.java-regex= {4,4}\*(.+)*{replace-with}****$1
#MoinMoin.0251-list_bullet_indented.java-regex= {3,3}\*(.+)*{replace-with}***$1
#MoinMoin.0252-list_bullet_indented.java-regex= {2,2}\*(.+)*{replace-with}**$1
#MoinMoin.0260-list_numbered.java-regex=1\.\s(.*){replace-with}# $1

#MoinMoin.0300-re_h5.java-regex=={5} (.+) ={5}{replace-with}NEWLINEh5. $1
#MoinMoin.0301-re_h4.java-regex=={4} (.+) ={4}{replace-with}NEWLINEh4. $1
#MoinMoin.0302-re_h3.java-regex=={3} (.+) ={3}{replace-with}NEWLINEh3. $1
#MoinMoin.0303-re_h2.java-regex=={2} (.+) ={2}{replace-with}NEWLINEh2. $1
#MoinMoin.0304-re_h1.java-regex=^\s*={1} (.+) ={1}{replace-with}NEWLINEh1. $1

MoinMoin.0300-re_h5.java-regex=\n\s*={5} (.+) ={5}{replace-with}NEWLINEh5. $1
MoinMoin.0301-re_h4.java-regex=\n\s*={4} (.+) ={4}{replace-with}NEWLINEh4. $1
MoinMoin.0302-re_h3.java-regex=\n\s*={3} (.+) ={3}{replace-with}NEWLINEh3. $1
MoinMoin.0303-re_h2.java-regex=\n\s*={2} (.+) ={2}{replace-with}NEWLINEh2. $1
MoinMoin.0304-re_h1.java-regex=\n\s*={1} (.+) ={1}{replace-with}NEWLINEh1. $1

# Internal links
MoinMoin.0400-moinlink_syntax_1.java-regex=\["(.+)"\]{replace-with}[$1]
## Subpages will either be named the final node of a subpage, or the
## entire list of nodes seperated by spaces. If you've set 
## MoinMoin.0010.content-hierarchy-setname.property=true
## then you should comment 420, and uncomment 421 and 422.
MoinMoin.0420-relativelink-setnameisfalse.class=com.atlassian.uwc.converters.moinmoin.FullRelativeLinkConverter
#MoinMoin.0421-relativelink-subpage-alias.java-regex-tokenizer=\[\[\/([^\]\|]*)\|([^\]]*)\]\]{replace-with}[$2|$1]
#MoinMoin.0422-relativelink-subpage.java-regex-tokenizer=\[\[\/([^\]]*)\]\]{replace-with}[$1]
## The parent relative link require's the Linking Plugin:
## http://www.customware.net/repository/display/AtlassianPlugins/link-to
MoinMoin.0425-relativelink-parent-alias.java-regex-tokenizer=\[\[\.\.\/\|([^\]]*)\]\]{replace-with}{link-to:@parent}$1{link-to}
MoinMoin.0426-relativelink-parent.java-regex-tokenizer=\[\[\.\.\/\]\]{replace-with}{link-to:@parent}../{link-to}


# External links
#MoinMoin.0430-moinlink_external_link.java-regex=\[(\w+:\S+) ([^\]\n\r]+)\]{replace-with}[$2|$1]
#MoinMoin.0430-moinlink_external_link.java-regex=\[\[(\w+:\S+) *\|([^\]\n\r]+)\]\]{replace-with}[$2|$1]
#MoinMoin.0431-moinlink_internal_link.java-regex=\[\[ *(\S+)\ *|([^\]\n\r]+)\]\]{replace-with}[$2|$1]

MoinMoin.0431-moinlink_internal_link.java-regex=\[\[([^\|\n\r]+)\|([^\]\n\r]+)\]\]{replace-with}[$2|$1]

MoinMoin.0432-moinlink_doublebrackets.java-regex-tokenizer=\[\[([^\]]*)\]\]{replace-with}[$1]

# nimmt spaces aus links vorne und hinten
MoinMoin.0433-moinlink_cleanspaces.java-regex=\[ *([^\]]*?) *\]{replace-with}[$1]

# Rules (Confluence only supports one thickness)
MoinMoin.0450-horizonal_rule.java-regex=-{4,}(.*){replace-with}----$1

# Bold and italics (and single quotes)
MoinMoin.0500-hide_single_quotes.java-regex=([^'])'([^']){replace-with}$1XXXSINGLEQUOTE4711XXX$2
MoinMoin.0501-re_bold_italics.java-regex='{5}([^']+)'{5}{replace-with}*_$1_*
MoinMoin.0502-re_bold_italics.java-regex='{5}([^']+)'{2}([^']+)'{3}{replace-with}*_$1_$2*
MoinMoin.0503-re_bold_italics.java-regex='{5}([^']+)'{3}([^']+)'{2}{replace-with}_*$1*$2_
MoinMoin.0504-re_bold_italics.java-regex='{2}([^']+)'{3}([^']+)'{5}{replace-with}_$1*$2*_
MoinMoin.0505-re_bold_italics.java-regex='{3}([^']+)'{2}([^']+)'{5}{replace-with}*$1_$2_*
MoinMoin.0506-re_bold.java-regex=(?s)'{3}(.*?)(?>'''){replace-with}*$1*
MoinMoin.0507-re_italics.java-regex=(^|[^'])'{2}([^']+)'{2}([^']|$){replace-with}$1_$2_$3
MoinMoin.0508-restore_single_quotes.java-regex=XXXSINGLEQUOTE4711XXX{replace-with}'


# Smileys. Confluence supports 22 emoticons, MoinMoin has 31. Therefore,
# some conversions are less than perfect (e.g., the "angry" and "tired"
# emoticons are turned into the "sad" one).
MoinMoin.0600-smileyMacro.java-regex=\[{2}ShowSmileys\]{2}{replace-with}
MoinMoin.0600-smileys.java-regex=(\s)\(!\)(\s){replace-with}$1(on)$2
MoinMoin.0601-smileys.java-regex=(\s)\(./\)(\s){replace-with}$1(/)$2
MoinMoin.0602-smileys.java-regex=(\s)/!\\(\s){replace-with}$1(!)$2
MoinMoin.0603-smileys.java-regex=(\s):-\)\)(\s){replace-with}$1:D$2
MoinMoin.0604-smileys.java-regex=(\s):\)\)(\s){replace-with}$1:D$2
MoinMoin.0605-smileys.java-regex=(\s):-\((\s){replace-with}$1:($2
MoinMoin.0606-smileys.java-regex=(\s):-\)(\s){replace-with}$1:)$2
MoinMoin.0607-smileys.java-regex=(\s):-\?(\s){replace-with}$1:P$2
MoinMoin.0608-smileys.java-regex=(\s);-\)(\s){replace-with}$1;)$2
MoinMoin.0609-smileys.java-regex=(\s)<!>(\s){replace-with}$1(!)$2
MoinMoin.0610-smileys.java-regex=(\s)<:\((\s){replace-with}$1:($2
MoinMoin.0611-smileys.java-regex=(\s)>:>(\s){replace-with}$1:)$2
MoinMoin.0612-smileys.java-regex=(\s)X-\((\s){replace-with}$1:($2
MoinMoin.0613-smileys.java-regex=(\s)\{\*\}(\s){replace-with}$1(on)$2
MoinMoin.0614-smileys.java-regex=(\s)\{1\}(\s){replace-with}$1 *1* $2
MoinMoin.0615-smileys.java-regex=(\s)\{2\}(\s){replace-with}$1 *2*$2
MoinMoin.0616-smileys.java-regex=(\s)\{3\}(\s){replace-with}$1 *3*$2
MoinMoin.0617-smileys.java-regex=(\s)\{OK\}(\s){replace-with}$1(y)$2
MoinMoin.0618-smileys.java-regex=(\s)\{X\}(\s){replace-with}$1(x)$2
MoinMoin.0619-smileys.java-regex=(\s)\{i\}(\s){replace-with}$1(i)$2
MoinMoin.0620-smileys.java-regex=(\s)\{o\}(\s){replace-with}$1(off)$2
MoinMoin.0621-smileys.java-regex=(\s)\|\)(\s){replace-with}$1:($2
MoinMoin.0622-smileys.java-regex=(\s)\|-\)(\s){replace-with}$1:($2
MoinMoin.0623-smileys.java-regex=(\s):o(\s){replace-with}$1:P$2
MoinMoin.0624-smileys.java-regex=(\s)B\)(\s){replace-with}$1:)$2
MoinMoin.0625-smileys.java-regex=(\s)B-\)(\s){replace-with}$1:)$2
MoinMoin.0626-smileys.java-regex=(\s):\\(\s){replace-with}$1:)$2

# Macros
MoinMoin.0589-macro_br1.java-regex=<<BR>>(\s*\S{1}){replace-with}NEWLINE$1
MoinMoin.0590-macro_br.java-regex=(\[\[BR\]\])|(<<BR>>){replace-with}
MoinMoin.0600-macros.java-regex=\[{2}([^\]\n\r]*)\]{2}{replace-with}{$1}


# Tables
MoinMoin.1099-tables.java-regex=\|{2}<([^>]*)>{replace-with}||
MoinMoin.1100-tables.java-regex=\|{20}([^\|]+)\|{2}{replace-with}|| | | | |$1| | | | | ||
MoinMoin.1101-tables.java-regex=\|{18}([^\|]+)\|{2}{replace-with}|| | | | |$1| | | | ||
MoinMoin.1102-tables.java-regex=\|{16}([^\|]+)\|{2}{replace-with}|| | | |$1| | | | ||
MoinMoin.1103-tables.java-regex=\|{14}([^\|]+)\|{2}{replace-with}|| | | |$1| | | ||
MoinMoin.1104-tables.java-regex=\|{12}([^\|]+)\|{2}{replace-with}|| | |$1| | | ||
MoinMoin.1105-tables.java-regex=\|{10}([^\|]+)\|{2}{replace-with}|| | |$1| | ||
MoinMoin.1106-tables.java-regex=\|{8}([^\|]+)\|{2}{replace-with}|| |$1| | ||
MoinMoin.1107-tables.java-regex=\|{6}([^\|]+)\|{2}{replace-with}|| |$1| ||
MoinMoin.1108-tables.java-regex=\|{4}([^\|]+)\|{2}{replace-with}||$1| ||
MoinMoin.1109-tables.java-regex=\|{2}{replace-with}|

MoinMoin.2000-detokenize.class=com.atlassian.uwc.converters.DetokenizerConverter
## If we still have an extension get rid of it
MoinMoin.3000-remove-extension.class=com.atlassian.uwc.converters.ChopPageExtensionsConverter
