Skip to content

πŸ“¦ A themable markdown editor component for your SwiftUI apps.

License

Notifications You must be signed in to change notification settings

qeude/SwiftDown

Repository files navigation

SwiftDown

codecov

πŸ“– Description

A markdown editor component for your SwiftUI apps.

  • πŸŽ‰ Live preview directly in editor for most of Markdown elements, without web based preview.
  • ⚑️ Fast, built on top of cmark.
  • πŸ—’ Pure markdown, no proprietary format.
  • πŸ’»:πŸ“± macOS and iOS support.

πŸ› οΈ Install

πŸ“¦ Swift Package Manager

Either use Xcode to add the package dependency or add the following dependency to your Package.swift:

.package(url: "https://github.com/qeude/SwiftDown.git", from: "0.4.1),

πŸ”§ Usage

import SwiftDown
import SwiftUI

struct ContentView: View {
    @State private var text: String = ""

    var body: some View {
        SwiftDownEditor(text: $text)
            .insetsSize(40)
            .theme(Theme.BuiltIn.defaultDark.theme())
    }
}

πŸ–ŒοΈ Themes

πŸ–Ό BuildIn themes

Default Dark

Default Light

πŸ§‘β€πŸŽ¨ Custom themes

SwiftDown supports theming by using config .json files as this one Then init your custom theme as below.

Theme(themePath: Bundle.main.path(forResource: "my-custom-theme", ofType: "json"))

πŸ‘¨πŸ»β€πŸ’» Author