diff options
author | Nick Mathewson <nickm@torproject.org> | 2023-10-10 11:56:35 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2023-10-10 11:56:35 -0400 |
commit | f7098acc43ac71ae0bf8ab1fbc4b1386adeb17ba (patch) | |
tree | 9826a7ffe761e8293e3aabda08eaab93d9272e9f /proposals/reindex.py | |
parent | 0f16f7fc156a6354e86d529b31af483fb45f0b20 (diff) | |
download | torspec-f7098acc43ac71ae0bf8ab1fbc4b1386adeb17ba.tar.gz torspec-f7098acc43ac71ae0bf8ab1fbc4b1386adeb17ba.zip |
hack reindex.py to generate a SUMMARY.md file for mdbook.
Diffstat (limited to 'proposals/reindex.py')
-rwxr-xr-x | proposals/reindex.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/proposals/reindex.py b/proposals/reindex.py index 72b1234..aecf7eb 100755 --- a/proposals/reindex.py +++ b/proposals/reindex.py @@ -98,6 +98,8 @@ def checkProposal(fn, fields): for f in [ 'Implemented-In', 'Target' ]: if f in fields: del fields[f] + fields['FilenameTruncated'] = os.path.splitext(fields['Filename'])[0] + def readProposals(): res = [] for fn in os.listdir(DIR): @@ -152,6 +154,9 @@ def formatMarkdownEntry(prop, withStatus=False): fmt = "* [`{Filename}`](/proposals/{Filename}): {Title}\n" return fmt.format(**prop) +def formatSummaryEntry(prop): + return " - [`{FilenameTruncated}`](./{Filename}): {Title} ({Status})\n".format(**prop) + def writeMarkdownFile(prefix, format_inputs): template = prefix+"_template.md" output = prefix+".md" @@ -161,7 +166,7 @@ def writeMarkdownFile(prefix, format_inputs): f.write(content) def writeMarkdownIndexFiles(proposals): - markdown_files = [ "README", "BY_INDEX" ] + markdown_files = [ "README", "BY_INDEX", "SUMMARY" ] format_inputs = {} format_inputs['warning'] = "<!-- DO NOT EDIT THIS FILE -->" @@ -171,6 +176,11 @@ def writeMarkdownIndexFiles(proposals): entries.append(formatMarkdownEntry(prop, withStatus=True)) format_inputs["BY_INDEX"] = "".join(entries) + entries = [] + for prop in proposals: + entries.append(formatSummaryEntry(prop)) + format_inputs["SUMMARY_TABLE"] = "".join(entries) + for s in STATUSES: entries = [] for prop in proposals: |