NornaKit

Docs

Small library. Native foundations.

NornaKit is a pure Swift diagram rendering library for macOS apps. Norna Studio is its companion demo and debugging tool.

Add NornaKit from github.com/dufu1991/nornakit as a Swift Package dependency. The companion app is optional.

Requirements

Render a diagram

Swift
import NornaKit

let renderer = NativeDiagramRenderer()
let diagram = try await renderer.render(
    "flowchart LR\n A[Hello] --> B[NornaKit]"
)

let scene = diagram.scene
let svg = diagram.themedSVG(.appleLight)

SF Symbols inside text

Download the SF Symbols example

Native content inside labels

:sf:cloud.sun.fill@monochrome:
:sf:cloud.sun.fill@hierarchical:
:sf:cloud.sun.fill@multicolor:
:sf:cloud.sun.fill@palette(#2563eb,#f59e0b):

Optional demo and debugging tool

open NornaKit.xcodeproj

swift run NornaStudio

Blocked when opening Norna Studio?

Norna Studio currently has no Developer ID signature or Apple notarization. macOS may report that the developer cannot be verified or the app cannot be opened.

After downloading from this project’s GitHub Releases and verifying that you trust the app, move Norna Studio to Applications. Open Terminal and run:

xattr -dr com.apple.quarantine "/Applications/Norna Studio.app"

Then open Norna Studio again. This command removes the download quarantine attribute from this app. If you installed it elsewhere, replace the path with its actual location. It does not repair an incomplete or damaged download.

Apple’s guidance on opening downloaded apps

Support and current limits

Download the detailed support matrix in Chinese

About the examples

Acknowledgments

Read third-party notices

Back to NornaKit