Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/qeude/SwiftDown
📦 A themable markdown editor component for your SwiftUI apps.
https://github.com/qeude/SwiftDown
markdown spm swift swift-package-manager swiftui
Last synced: 10 days ago
JSON representation
📦 A themable markdown editor component for your SwiftUI apps.
- Host: GitHub
- URL: https://github.com/qeude/SwiftDown
- Owner: qeude
- License: mit
- Created: 2021-02-08T20:55:33.000Z (almost 4 years ago)
- Default Branch: develop
- Last Pushed: 2024-02-19T08:40:44.000Z (9 months ago)
- Last Synced: 2024-08-01T19:59:27.234Z (3 months ago)
- Topics: markdown, spm, swift, swift-package-manager, swiftui
- Language: Swift
- Homepage:
- Size: 1.5 MB
- Stars: 431
- Watchers: 5
- Forks: 52
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-swiftui-libraries - SwiftDown - A themable markdown editor component for your SwiftUI apps. (Markdown / Content)
README
# SwiftDown
[![codecov](https://codecov.io/gh/qeude/SwiftDown/branch/main/graph/badge.svg?token=RB6K3Q5QIO)](https://codecov.io/gh/qeude/SwiftDown)
## 📖 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](https://github.com/commonmark/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
```swift
import SwiftDown
import SwiftUIstruct 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](./Sources/SwiftDown/Resources/Themes/default-dark.json)
Then init your custom theme as below.```swift
Theme(themePath: Bundle.main.path(forResource: "my-custom-theme", ofType: "json"))
```## 👨🏻💻 Author
- Quentin Eude
- [Github](https://github.com/qeude)
- [LinkedIn](https://www.linkedin.com/in/quentineude/)