| # Metadata |
| Socialtext.0100.metadata-title.class=com.atlassian.uwc.converters.socialtext.PagenameConverter |
| ## Categories -> Labels |
| ## The following are invalid label characters: |
| ## (space) ! # & ( ) * , . : ; < > ? @ [ ] ^ |
| ## The default transformation is to remove the character. If you would like |
| ## to tailor the transformation, add trans properties that look like: |
| ## - This would transform a label like 'a&b' to 'aandb' |
| ## - Make sure the number after label-trans- is unique. |
| ## - But, don't use this with whitespace. The SearchConverter won't be able to handle that. |
| #Socialtext.0150.label-trans-1.property=&=and |
| Socialtext.0150.labels.class=com.atlassian.uwc.converters.socialtext.LabelConverter |
| #Socialtext.0190.metadata-clean.java-regex=^([^\n: ]+:[^\n]+\n)+Encoding:([^\n]+)\n{replace-with} |
| Socialtext.0190.metadata-clean.java-regex=^(?s)[^\n].*?\n\n{replace-with}NEWLINE |
| # Prep |
| Socialtext.0200.tokenizedollars.java-regex-tokenizer=([$]){replace-with}$1 |
| # Links |
| Socialtext.0300.link-nocolons.java-regex=(\[[^\]:]+):{replace-with}$1. |
| Socialtext.0301.link-alt-nocolons.java-regex=(\{link:)([^}\]:]*?)[:]{replace-with}$1$2. |
| Socialtext.0310.link-external.java-regex=[<](((http)|(mailto)|(ftp))[^>]+)[>]{replace-with}[$1] |
| Socialtext.0320.link-anchor.java-regex=\{link:\s*([^\[}]+)\}{replace-with}[#$1] |
| Socialtext.0323.link-alt-internal.java-regex=\{link:\s*(\[[^\]}]+\])\s*\}{replace-with}$1 |
| Socialtext.0325.link-alt-internal-anchor.java-regex=(\{link:[^\[]+)\[([^\]]+)\]\s*(\w[^}]+)\s*(\}){replace-with}$1[$2#$3]$4 |
| Socialtext.0328.link-alt-space.java-regex=(\{link:\s*)([^\[\s]+)\s*\[([^\]]+)\](\s*\}){replace-with}$1[$2:$3]$4 |
| Socialtext.0330.link-alt.java-regex=\{link:\s*(\[[^\]]+\])\s*\}{replace-with}$1 |
| Socialtext.0350.link-alias.java-regex=["]([^"]+)["]\s*\[([^\]]+)\]{replace-with}[$1|$2] |
| Socialtext.0360.anchor.java-regex=\{section:\s*([^}]+)\}{replace-with}{anchor:$1} |
| ## Headers |
| Socialtext.0400.header6.java-regex=(?<=\n|^|[|] )\^{6,6}\s*{replace-with}h6. |
| Socialtext.0410.header5.java-regex=(?<=\n|^|[|] )\^{5,5}\s*{replace-with}h5. |
| Socialtext.0420.header4.java-regex=(?<=\n|^|[|] )\^{4,4}\s*{replace-with}h4. |
| Socialtext.0430.header3.java-regex=(?<=\n|^|[|] )\^{3,3}\s*{replace-with}h3. |
| Socialtext.0440.header2.java-regex=(?<=\n|^|[|] )\^{2,2}\s*{replace-with}h2. |
| Socialtext.0450.header1.java-regex=(?<=\n|^|[|] )\^{1,1}\s*{replace-with}h1. |
| ## Tables |
| Socialtext.0500.table.class=com.atlassian.uwc.converters.socialtext.TableConverter |
| ## Filter |
| Socialtext.0600.socialtext.filter=com.atlassian.uwc.filters.SocialtextFilter |
| ## Attachments |
| Socialtext.0700.attachments.class=com.atlassian.uwc.converters.socialtext.AttachmentConverter |
| Socialtext.0750.image-space.java-regex=(\{image:\s*[^\[}\s]+)\s*(\[){replace-with}$1:$2 |
| Socialtext.0753.image-page.java-regex=(\{image:\s*[^\[}]+)\[([^\]}]+)\]\s*{replace-with}$1$2^ |
| Socialtext.0758.image-basic.java-regex=\{image:\s*([^}]+)\}{replace-with}!$1! |
| Socialtext.0760.image-size.class=com.atlassian.uwc.converters.socialtext.ImageSizeConverter |
| Socialtext.0768.file-prep-lbracket.java-regex=(\{file:[^\}]*?\S)\[{replace-with}$1%5B |
| Socialtext.0769.file-prep-rbracket.java-regex=(\{file:[^\}]*?)\](?=\S){replace-with}$1%5D |
| Socialtext.0770.file-basic.java-regex=\{file:\s*([^\[}]+)\}{replace-with}[^$1] |
| Socialtext.0775.file-page.java-regex=(\{file:[^\[}]+)\[([^\]]+)\]\s+(\w[^}]+)\s*(\}){replace-with}$1$2^$3$4 |
| Socialtext.0778.file-space.java-regex=(\{file:\s*)([^\[}\s]+)\s+([^\]}]+)\s*(\^[^}]+\}){replace-with}$1$2:$3$4 |
| Socialtext.0780.file-finish.java-regex=\{file:\s*([^}]+)\s*\}{replace-with}[$1] |
| Socialtext.0790.file-alias.java-regex=["]([^"]+)["]\s*\[([^\]]+)\]{replace-with}[$1|$2] |
| Socialtext.0799.att-fix-whitespace.class=com.atlassian.uwc.converters.socialtext.ImageWhitespaceConverter |
| ## Multiple workspace -> single Confluence space option. |
| ## Sometimes you might want to combine workspaces. This can be tricky |
| ## because Confluence requires page titles be unique within a space. |
| ## Pages (and links to pages) will have their workspace key appended to the |
| ## pagename. Properties: |
| ## include - if this is left undefined, all pages are assumed to be included |
| ## (except those listed by the exemption category). If you set this property, |
| ## use a regular expression to indicate those page titles that should match. |
| ## exemption - You can indicate pages that do not need to be maintained uniquely |
| ## with the exemption property. The value of the exemption property should be a |
| ## regular expression matching the page titles to be exempted from the |
| ## namespace collision handling. They will still be imported, |
| ## but names and links to those names will be unchanged. |
| ## delimiter - allows you to indicate how the original title and |
| ## workspace id will be seperated in the page. The default is -. |
| ## hierarchybuilder - You can turn on the Many2OneHierarchy if you want |
| ## pages to be children of a workspace named parent page. |
| ## hierarchy-exemption-parent - use to assign a parent page for the |
| ## exemption pages. |
| ## customprotocol - also explicitly identify external link protocols with the |
| ## customprotocol property. Set the value to a regex that should be found by |
| ## external links. The default is shown below. |
| #Socialtext.0800.many2one-include.property= |
| #Socialtext.0800.many2one-exemption.property=(?i)(What's the funny punctuation\?)|(What if I make a mistake\?) |
| #Socialtext.0800.many2one-delimiter.property=- |
| #Socialtext.0800.many2onespace.class=com.atlassian.uwc.converters.socialtext.CombineMultipleWorkspacesConverter |
| #Socialtext.0801.hierarchy-builder=com.atlassian.uwc.hierarchies.Many2OneHierarchy |
| #Socialtext.0801.switch.hierarchy-builder=UseBuilder |
| #Socialtext.0801.hierarchy-exemption-parent.property=Socialtext Pages |
| #Socialtext.0801.customprotocol.property=^(https?:\\/\\/)|(ftp:\\/\\/)|(mailto:) |
| ## Workspace -> Space Transformation |
| ## There are a number of socialtext syntaxes that allow the user to specify |
| ## the workspace (links, images, recent changes macro, include macro). |
| ## Since socialtext workspaces are not necessarily going to be the same as your |
| ## corresponding confluence spacekey, you can specify a workspace to spacekey |
| ## map here. For each workspace to spacekey association: |
| ## - create a property |
| ## - following the guidelines of the Miscellaneous Properties Framework |
| ## http://confluence.atlassian.com/display/CONFEXT/UWC+Miscellaneous+Properties+Framework |
| ## - where the property key will start with "space-" and end with the workspace |
| ## - and where the value is the confluence spacekey. |
| ## - Example. For a workspace "other-workspace" to be mapped to confluence |
| ## spacekey "space1", see the following example: |
| #Socialtext.0810.space-other-workspace.property=space1 |
| #Socialtext.0810.space-workspace.property=space2 |
| Socialtext.0810.space-transform.class=com.atlassian.uwc.converters.socialtext.SpaceConverter |
| ## Detect and make Inline external images |
| ## Inlined External images have the same syntax as external links in socialtext |
| ## To identify if an external link should have confluence inline image syntax, |
| ## provide a comma delimited list of image extensions to treat as inline images. |
| Socialtext.0900.extensions.property=gif,jpg,jpeg,bmp,png |
| Socialtext.0900.inline-external.class=com.atlassian.uwc.converters.socialtext.InlineExternalImagesConverter |
| ## Macros |
| Socialtext.1000.htmlmacro.java-regex=(?<=\n|^)\.html *(?=\n){replace-with}{html} |
| Socialtext.1010.rssmacro.java-regex=[{]fetchrss: *([^}]+)\}{replace-with}{rss:url=$1} |
| Socialtext.1020.usermacro.java-regex=[{]user: *([^}]+)\}{replace-with}$1 |
| Socialtext.1025.datemacro.java-regex=[{]date: *([^}]+)\}{replace-with}$1 |
| Socialtext.1030.recentmacro.java-regex=\{recent_changes: \}{replace-with}{recently-updated} |
| Socialtext.1035.recentmacro-space.java-regex=\{recent_changes: ([^}]+)\}{replace-with}{recently-updated:spaces=$1} |
| Socialtext.1050.includemacro-illegal.class=com.atlassian.uwc.converters.socialtext.IncludeIllegalConverter |
| Socialtext.1051.includemacro.java-regex=(\{include:[^\[]+)\[([^\]]+)\]{replace-with}$1:$2 |
| Socialtext.1052.includemacro-colon.java-regex=(\{include:\s*):{replace-with}$1 |
| Socialtext.1053.includemacro-ws.java-regex=(\{include:\s*)([^\s:]+)\s+:{replace-with}$1$2: |
| ## The Search widget is translated into either the search macro or the |
| ## contentbylabel macro, depending on if it is referencing tags/labels or not. |
| ## The contentbylabel variant can have parameters added to it. |
| ## The title param will create a title from the labels used by the macro. |
| ## Any other parameters referenced will be added to all contentbylabel macros. |
| ## For example, if the spaces and sort property is uncommented, the |
| ## contentbylabel results will look like: |
| ## {contentbylabel:labels=foo|spaces=@self|sort=creation} |
| #Socialtext.1080.search-title.property=true |
| #Socialtext.1080.search-spaces.property=@self |
| #Socialtext.1080.search-sort.property=creation |
| #Socialtext.1080.search-reverse.property=true |
| ## taglist-to-contentbylabel property set to true tells the SearchConverter to transform tag_list |
| ## widgets to contentbylabel macros |
| Socialtext.1080.taglist-to-contentbylabel.property=true |
| Socialtext.1080.searchmacro.class=com.atlassian.uwc.converters.socialtext.SearchConverter |
| ## Detokenizer |
| Socialtext.9900-detokenize.class=com.atlassian.uwc.converters.DetokenizerConverter |