Convert usfm bibles into gemtext (python library/utility)
Diffstat (limited to 'usfm2gmi.py')
| -rwxr-xr-x | usfm2gmi.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/usfm2gmi.py b/usfm2gmi.py new file mode 100755 index 0000000..9b976ab --- /dev/null +++ b/usfm2gmi.py @@ -0,0 +1,37 @@ +#!/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 + if split[0] == '\\s': + return '\n## ' + ' '.join(split[1:]) + 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 <in.usfm >out.md + """ + for line in fileinput.input(): + gmi = convert(line) + printf(gmi) + +if __name__ == '__main__': + main() |