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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

38e000d Β· May 31, 2023

History

64 Commits
Jan 5, 2023
Mar 30, 2021
Jan 5, 2023
Jan 5, 2023
Jan 2, 2023
Mar 17, 2021
Dec 26, 2022
Jan 5, 2023
Mar 13, 2021
May 31, 2023
May 31, 2023
May 31, 2023

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.3.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