Merge branch 'pdf' of https://github.com/datawhalechina/prompt-engineering-for-developers into PDF
This commit is contained in:
File diff suppressed because one or more lines are too long
33
content/Prompt Engineering for Developer/do_contents.py
Normal file
33
content/Prompt Engineering for Developer/do_contents.py
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
import os
|
||||||
|
import codecs
|
||||||
|
import json
|
||||||
|
|
||||||
|
def add_toc(ipynb_file):
|
||||||
|
f = codecs.open(ipynb_file, 'r')
|
||||||
|
source = f.read()
|
||||||
|
y = json.loads(source)
|
||||||
|
toc = ["\n"]
|
||||||
|
for item in y["cells"]:
|
||||||
|
if item["cell_type"]=='markdown':
|
||||||
|
if len(item["source"]) == 0:
|
||||||
|
continue
|
||||||
|
# print(item["source"])
|
||||||
|
|
||||||
|
item_start = item['source'][0].strip("\n")
|
||||||
|
if item_start.startswith("#"):
|
||||||
|
l = len(item_start.split()[0])
|
||||||
|
if l<=3 and l>1:
|
||||||
|
name = " ".join(item_start.split(" ")[1:])
|
||||||
|
tag = "-".join(item_start.split(" ")[1:])
|
||||||
|
tab = " "*(l-2)
|
||||||
|
toc.append(f' {tab}- [{name}](#{tag})\n')
|
||||||
|
|
||||||
|
y["cells"][0]['source']= y["cells"][0]['source'][0:1]
|
||||||
|
y["cells"][0]['source'].extend(toc)
|
||||||
|
f = codecs.open(ipynb_file, 'w')
|
||||||
|
f.write(json.dumps(y))
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
for file in os.listdir("."):
|
||||||
|
if file.endswith("ipynb") and file[0].isdigit():
|
||||||
|
add_toc(file)
|
||||||
Reference in New Issue
Block a user