#!/usr/bin/env python3 import fileinput def printf(string): print(string,end='') def convert(line): """Convert a string to a list of tuples, each a token""" split = line.split() out = '' if len(split) == 0: return out elif split[0] == '\\s': return '\n## ' + ' '.join(split[1:]) elif split[0] == '\\b': return '\n' elif split[0] == '\\rem': return out skip = 0 for word in split: if skip > 0: skip = skip - 1 continue if word in ['\\v', '\\c']: skip = 1 elif word == '\\p': out += '\n' else: out += word + ' ' return out def main(): """Read usfm from stdin, output gemtext to stdout ./usfm2gmi out.md """ for line in fileinput.input(): gmi = convert(line) printf(gmi) if __name__ == '__main__': main()