Skip to content

Commit

Permalink
添加 PDF 生成脚本
Browse files Browse the repository at this point in the history
  • Loading branch information
iswbm committed Jun 7, 2021
1 parent 9c029eb commit dceac38
Showing 1 changed file with 48 additions and 0 deletions.
48 changes: 48 additions & 0 deletions pdf_maker.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#!/usr/local/bin/python3

import os
import glob
import fileinput
import linecache
from functools import partial

repo_dir = os.getcwd()
source_dir = os.path.join(repo_dir, "source")
all_md_path = os.path.join(repo_dir, "python-guide.pdf",)

count = 0

with open(all_md_path, "w") as all_md:
write = partial(print, file=all_md, end="")
os.chdir(source_dir)

for c_no in sorted(glob.glob("c*")):
if c_no == "chapters" or c_no == "conf.py":
continue

# 读取并记下章节名
c_name = linecache.getline(os.path.join(source_dir, "chapters", f"{c_no.replace('c', 'p')}.rst"), 2)
write(f"# {c_name}\n\n", file=all_md)

# 读取每一节的内容
all_md_file = sorted(glob.glob(f"{source_dir}/{c_no}/*.md"))
for line in fileinput.input(all_md_file):
if "20200804124133" in line or "20200607174235" in line:
continue

if fileinput.isfirstline():
count += 1
if count%5 == 0:
write("![](http://image.iswbm.com/20210606214719.png)", end="\n\n")

if line.startswith("# "):
line = line.replace("# ", "## ")
elif line.startswith("## "):
line = line.replace("## ", "### ")
elif line.startswith("### "):
line = line.replace("### ", "#### ")
elif "gif" in line:
line = line.replace("![]", "![该图为GIF,请前往 python.iswbm.com 浏览]")

write(line)

0 comments on commit dceac38

Please sign in to comment.