A native Swift implementation for parsing and rendering ProseMirror schema documents using SwiftUI.
Features
📝 Parse ProseMirror schema into type-safe Swift models
🎨 Render documents directly with SwiftUI (proof-of-concept)
Install swift-prosemirror with Swift Package Manager
dependencies: [
.package(name: "ProseMirror", url: "https://github.com/lambdadigamma/swift-prosemirror", .upToNextMajor(from: "0.0.7")),
...
]Parsing ProseMirror schema with the build-in parser to retrieve a type-safe parsed document:
import ProseMirror
let proseMirrorInput = "..."
let parser = Parser()
let document = try parser.parse(proseMirrorInput)You can render a document to a SwiftUI View using:
document.render()- Text
- Hard Break
- Paragraph
- Links
- Headline (Level 1 to 3)
- Blockquote
- Unordered List (disk and dash)
- Support all default mark types
- Support links with actions
- Implement ability to customize styling
- Make it easily extendable
- Headlines in ordered and unordered lists
Please see CHANGELOG.md for more information what has changed recently.
Contributions are always welcome!
swift-prosemirror is available under the MIT license. See the LICENSE.md file for more info.