From a977a508d26d63742f200953d672190dd3f2b751 Mon Sep 17 00:00:00 2001 From: lilydjwg Date: Sun, 29 Nov 2015 22:31:29 +0800 Subject: [PATCH] add scripts/gen_contents --- scripts/gen_contents | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 scripts/gen_contents diff --git a/scripts/gen_contents b/scripts/gen_contents new file mode 100755 index 0000000..9217b89 --- /dev/null +++ b/scripts/gen_contents @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 + +import sys +import re + +sections = re.compile(r'[-=]{3,}') +levels = { + '=': 1, + '-': 2, +} + +def to_id(t): + return t.lower().replace(' ', '-').replace('`', '') + +def to_text(t): + return t.replace('`', '') + +def main(f): + L = [] + last = None + for l in f: + l = l[:-1] + if sections.fullmatch(l): + L.append((last, levels[l[0]])) + last = l + + last_lvl = 1 + for title, lvl in L: + indent = ' ' * (lvl - 1) + if last_lvl != lvl: + print() + print('{indent}* `{text} <#{id}>`_'.format( + indent = indent, + text = to_text(title), + id = to_id(title), + )) + last_lvl = lvl + +if __name__ == '__main__': + main(sys.stdin)