Spaces:
Sleeping
Sleeping
| def to_md(content): | |
| is_inside_code_block = False | |
| output_spans = [] | |
| for i in range(len(content)): | |
| if content[i]=="\n" and not is_inside_code_block: | |
| if len(output_spans)>0 and output_spans[-1].endswith("```"): | |
| output_spans.append("\n") | |
| else: | |
| output_spans.append("<br>") | |
| elif content[i]=="`": | |
| output_spans.append(content[i]) | |
| if len(output_spans)>=3 and all([output_spans[j]=="`" for j in [-3,-2,-1]]): | |
| is_inside_code_block = not is_inside_code_block | |
| output_spans = output_spans[:-3] | |
| if is_inside_code_block: | |
| if len(output_spans)==0: | |
| output_spans.append("```") | |
| elif output_spans[-1]=="<br>": | |
| output_spans[-1] = "\n" | |
| output_spans.append("```") | |
| elif output_spans[-1].endswith("\n"): | |
| output_spans.append("```") | |
| else: | |
| output_spans.append("\n```") | |
| if i+1<len(content) and content[i+1]!="\n": | |
| output_spans.append("\n") | |
| else: | |
| if output_spans[-1].endswith("\n"): | |
| output_spans.append("```") | |
| else: | |
| output_spans.append("\n```") | |
| if i+1<len(content) and content[i+1]!="\n": | |
| output_spans.append("\n") | |
| else: | |
| output_spans.append(content[i]) | |
| return "".join(output_spans) |