add our more liberal markdown parser to symposion
This commit is contained in:
		
							parent
							
								
									6cf7a62da1
								
							
						
					
					
						commit
						55ec9b745a
					
				
					 1 changed files with 17 additions and 0 deletions
				
			
		
							
								
								
									
										17
									
								
								symposion/markdown_parser.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								symposion/markdown_parser.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,17 @@ | ||||||
|  | import html5lib | ||||||
|  | from html5lib import html5parser, sanitizer | ||||||
|  | 
 | ||||||
|  | import markdown | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def parse(text): | ||||||
|  |      | ||||||
|  |     # First run through the Markdown parser | ||||||
|  |     text = markdown.markdown(text, extensions=["extra"], safe_mode=False) | ||||||
|  |      | ||||||
|  |     # Sanitize using html5lib | ||||||
|  |     bits = [] | ||||||
|  |     parser = html5parser.HTMLParser(tokenizer=sanitizer.HTMLSanitizer) | ||||||
|  |     for token in parser.parseFragment(text).childNodes: | ||||||
|  |         bits.append(token.toxml()) | ||||||
|  |     return "".join(bits) | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Luke Hatcher
						Luke Hatcher