sbin/doc/markdown2dokuwiki.py
author veltr
Tue, 05 Jun 2012 17:55:24 +0200
branchnew-model
changeset 909 aa0e42229784
child 910 b9f1bd52df9a
permissions -rw-r--r--
Started reworking on documentation
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
909
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
     1
import re, sys
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
     2
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
     3
inputname = sys.argv[1]
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
     4
outputname = sys.argv[2]
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
     5
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
     6
inputfile = open(inputname,'r')
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
     7
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
     8
markdowntext = inputfile.read()
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
     9
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    10
# Replacing title levels: #italic# -> ======italic======
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    11
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    12
wikitext = re.sub("(?m)(^#+|#+$)", lambda matches: "=" * (7 - len(matches.group(1))), markdowntext)
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    13
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    14
# Replacing italics: *italic* -> //italic//
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    15
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    16
wikitext = re.sub("(?m)([^*])\*([^*]+)\*($|[^*])", lambda matches: matches.group(1) + "//" + matches.group(2) + "//" + matches.group(3), wikitext)
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    17
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    18
# Replacing lists: - -> *
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    19
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    20
wikitext = re.sub("(?m)^(\s*)(-)\s", lambda matches: " " * ( 2 + len(matches.group(1)) / 2) + "* ", wikitext)
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    21
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    22
# Replacing lists: 1. -> -
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    23
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    24
wikitext = re.sub("(?m)^(\s*)(\d+\.)\s", lambda matches: " " * ( 2 + len(matches.group(1)) / 2) + "- ", wikitext)
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    25
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    26
# Replacing escaped underscores \_ -> _
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    27
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    28
wikitext = re.sub("(?m)(\\\_)", "_", wikitext)
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    29
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    30
# Escaping URL templates {{ -> %%{%%{
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    31
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    32
wikitext = re.sub("(?m)({{)", "%%{%%{", wikitext)
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    33
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    34
outputfile = open(outputname,'w')
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    35
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    36
outputfile.write(wikitext)
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    37
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    38
outputfile.close()
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    39
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    40
inputfile.close()