Xwiki Import Markdown 〈90% NEWEST〉
#!/usr/bin/env python3 """ XWiki Markdown Importer Requires: pip install requests markdown beautifulsoup4 """ import requests import os import sys import re from requests.auth import HTTPBasicAuth from pathlib import Path
# Lists markdown_text = re.sub(r'^\- (.*?)$', r'* \1', markdown_text, flags=re.M) markdown_text = re.sub(r'^\* (.*?)$', r'* \1', markdown_text, flags=re.M) markdown_text = re.sub(r'^\+ (.*?)$', r'** \1', markdown_text, flags=re.M) xwiki import markdown
# Bold and Italic markdown_text = re.sub(r'\*\*(.*?)\*\*', r'**\1**', markdown_text) markdown_text = re.sub(r'\*(.*?)\*', r'//\1//', markdown_text) flags=re.M) markdown_text = re.sub(r'^\* (.*?)$'
# Links markdown_text = re.sub(r'\[(.*?)\]\((.*?)\)', r'[[\1>>\2]]', markdown_text) flags=re.M) markdown_text = re.sub(r'^\+ (.*?)$'
--- title: My Document author: John Doe date: 2024-01-01 tags: [wiki, markdown] --- Convert to XWiki properties:
def escape_xwiki_syntax(self, content): """Escape XWiki special characters""" # Escape velocity syntax content = content.replace('#', '~#') content = content.replace('$', '~$') # Escape macro syntax content = content.replace('{{', '~{{') content = content.replace('}}', '~}}') return content
return markdown_text with open('document.md', 'r') as f: md_content = f.read()