def extract_slides(src_path, web_path):
# Extract text for individual slides from Markdown file
# Return (md_defaults, md_slides, new_image_number)
try:
with open(src_path) as f:
source = f.read()
except Exception, excp:
raise Exception('Error in reading module source text %s: %s' % (src_path, excp))
try:
with open(web_path) as f:
sessionIndex = read_index(f, path=web_path)
sessionIndexParams = sessionIndex[0][-1]
except Exception, excp:
raise Exception('Error in reading module published HTML %s: %s' % (web_path, excp))
md_source = preprocess(source).strip()
if sliauth.digest_hex(md_source) != sessionIndexParams['md_digest']:
raise Exception('Digest mismatch src=%s vs. web=%s; may need to re-publish HTML file %s by previewing all slides and saving' % (sliauth.digest_hex(md_source), sessionIndexParams['md_digest'], web_path))
md_slides = []
base = len(sessionIndexParams['md_defaults'])
offset = 0
for count in sessionIndexParams['md_breaks']:
md_slides.append(md_source[base+offset:base+count])
offset = count
return (sessionIndexParams['md_defaults'], md_slides, sessionIndexParams['new_image_number'])
评论列表
文章目录