You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
2.2 KiB
Python
80 lines
2.2 KiB
Python
2 years ago
|
from glob import glob
|
||
|
import os
|
||
2 years ago
|
import subprocess
|
||
2 years ago
|
import jinja2
|
||
2 years ago
|
|
||
|
# https://devdocs.io/python~3.9/library/glob#glob.glob
|
||
2 years ago
|
# files = glob("content/**", recursive=True)
|
||
|
# print(files)
|
||
2 years ago
|
print("---------")
|
||
|
|
||
2 years ago
|
all_html = ""
|
||
2 years ago
|
all_md = ""
|
||
2 years ago
|
html=[]
|
||
2 years ago
|
|
||
2 years ago
|
folders = glob("content/*")
|
||
|
print(folders)
|
||
2 years ago
|
|
||
2 years ago
|
for folder in folders:
|
||
|
files = glob(folder + "/*")
|
||
|
print(files)
|
||
|
print("************")
|
||
2 years ago
|
|
||
2 years ago
|
for file in files:
|
||
|
#print(file)
|
||
|
if file.endswith(".md"):
|
||
|
print("===========")
|
||
|
file = file.replace(" ", "\ ")
|
||
|
print(file)
|
||
2 years ago
|
|
||
2 years ago
|
# html_file = file.replace(".md", ".html")
|
||
|
# pandoc_cmd = "pandoc -s -c style.css -f markdown -t html " + file + " -o " + html_file
|
||
|
# os.system(pandoc_cmd)
|
||
|
# print("standalone html files saved!")
|
||
2 years ago
|
|
||
2 years ago
|
pandoc2 = "pandoc -f markdown -t html " + file
|
||
|
html_data = subprocess.run(pandoc2, capture_output=True, text=True).stdout
|
||
|
print("html_data: ", html_data)
|
||
2 years ago
|
|
||
2 years ago
|
# #editing the html before creatings the main file
|
||
|
# # filename = os.path.basename(file)
|
||
|
# # print("filename", filename)
|
||
|
# # html_data = html_data.replace('<img src="','<img src="' + folder + '/')
|
||
2 years ago
|
|
||
2 years ago
|
# print("This is the html data: ", html_data)
|
||
2 years ago
|
|
||
2 years ago
|
# # and then collect all that content into a variable called "all_html"
|
||
|
# # add this content to all_html
|
||
|
# all_html = all_html + html_data
|
||
2 years ago
|
html.append(html_data)
|
||
2 years ago
|
|
||
2 years ago
|
md_data = open(file).read()
|
||
|
all_md += "\n"+md_data
|
||
2 years ago
|
|
||
2 years ago
|
#create md and use pandoc to convert to html
|
||
|
output = open("booklet.md", "w")
|
||
|
output.write(all_md)
|
||
|
output.close()
|
||
2 years ago
|
# pandoc_md = "pandoc -s --toc -c style.css -f markdown -t html booklet.md -o booklet.html"
|
||
|
# os.system(pandoc_md)
|
||
|
print("booklet md files saved!")
|
||
2 years ago
|
|
||
|
env = jinja2.Environment(loader=jinja2.FileSystemLoader("."))
|
||
|
template = env.get_template("booklet.template.html")
|
||
|
booklet_html = template.render(content=html)
|
||
2 years ago
|
print("this is the html: ", booklet_html)
|
||
|
output = open("booklet.html", "w")
|
||
|
output.write(booklet_html)
|
||
|
output.close()
|
||
|
print("booklet html files saved!")
|
||
2 years ago
|
|
||
2 years ago
|
#take all the css files and write to main css
|
||
2 years ago
|
|
||
|
|
||
|
# Now open this page in the browser, remember: paged.js needs to be accessed through a webserver.
|
||
|
|
||
|
# To run a webserver locally, you can use:
|
||
|
# cd SI20/booklet/
|
||
|
# python3 -m http.server
|
||
|
# localhost:8000/booklet.html
|