frommarkdownimportMarkdownfromhtml.parserimportHTMLParserfrompptximportPresentationclassMyHTMLParser(HTMLParser):def__init__(self):super(MyHTMLParser,self).__init__()self.prs=Presentation()self.tags=[]self.slide=""defhandle_starttag(self,tag,attrs):iftag=="h1":slide=self.prs.slides.add_slide(self.prs.slide_layouts[0])self.slide=slideself.tags.append(tag)eliftag=="h2":slide=self.prs.slides.add_slide(self.prs.slide_layouts[1])self.slide=slideself.tags.append(tag)eliftag=="h3":self.tags.append(tag)else:print("Encountered a start tag:",tag)defhandle_endtag(self,tag):passdefhandle_data(self,data):iflen(self.tags)>0:tag=self.tags.pop()iftag=="h1":self.slide.shapes.title.text=dataeliftag=="h2":self.slide.shapes.title.text=dataeliftag=="h3":p=self.slide.shapes.placeholders[1].text_frame.add_paragraph()p.text=dataelse:print("Encountered some data :",data)defclose(self):self.prs.save("sample.pptx")defmd2pptx(md_txt):md=Markdown()parser=MyHTMLParser()parser.feed(md.convert(md_txt))parser.close()sample_md='''my sample slide===============title of a Content slide------------------------### this paragraph### that paragraph### the other paragraphanother title of a Content slide------------------------### this paragraph### that paragraph### the other paragraph'''if__name__=='__main__':md2pptx(sample_md)