Skip to content

LambdaDigamma/swift-prosemirror

Repository files navigation

ProseMirror

Swift

A ProseMirror schema parser and renderer written in Swift using SwiftUI to render a document

This package ships with a parser which generates type-safe documents that can directly be rendered using the build-in SwiftUI renderer. Rendered documents can also be styled with

Installation

Install swift-prosemirror with Swift Package Manager

dependencies: [
    .package(name: "ProseMirror", url: "https://github.com/lambdadigamma/swift-prosemirror", .upToNextMajor(from: "0.0.1")),
    ...
]

Documentation

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()

Currently Supported Elements

  • Text
  • Hard Break
  • Paragraph
  • Headline (Level 1 to 3)
  • Blockquote
  • Unordered List (disk and dash)
  • CodeBlock

Roadmap

  • Support all default mark types
  • Support links with actions
  • Implement ability to customize styling
  • Make it easily extendable
  • Headlines in ordered and unordered lists

Changelog

Please see CHANGELOG.md for more information what has changed recently.

Contributing

Contributions are always welcome!

License

swift-prosemirror is available under the MIT license. See the LICENSE.md file for more info.

About

Parse and display prosemirror schema with Swift

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages