sbin/doc/markdown2dokuwiki.py
author ymh <ymh.work@gmail.com>
Wed, 07 May 2014 15:36:43 +0200
changeset 1030 afd77187fd9a
parent 929 a39ff507b050
permissions -rw-r--r--
rename REAME + simplify hgignore
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]
910
b9f1bd52df9a Simplified Metadataplayer instantiation
veltr
parents: 909
diff changeset
     4
outputname = re.sub("\.\w+$",".dokuwiki",inputname)
909
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
     5
929
a39ff507b050 Started documentation translation
veltr
parents: 910
diff changeset
     6
print "Converting %s to %s"%(inputname,outputname)
a39ff507b050 Started documentation translation
veltr
parents: 910
diff changeset
     7
909
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
     8
inputfile = open(inputname,'r')
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
     9
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    10
markdowntext = inputfile.read()
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    11
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    12
# Replacing title levels: #italic# -> ======italic======
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    13
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    14
wikitext = re.sub("(?m)(^#+|#+$)", lambda matches: "=" * (7 - len(matches.group(1))), markdowntext)
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    15
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    16
# Replacing italics: *italic* -> //italic//
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    17
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    18
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
    19
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    20
# Replacing lists: - -> *
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    21
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    22
wikitext = re.sub("(?m)^(\s*)(-)\s", lambda matches: " " * ( 2 + len(matches.group(1)) / 2) + "* ", wikitext)
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    23
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    24
# Replacing lists: 1. -> -
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    25
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    26
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
    27
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    28
# Replacing escaped underscores \_ -> _
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    29
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    30
wikitext = re.sub("(?m)(\\\_)", "_", wikitext)
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    31
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    32
# Escaping URL templates {{ -> %%{%%{
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    33
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    34
wikitext = re.sub("(?m)({{)", "%%{%%{", wikitext)
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    35
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    36
outputfile = open(outputname,'w')
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    37
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    38
outputfile.write(wikitext)
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    39
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    40
outputfile.close()
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    41
aa0e42229784 Started reworking on documentation
veltr
parents:
diff changeset
    42
inputfile.close()