Python simple implementation of converting ProseMirror doc to markdown
Project description
prosemirror-py-converter
Python simple implementation of converting ProseMirror doc to markdown
Core features
- Based on ProseMirror basic model
- Support custom extension
- ProseMirror document converter: Json to Markdown in ProseMirror format
- Mainly used for data analysis and display after spider ProseMirror documents.
Quick start
- Install prosemirror-py-converter
pip3 install prosemirror-py-converter
- Convert ProseMirror document to Markdown
from pmconverter import prose2markdown
doc = {
"type": "doc",
"content": [
{
"type": "heading",
"attrs": {
"level": 3
},
"content": [
{
"type": "text",
"text": "Example heading."
}
]
}
]
}
print(prose2markdown(doc))
- output markdown
### Example heading.
Standard ProseMirror implementation
mark type list
- link
- bold
- strong
- code
- italic
- strike
- subscript
- superscript
- underline
node type list
- doc
- heading
- paragraph
- image
- bullet_list
- ordered_list
- table
- blockquote
- code_block
- hard_break
- horizontal_rule
Custom ProseMirror extension examples
- custom mark converter example
from pmconverter.basic_model import CommonSimpleMark
from pmconverter.model_factory import register_mark_class
class CustomMark(CommonSimpleMark):
def __init__(self):
super().__init__()
self.type = "custom_mark"
self.md_pre_mark = "<u>"
self.md_after_mark = "</u>"
register_mark_class("custom_mark", CustomMark)
- custom node converter example
from pmconverter.basic_model import Node
from pmconverter.model_factory import register_node_class
class CustomeImage(Node):
def __init__(self):
super().__init__()
self.type = "custom_image"
def convert_to_markdown(self, **kwargs) -> str:
name = self.get_attr("name", "")
url = self.get_attr("url", "")
return f"![{name}]({url})"
register_node_class("custom_image", CustomeImage)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for prosemirror-py-converter-0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | de6962591f9a88d478200c96aa9ad07ae7cbfadf8d32196290884d6aedd74aa1 |
|
MD5 | 29fd97a05a346ff78ff5ebfcb117b525 |
|
BLAKE2b-256 | 2e0a926cc6295f1b7e3dd1a8cbc8828401000868bce223d5354ab08d59cb87dd |
Close
Hashes for prosemirror_py_converter-0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c630f14e456d77c101bf61ea745716b3b844aed1eeec87208c058fa1edaed48 |
|
MD5 | ee8d8360df6ca78d6fda2ad279acaa2f |
|
BLAKE2b-256 | 61c45df6f2b63ccb5a01cf2056686b66dd99d0338a9834ccfd993f6f4763a218 |