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

3a988bf Β· Feb 19, 2024

History

75 Commits
Nov 30, 2023
Mar 30, 2021
Feb 19, 2024
Dec 30, 2023
Jan 2, 2023
Mar 17, 2021
Dec 26, 2022
Nov 30, 2023
Mar 13, 2021
Nov 30, 2023
Nov 30, 2023
Feb 19, 2024

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