From 4c3522f3179705a3046bbd6af4c9a5a2ebe82161 Mon Sep 17 00:00:00 2001 From: Alex Mazanov Date: Wed, 22 Dec 2021 18:54:38 -0500 Subject: [PATCH] Markdown processing should be optional #253 --- README.md | 1 + SwiftBar/MenuBar/MenuBarItem.swift | 2 +- SwiftBar/MenuBar/MenuLineParameters.swift | 4 ++++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index aafb923..6ad1f2e 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,7 @@ echo "Line 1 \\n Line2 | size=8" | `sfcolor` | CSS color or HEX, `light_color,dark_color` | Sets SF Symbol color. If only one color is provided, it is used for both light and dark appearance. If you fame multiple SF Symbols you can provide different colors by adding index, like this `sfcolor2` | | `font` | macOS font name | Sets font name to use in item text | | `size` | Number | Sets item text size | +| `md` | True | Enables markdown support in menu title for `**bold**` and `*italic*` | | `sfsize` | Number | Sets size for SF Symbol image embedded in text| | `length`| Number | Trims item text to a provided number of characters. The full title will be displayed in a tooltip. | | `trim` | True | Trims whitespace characters | diff --git a/SwiftBar/MenuBar/MenuBarItem.swift b/SwiftBar/MenuBar/MenuBarItem.swift index acf743c..f8c2daa 100644 --- a/SwiftBar/MenuBar/MenuBarItem.swift +++ b/SwiftBar/MenuBar/MenuBarItem.swift @@ -539,7 +539,7 @@ extension MenubarItem { style.alignment = .left var attributedTitle = NSMutableAttributedString(string: title) - if #available(macOS 12, *), let parsedMD = try? NSAttributedString(markdown: title) { + if #available(macOS 12, *), params.md, let parsedMD = try? NSAttributedString(markdown: title) { attributedTitle = NSMutableAttributedString(attributedString: parsedMD) } diff --git a/SwiftBar/MenuBar/MenuLineParameters.swift b/SwiftBar/MenuBar/MenuLineParameters.swift index 9412431..80d4ae9 100644 --- a/SwiftBar/MenuBar/MenuLineParameters.swift +++ b/SwiftBar/MenuBar/MenuLineParameters.swift @@ -102,6 +102,10 @@ struct MenuLineParameters { params["font"] } + var md: Bool { + params["md"] == "true" + } + var size: CGFloat? { guard let sizeStr = params["size"], let pSize = Int(sizeStr) else { return nil } return CGFloat(pSize)