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
File details
Details for the file prosemirror-py-converter-0.2.tar.gz
.
File metadata
- Download URL: prosemirror-py-converter-0.2.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | de6962591f9a88d478200c96aa9ad07ae7cbfadf8d32196290884d6aedd74aa1 |
|
MD5 | 29fd97a05a346ff78ff5ebfcb117b525 |
|
BLAKE2b-256 | 2e0a926cc6295f1b7e3dd1a8cbc8828401000868bce223d5354ab08d59cb87dd |
File details
Details for the file prosemirror_py_converter-0.2-py3-none-any.whl
.
File metadata
- Download URL: prosemirror_py_converter-0.2-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c630f14e456d77c101bf61ea745716b3b844aed1eeec87208c058fa1edaed48 |
|
MD5 | ee8d8360df6ca78d6fda2ad279acaa2f |
|
BLAKE2b-256 | 61c45df6f2b63ccb5a01cf2056686b66dd99d0338a9834ccfd993f6f4763a218 |