複数のmdファイルからマークダウンの見出しを拾って目次txtを作るPythonのコード
code:mekeToc.py
import re
import argparse
parser = argparse.ArgumentParser(description='複数のmdファイルから見出しを抜粋します')
parser.add_argument('file',nargs='+',help='マークダウンファイルを指定してください')
parser.add_argument('--c',action='store_false')
args = parser.parse_args()
a = args.file
tocfilepaty = 'toc.txt'
for tfilepath in a:
with open(tfilepath) as f:
l = f.readlines()
for line in l:
h1 = re.match(r'^#\t ?(?P<body>^#^\n*?)#*$', line) if h1:
mainbody.append('『' + h1.group('body') + '』')
h2 = re.match(r'^#{2}\t ?(?P<body>^#^\n*?)#*$', line) if h2:
mainbody.append(h2.group('body'))
h3 = re.match(r'^#{3}\t ?(?P<body>^#^\n*?)#*$', line) if h3 and args.c:
mainbody.append('・' + h3.group('body'))
synopsis = re.match(r'<div class="epigraph" style="font-style:italic;">(?P<body>.*?)</div>', line)
if synopsis:
mainbody.append('\t' + synopsis.group('body') )
with open(tocfilepaty, mode='w') as f:
f.writelines('\n'.join(mainbody))
https://gyazo.com/526c44073492293d5b63fa4c9302f171