add muos to index
[pipapo-website/.git] / moin2asciidoc.sh
1 #!/bin/bash
2
3 ed -s "$1" >"$1.txt" <<EOF
4 H
5 # handle comments and pragmas
6 #g/^#/s/^#\(.*\)/\/\/ \1/
7 g/^#/d
8 #g/^#/s/^#\(.*\)/\\
9 #\/\/\1\/\/\\
10 #\1\\
11 #\/\/\1\/\/\\
12 #/
13 #g/^\/\/.*\/\//s/./\//g
14 # Tables oh my
15 g/\\n||/s/||/TEST/
16 g/^||/s/^||\(.*\)||/\1/
17 g/||/s/||/, /g
18 # delete horizontal rules (how to preserve them?) 
19 g/^-\{4,\}/d
20 # covert wiki links
21 g/\["/s/\["\(.*\)"\]/link:\1[]/
22 # convert camel case to links
23 g/\(^\| \|\/\)\([[:upper:]]\+[[:lower:]\/]\+\)\{2,\}/s/\(^\| \)\(\([[:upper:]/]\+[[:lower:]\/]\+\)\{2,\}\)/\1link:\2[]/
24 # convert external html links
25 g/\(\(^\|[^[]\)http:[^[:space:]]*\)/s/\(\(^\|[^[]\)http:[^[:space:]]*\)/\1[]/g
26 g/\[\(http:[^ ]*\) \([^]]*\)\]/s/\[\(http:[^ ]*\) \([^]]*\)\]/\1[\2]/g
27 # handle the [[BR]] macro
28 g/[[:space:]]*\[\[BR\]\][[:blank:]]*/s/[[:space:]]*\[\[BR\]\][[:blank:]]*/ +\\
29 /
30 # mangle level 1 titles
31 g/^= /s/^= \(.*\) =/\\
32 \1\\
33 -\1-/
34 g/^-.*-/s/./-/g
35 g/^---/s/^---\(-*\)/\1/g
36 # mangle level 2 titles
37 g/^== /s/^== \(.*\) ==/\\
38 \1\\
39 ~\1~/
40 g/^~.*~/s/./~/g
41 g/^~~~/s/^~~~\(~*\)/\1/g
42 # mangle level 3 titles
43 g/^=== /s/^=== \(.*\) ===/\\
44 \1\\
45 ^\1^/
46 g/^^.*^/s/./^/g
47 g/^^^^/s/^^^^\(\^*\)/\1/g
48 # mangle level 4 titles
49 g/^==== /s/^==== \(.*\) ====/\\
50 \1\\
51 +\1+/
52 g/^+.*+/s/./+/g
53 g/^+++/s/^+++\(+*\)/\1/g
54 # highlight for C/C++ sources
55 g/^{{{#!cplusplus/s/{{{#!cplusplus/\\
56 [cpp]\\
57 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^/\\
58 /^}}}/s/^}}}/^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^/
59 # highlight for other sources
60 g/^{{{#!/s/{{{#!\([[:print:]]*\)/\\
61 [\1]\\
62 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^/\\
63 /^}}}/s/^}}}/^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^/
64 # plain code blocks
65 g/^{{{/s/{{{/\\
66 ------------------------------------------------------------/\\
67 /^}}}/s/^}}}/------------------------------------------------------------/
68 ,p
69 q
70 q
71 EOF