import strutils, os, re proc main(file: string) = discard execShellCmd("nim rst2html $1.rst" % file) const patternA = "***" & "(.*)" & "***" proc writeln(buf: var string; x: string) = buf.add x & "\n" proc tline(line: string): string = result = line.replacef(re(patternA.replace("***", r"\*\*\*"), {}), "$1") result = result.replacef(re(patternA.replace("***", r"\+\+\+"), {}), "$1") result = result.replacef(re(patternA.replace("***", r"\=\=\="), {}), "$1") var f = "" var count = 0 for line in lines("$1.html" % file): if line.contains("") f.writeln("
") f.writeln(line.tline) elif line.contains("

") let a = line.replace("

", "

") f.writeln(a.tline) elif line.contains(""): f.writeln("
") f.writeln(line.tline) else: f.writeln(line.tline) writeFile("$1.html" % file, f) for x in os.walkFiles("*.rst"): main(x.splitFile.name)